Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) TLS_AES_256_GCM_SHA384
All Corporations Are Bastards

TOPdesk – A Foray Into Socialist Furniture

Sun, Nov 17 2024 - 20:52

In our recovery from homelessness, furniture became important again.

Not content with going the easy route, we started putting entirely unreasonable amounts of energy into developing our own designs – not only so we can have long-lived furniture in our home, but also to share it with the world.

We view this as our starting point towards building up a catalog of explicitly socialist open hardware projects to meet basic (and not so basic) needs.

Our first project was the creation of a modular desk system.

As pretty much all our projects are created, or at the very least designed, on a computer and we spend much of our waking time in front of it, it seemed like a good idea to focus our efforts there first.

Design Ideology

Since we're approaching furniture design from a completely different angle than all commercial and even most DIY designers, it's probably worthwhile to lay it out explicitly.

Sustainability and ease of production are front and center.

All furniture we design is intended to be taken apart and re-assembled. This means no glued connections, but also nothing screwed into wood as that creates a lot of material fatigue, greatly shortening any pieces' longevity.

As for ease of production, we're trying to enable reproduction with minimal tooling, keeping the number of cuts that aren't at a clean, easy 90° to an absolute minimum and having as many parts as possible be simple rectangles.

For anything that's not just wood, we're limiting ourselves to widely available components.

Designing is done as code in OpenSCAD in order to make things parameterizable and extensible.

Basic Concept

While we didn't want anything too fancy, we wanted some basic niceties.

Mostly, this boils down to modularity and integrated cable management.

Modularity not only in the sense of being able to build multiple desks and have them extend each other, but also through adding a mounting grid for underslung modules to add things like drawers.

What We Designed

We set out to work and put a considerable amount of time into the design, then refactored the code and color-coded the rendered output.

The result looks like this:

First iteration of TOPdesk after a bit of refactoring
First iteration of TOPdesk after a bit of refactoring

Blue is usable surface, green is cable management and orange is used for structural parts. The pink rods are just there to show where the holes making up the mounting grid for modules are.

This design contains two different desk designs, both of which have parameterizable sizes.

The first (shown on the left) is the central piece, with a triangular support in the middle to enable it being wider while not sagging under the weight.

On the right is a side module, less wide and without the support in the middle, but with its cable management tray ligning up with that of the central piece.

You can also see a simple example module and the rail its hanging from under the left desk.

The code to generate the most basic geometry for these modules, as well as a fitting set of rails, also has a parameterizable size, tho this one is not arbitrary (i.e. in mm), but rather accepts a size in grid increments. That way, we can guarantee that every generated module fits the mounting grid.

A bunch of procedurally generated, differently sized modules with mounting rails
A bunch of procedurally generated, differently sized modules with mounting rails

What We Actually Built

You might already have spotted it, but the design we showed earlier has some problems. The biggest one is that the single board desk surface doesn't actually allow a mounting grid. Or, well, it does – but we'd have a bunch of holes in our desk surface. Even worse, as soon as we actually mount anything, we'd have a bunch of screwheads sticking out of the surface.

We also dropped plans for us personally to build a side desk at all, because the overall room planning became much clearer and it incorporated a loft bed to make space, with the desk supposed to be placed below. So, to fit, the plans for our own setup scaled back to a single desk that was also reduced to 140cm in width.

After trying to prototype a proper design allowing for the mounting grid within the existing design for a bit, we realized that this was the wrong way to go about it and the project was stuck in a bit of planning hell until we started prototyping from scratch in a different file, aptly named fiddling.scad.

What we came up with is this:

Prototype design for the actual structure
Prototype design for the actual structure

The big red rectangle is a placeholder for the triangular support. It hasn't been properly shaped as this file was supposed to just exist to create the structural concept. For the same reason, this file also doesn't contain any of the piping used as feet/legs.

You might have spotted that we raised a bit of the stand at the back end. This contains, going from the outside to the inside (on both sides):

  1. Small storage compartments
  2. Standard 10" racks of 2 units height, continuing for another 4 units below the desk surface, giving us a total of 12U rackspace
  3. One big opening in the center that allows for a VESA monitor mount and all the cables you could possibly need to feed into the cable management tray

Let's space out the different layers of the sandwich we created for the combined desk surface and mounting grid, so we can actually see its structure:

The desk sandwich opened up
The desk sandwich opened up

Here, the different colors are just there to make separate parts easier to spot.

From top to bottom, we have:

  1. The main desk surface
  2. A spacing layer that creates the needed space for screw heads and also contains a couple of support struts to keep the layer above from sagging.
  3. The mounting plate, i.e. what the mounting grid will be drilled into; This is also what the central support connects to
  4. The structural struts that are held up by the pipe legs which are the primary supports carrying the entire structure

Building The Thing

We ended up building this exact design. We acquired the needed piping, a metal handsaw to shorten some of the piping for the four small feet under the stand at the back and a dremel to cut down on the effort for filing and for other small-ish jobs in the future.

The dremel ended up being a really good investment, as there's cheap-ish add-ons for all sorts of things available. Especially the attachment turning it into a tiny router is super handy.

The involved tools are as follows:

  • a fistful of clamps
  • handsaw for metal
  • handsaw for wood
  • electric screwdriver/drill
  • dremel with router bit and attachment
  • a big-ass ratchet strap

Evaluating Success

We set ourselves some goals, let's see if we achieved them.

  1. No screws: Check!
  2. Carried only by steel pins and gravity: Check!
  3. Almost completely consists of rectangular cuts: Check!
  4. Possible to build with a minimum of tooling: Check!
  5. Easy to build: 😭😭😭

In our brains, we know 4 out of 5 is actually a really good result for our first complex, completely self-designed, woodworking project – but in our hearts, it still feels like a huge letdown given what a complete bitch this thing was to put together.

The desk itself works fine once it's put together and in its designated spot, but moving it is the stuff of nightmares. It took us over an hour to just get it rotated by 90° without it falling apart due to the lack of lateral connections between the legs and feet.

As such, we currently don't consider this project fit for reproduction and won't put more work into integrating the work from fiddling.scad into the overall project files nor into the current iteration of the design overall.

The Path Forward

We do however have plans to redesign large parts eventually; Replacing the steel piping and pins with all-wooden legs and a lock-and-key connection pattern that will offer more support against lateral forces (i.e. making it actually movable). This will mean much more sawing work to create all the needed connections, but will make it much better in its actual handling. And, quite honestly, even with more sawing, being able to put it together by just sticking stuff together and then being able to easily move it is still going to be a huge net improvement.

The redesign is still a ways off (probably mid-2025 or later) as we have another 1.5ish woodworking projects to finish first so we can have the space needed for us to not go crazy during the build.

The plan there is to build a loft-bed and a platform to more than double the available workspace. We already have the plans for those finished and the materials for the bed on-site – more on that particular project soon. :)