Why are desks so expensive?

We live in a small one bedroom loft which means we need to make as much as we can out of our limited space (the main room is split into a dinning room, den, office, and study). In 2006, I wanted a new desk, and as usual had a lot of trouble finding one that I liked and that fit the space and budget I had available. I also had the constraint that the desk could not have drawers. If it did I would instantly fill them with crap and they would never open again.

So when all else failed (and maybe just because) I built my own…


  • MDF 4’x8′ sheet (2)
  • Black counter top laminate (3 sheets)
  • AluminumĀ L brackets (We actually had these laying around. Way too expensive to buy)
  • Gorilla glue
  • Laminate adhesive (Not the eco friendly kind. That stuff does NOT work)


  • Router
  • Circular saw
  • Heavy duty straight edge
  • Clamps
  • Special laminate router bits


I iterated on the design in Google SketchUp until I was happy with it. Part of the challenge was getting the tabletop to fit into a single 4’x8′ sheet. SketchUp is a really amazing tool for this kind of stuff. Part of what makes it so great is that its easy to use and I can create design guides. Then later on when its time to make the parts, I can use the tape measure to get the dimension of any edges.



I traced out all the parts onto the sheets of MDF. To get the thickness that I wanted, I had to double each part and glue them together so this really required two sheets. I used wood glue and some good clamps to bond the MDF panels.


With the basic shapes cut out and glued, I then routed out the groves and cutouts for the aluminum brackets and bolts. The heavy aluminum stock also makes a great straight edge that I used to run the router along:


Here are the routed legs:



With everything routed, I inserted the bolts into the table top so that they were recessed and gorilla glued them into place. This holds surprisingly well.

Finally, I cut and glued the laminate sheets onto the MDF pieces and routed the edges with a special bit that keeps them from chipping.


I also painted the aluminum brackets just in case they might be visible to someone on the floor šŸ™‚


And here is the final product:



Total cost $650. A little over budget, but still $2000 less than some of the other desks I liked. After so many years, the desk still looks like the day I finished it!


REKEA: storage + coffee table makes a better bench

After spending forever looking for the perfect sized bench/storage unit to fit the space next to our Tendo Mokko, we finally gave up and decided to just buy something “cheap” from Ikea. And as luck would have it, we actually found something we liked a lot. Here is how we hacked together some Ikea furniture to create something new that fits the space and has a little style.


Parts Needed:

  • LACK coffee table (white)
  • MALM storage unit (orange)
  • small flat washers (12)
  • 3/4″ wood screws (8)
  • plumbers tape

Tools Needed:

  • electric drill
  • ruler
  • screw driver
  • hand drill (or just a small drill bit and some tape)
  • sharpie

Almost A Perfect Match

The MALM storage unit and LACK coffee table are almost a perfect match. The MALM is 85cm wide, and the space between the legs of the LACK is 84.4cm. So close, but what to do about the 6mm difference? Its just enough that I couldn’t just wedge it in. So here is how I solved the problem…

Widening The LACK Table

I first assembled the LACK coffee table following the ikea instructions.


Then I assembled just the drawer of the MALM storage unit:


This let me measure exactly how much space I needed to create. Each unit will likely be different by some small amount.

My unit was too narrow by 6mm, which isn’t too bad given the tolerances of how the pieces join. To fix this, I took the LACK table apart and widened the mounting holes in the legs so that I could slide them to the end of the table top (normally they are inset by a couple of mm).

IMG_4037 IMG_4034

By adjusting each side just right, the legs can be widened enough so that they don’t stick out from the table top, but still leave enough room for the MALM storage unit.

Reconfiguring The MALM Storage Unit

The MALM storage unit has a lid that normally slides open, but I wanted it to be a pull out drawer, so I put the lid on the bottom and mounted the storage compartment on top. This was generally pretty easy. I mounted the slide rails to the storage lid as per the ikea instructions. And instead of mounting the rails to the top of the base, I mirrored the holes to the bottom of the cabinet.



One adjustment I had to make, was to use flat washers to space the rails off of the wood by a few mm so that the cabinet would slide on the lid.

With the lid now on the bottom, and the cabinet on the top, I had to secure the MALM to the LACK so that they would stay together. I just used some plumbers tape and wood screws to attach the two together.Ā Note: make sure to screw into the edges of the furniture so that you grip into the particle board and not the hollow center.


With the straps in place, I covered them with felt pads so they wouldn’t scratch the floor. Then I turned the whole thing over and was done!


Next step is to make a nice cushion for the top…

Vision 3D Printer – Software Setup

General Information Needed

  • Stepper Motors:
    • Model: sy42sth47-1206a
    • 1.8Ā° per step = 200 steps per rev
  • Stepper Drivers:
    • Pololu
    • 1/16 microstepping
  • X & Y Axis
    • 18 tooth pinion gear
    • MXL belt (2.03mm pitch)
  • Z Axis
    • M6 – 1mm per rotation Ā ???
  • Extruder
    • Pinion: 11 tooth
    • Extruder gear: 45 tooth
    • nozzle: 0.35mm – 0.5mm (read the size)
    • filament: 1.77mm (you need to measure multiple places and rotations, and then take the average)


Reference Material

Configuration Values (steps per mm)

I calculated these values by using Prusa’s calculator above and Richrap’s blog post on extruder calibration:

  • X Axis: 88/90 (calculated/measured)
  • Y Axis: 88/90
  • Z Axis: 3200
  • Extruder: Ā 595/632

Marlin Firmware

I’ve recently switch to the Marlin firmware and so far it seems to be working at least as good as Sprinter. It took a lot more setup to get it going, so hopefully it will be worth the effort. Here is my Configuration.h file.

NOTE:Ā I only have 3 endstops: X_MIN, Y_MIN, Z_MIN. To get Marlin working I had to add jumpers for the X_MAX, Y_MAX, and Z_MAX endstop pins and set the max travel distance in the configuration.h file.

SD Card

If something is wrong, getting the SD card to work can be a little tricky because there is basically no debugging information. Make sure these things are true before you begin:

  • SD Card is formatted FAT 16 (some people say OSX doesn’t format it correctly, so I used my digital camera to do it)
  • SD holder is plugged in properly. The holder has 12 pins, but there are only 8 sticking out of the RAMPS. Make sure the lower 4 holes are hanging over. Look carefully at the RAMPS Wiring guide
  • In Marlin’s Configuration.h file, add/uncomment the line “#define SDSUPPORT”

Using the SD Card:

  • Name your file auto0.g if you want Marlin to automatically print it on boot
  • Alternatively you can “SD Print” from pronterface and unplug the computer once itsĀ started


I added some custom g-code settings to the begin and end sections in slicer. ClickĀ Print Settings ->Ā Custom G-Code

Start G-Code

M92 X90 ; X steps per mm
M92 Y90 ; Y steps per mm
M92 Z3200 ; Z steps per mm
M92 E660 ; Extruder steps per mm
G28 ; home all axes

End G-Code

M104 S0 ; turn off temperature
G1 X120 Y200 F1200 ; center x axis and move bed to front
M84 ; disable motors