Introduction: Automatic Sit/Stand Desk
**PLEASE VOTE FOR THIS INSTRUCTABLE!**
My girlfriend recently moved into a new house and needed a desk, as I have SOME experience in making furniture I suggested I make her one for Christmas. So we went to IKEA to check out their designs and get some ideas. We stumbled upon one of their automatic sit/stand desks (I think it was this one). She really liked the idea and asked if I could make something that could do the same thing. The electrical engineer in me said "yeah sure, easy", and that was that.
Wasn't till I started designing it that I though I had made a mistake.....
Despite my first doubts I am very happy with the end product!
So here it is, my take on the automatic sit/stand desk!
Step 1: The Design
The desk is made up of 4 Acacia panels, using 3 different sizes.
The desktop is a single panel measuring 1200x600mm and is attached to the two legs using steel brackets.
The two legs are made from two 1200X405mm panels cut into a 450x405mm and 750x405mm piece. Each 450mm piece is attached to a 750mm piece with two heavy duty 350mm draw slides. These act as guides and allow the legs to extend to a height of about 1100mm.
A support beam is made from a 300x1200mm panel cut to 1130mm. This beam holds the legs together and gives the linear actuator something to push against.
The "lifting power" is provided by a single 1500N, 30cm linear actuator attached to the support beam and the center bottom of the desktop.
The motor of the actuator is controlled by an Arduino nano and a DC motor driver.
Two push buttons control the movement.
Step 2: Required Parts
Laminate Timber Panels (Acacia) - Bunnings warehouse
1x 1200 x 600 x 18mm
1x 1200 x 405 x 18mm
2x 1200 x 300 x 18mm
The initial idea was to take some pine boards and combine them together with dowel and wood glue, but then I found these pre-made Acacia hardwood panels and thought I would save myself the trouble and design the desk to use them (I also really liked the colour and look of the wood).
Steel Brackets - Bunnings warehouse
2x 50 x 50 x 50 x 5mm
8x 50 x 50 x 20 x 5mm
Initially I only bought 8 of the 50 x 50 x 20 x 5mm but got 2 heavy duty ones because the smaller ones seemed to be bending on the desktop.
50 Pack of 20mm wood screws
20mm screws will penetrate about 15mm into the panels.
2 Pairs of 350mm draw slides
Unfortunately I lost all records of exactly what type I bought but they are something like these.
Being the most expensive part of the build I only used one though you can get two for added stability - something I will bring up later.
2x Momentary push buttons
Nothing special needed here, pick something that goes with the look of your desk, I got these.
The flange helps with mounting, I thought aluminium would look good with the wood.
To connect the buttons to the control box.
12V 1A power supply
I managed to scavenge one of these from a box of junk.
I used a four port power board but you can get whatever size suits your needs.
DC motor driver
I used one I had laying around, it's something like this.
Easily found online.
I used my 3D printer 'Big Boi' to create a box to hold the controls, however you can just buy a box if you don't have access to a 3D printer.
240 grit and 400 grit sandpaper
Optional but not optional? If you're really lazy you don't need it, but like a lot of things in life you really should.
Stain can make a cheap piece of timber look a lot better and will bring out the features of the wood.
Varnish is optional but highly recommended as it will improve the look and durability of the desk.
If you intend to use your desk for a computer I recommend you get one of these.
To secure cables inside boxes.
To secure cables outside boxes.
Step 3: Required Tools
The basics of what tools you'll need to create the desk:
Hand drill with various drill bits
For drilling out mounting hole locations etc...
For screwing screws!
To cut the panels to size.
A fine hair paint brush to apply the varnish.
To apply the wood stain.
To make electrical connections.
To strip/cut wires.
Step 4: Cutting the Timber Panels
Using the Acacia Panels we only need to make three cuts, one for the support beam and one for each of the panels used for the legs (you can make this just one cut by stacking the two panels).
I cut all pieces myself using a standard circular saw, though the hardware store you buy them from will usually do it (for a cost). You could also just use a hand saw, if you're patient.
Each of the two 1200x405mm panels need to be cut in two, a 750mm piece and a 450mm piece.
The support beam needs to be cut so it'll fit in-between the legs. I calculated this as initial length minus (4x the thickness of a panel plus 2x the thickness of a draw slide). Making it 1130mm.
Step 5: Making the Legs & Support Beam
We need to use the draw slides to attach the two pieces of the legs to make one long "sliding" leg.
I mounted the rails about 100mm from the edge of the panels, with the width of the slides (about 45.5mm) this puts the center of the slides about 123mm from the edge of the panels.
Lightly draw a line where the center of each of the slides will sit on all of the leg panels. Place the rails on one of the longer leg pieces, with the large side face down. Line the top of the rail with the top of the panel ensuring the end of the slide that extends out, extends over the edge of the panel. When you extend the slide out you'll see that there are a number of mounting holes, chose about 3 and mark their position on the line you drew for the center of the slide.
Do the same with the other long panel, then flip over the draw slide and mark the mounting holes of the small end of the slide on the center line of the small panel pieces.
Once you have marked all of the mounting holes for the draw slides use a small drill bit, about 2mm, to drill a small hole about 5mm deep at each of the mounting points.
DON'T GO ALL THE WAY THROUGH!
We now need to mark out the mounting holes for the brackets that will hold the legs to the support beam and the legs to the tabletop.
I ended up using 3 brackets for each leg to hold the tabletop to the legs because the two small ones I had originally didn't look like they would be enough.
Depending on the brackets you are using you'll need to alter their location on the panels. For the brackets used to mount the legs to the tabletop, mark out their center (same as the slides, about 50mm from the edge and one in the center in my case). Line up the center of the bracket with the center line, and line up the edge of the bracket with the end on a small leg panel (use a scrap piece of wood, or something flat, to ensure the edge of the bracket is square with the edge of the leg piece). After marking the location of the mounting holes drill them out like for the slides.
I attached one bracket to the center of each end of the support beam and one on the bottom edge of each end. Knowing where the beam would attach to the legs you can mark out where the support beam brackets would sit on the long leg panels and drill out the mounting holes.
After all the bracket and slide mounting holes have been drilled out you can start assembling it. Use the 20mm wood screws to attach the slides and brackets to the leg pieces and then combine the two legs together with the support beam.
NOTE for the brackets that attach to the bottom edge of the support beam you can use longer wood screws for added support.
Step 6: Tabletop
Time to mark out the position of the brackets on the underside of the tabletop.
For my table, the legs are attached directly to the center of the tabletop. To calculate the position of brackets on the underside of the tabletop I first calculated the difference between the width of the tabletop and the width of the legs. I divided this number by 2 and added that to the distance I had placed the brackets from the edge of the legs.
I removed one of the brackets from the legs and used it to mark out the position of the mounting holes for the brackets.
Now is also a good time to mark out the mounting holes for the linear actuator. The bracket has two screw hole positions, the middle of these two holes should be lined up with the center of the table.
After drilling out the mounting holes positions, place the tabletop onto the legs and attach the top to the brackets using a single screw (use the outer most mounting hole, we are going to use the actuator to lift the desk to expose the other mounting holes).
Step 7: Linear Actuator
At this point we can attach the linear actuator to the table.The linear actuator comes with 2 mounting brackets. One will attach to the support beam and the other will attach to the center of the tabletop, where we marked out earlier. The actuator attaches to the bracket using a single pin. Attach both brackets to the actuator and screw the top bracket to the underside of the tabletop. Letting the actuator hang underneath the table move it into a position such that the bracket on the bottom of the actuator sits flat against the support beam. Mark out where the mounting holes of the bottom bracket are located on the support beam and a drill out these holes.
You can test the desk at this point using a 12 volt power supply to power the actuator. Internal limit switches will stop the actuator once it has reached it maximum extension (also once it has fully contracted).
If you wish to finish the desk structure at this point, use the actuator to lift the desk to expose the other mounting holes in the brackets and use more screws to finish securing the tabletop to the legs.
Step 8: Disassembly and Sanding
Now that we've got the table fully assembled it's time to take it apart!
Sanding is kinda optional but it gives the table a much better finish and it also gets rid of any burs created during the cutting process.
It is at this point (before sanding) that I cut the hole for the cable duct. Using a 60mm hole cutting bit cut a hole in the back right hand corner of the table top. Cut from the top of the table down as it will give a better finish by leaving less chips in the table.
Take each of the panels and lightly sand all faces with 240 grit sandpaper (wrapping the sandpaper in a block of wood gives you something to hold onto). When sanding ALWAYS remember to sand with the grain and never across it. Take extra time to remove any chips or burs on the edges of the cut panels as well as any pencil marks you made when marking out the mounting hole positions.
Step 9: Staining
Staining the wood is definitely optional but in my case I wanted the desk to be a bit darker so I used a walnut stain on all pieces. Staining the wood will also reveal the intricate patterns of the timber (as well as any scratches you’ve made…..).
I use the off-cut from the support beam to test out the stain I bought and being happy with the results I applied the stain to the desk pieces.
If you decide to stain the timber here are some simple steps.
- Remove all residue from the sanding with a dry cloth.
- Apply the stain with a rag in the direction of the grain, rubbing harder or applying more stain will darken the timber.
- Once you have achieved the desired colour leave the piece to dry for 10 to 15 minutes before touching.
- If you want it darker you can apply additional layers, though only one coat is really needed.
Step 10: Varnishing
Varnishing is also optional but is highly recommended even if you haven't stained the timber as it adds durability and gives the desk a great finish.
I used this oil based, satin, clear varnish and the results were great!
Basic steps for varnishing
- Use a fine hair paint brush to apply the varnish to the wood, making sure you are once again following the grain of the timber.
- Put each piece aside after each coat and wait at least 4 hours before touching.
- After about 12 hours use very fine grit sand paper (400+) to lightly sand each varnished piece.
- After sanding apply another layer of varnish.
- Repeat until each piece has at least 3 coats of varnish (don't forget the ends!).
NOTE if you are varnishing outside be aware of bugs, unlike the stain they seem attracted to the varnish and will get stuck to your lovely timber panels.
Step 11: Electronics Part 1: the Button Box
Wiring up the electronics is pretty straight forward and a wiring diagram is available above.
The electronics are made up of two main parts, the button box and the Arduino controls and power supply.
The Button Box
I used a small aluminium box with a flange to contain the push buttons that will control the desk height. The flange on the bottom of the box aids in mounting the box underneath the tabletop. Unfortunately the inside of the box had a lot of solid parts which you have to drill through. This meant that you can't use the nuts on the buttons to hold them in place so I just ended up super gluing them.
The back of the buttons had a diameter of 12mm so I spaced out two 12mm holes on one side of the box and drilled them out. When drilling out large holes like this (especially in metal) don't start out with a 12mm bit, start with a small one and gradually step up the bit size till you get to 12mm.
To allow for the 4 core cable I drilled out a small 4mm hole in the back of the box.
I wired the buttons up with a 10kohm pull down resistor (though I don't think it's necessary for the Nano). The other side of the button was connected to 5V so the input pin will go high when the button has been pressed.
The 4 core wire carries the two signals from the buttons as well as 5V and GND, a cable tie on the inside of the box helps stop the cable from being ripped out.
With the desk disassembled now is a good time to mark out the mounting holes for the button box. I lined up the front of the box flush with the edge of the desk on the right and marked the locations of the holes and then drilled them out.
Step 12: Electronics Part 2: Arduino Control
If you select the right sort of buttons then you don't really need a micro-controller or motor driver for this desk. The reason I wanted to include one was so that with a double press of one of the buttons the desk would either fully rise or descend. It also opens the door for you to include other features in the desk such as remote control.
Wiring the Arduino and the motor controller (refer to diagram)
The Arduino has two jobs, to read controls from the buttons and relay commands to the motor controller to adjust the desk height. The button inputs go to 2 digital pins on the Arduino (in my case pins 7 and 8), and the three outputs needed for the motor controller go from three digital pins on the Arduino (4,5,6) to the enable pin as well as the 2 inputs needed for motor A on the motor driver.
The Arduino Code
The code is pretty basic, it simply waits till there is a button press and using the "pulse in" function determines whether it was a single press or a double button press (2 presses within one second). On a double press the motor will be turned on in the direction for 50 seconds which is about the amount of time it takes the desk to fully move in one direction. This technique can be a bit glitchy but it wasn't a big enough problem for me to want to change it. Depending on which button was pressed the motor controller drives the actuator motor in forward or reverse. If no button is pressed the motor is disabled.
The motor powering the linear actuator needs 12V at about 0.8A to run, luckily I found an old 12.9V, 1.39A switch mode power supply I had laying around, and decided to use that.
Because the power board I bought to go with the desk only had 4 ports I decided to sneakily open up the power supply and hack two 240V rated wires to the inside of the power board.
DO NOT DO THIS IF YOU ARE UNFAMILIAR OR NOT COMFORTABLE WITH DEALING WITH HIGH VOLTAGE!
Cracking open the case of the power supply was the only way to get in. Inside the case you'll find a pretty self-contained switch mode power module. I removed the existing high voltage wires and replaced them with longer ones. Opening up the power board was a bit more difficult as I didn't want to damage the case and I didn't have the right bit for the security screws. Once the power board was open I drilled a small hole for the wires and soldered them to power rails of the board (it's AC so it doesn't matter which way around you solder them).
3D Printed enclosure
As you can see from the pictures I 3D printed a custom enclosure for the Arduino, motor driver and power supply. I'm not going to talk about how I did this as there are plenty of 3D design tutorials and designing your own box isn't really necessary, I will however include the STL for my box.
Step 13: Putting It All Together
It's now time to put the newly stained and varnished desk back together with all the electronics in place!
I started with reassembling the legs and support beam. It was easiest to do this by laying one of the legs down with the brackets in place and screwing the support beam to this. By propping the support beam up on the brackets of the other leg you can screw the whole leg/support beam structure together.
Before I put the desktop on I mounted the control box and power board. On the back of most power boards (mine had two) are mounting slots. To use these you need to get two small screws (usually included) that fit in the slot and screw them directly into the back of the support beam (spaced the same distance as the slots in the back of the power board). You then "slide" the power board onto these screws to mount it.
To mount the box containing the control electronics I simply used three screws to hold the box to the back of the support beam, next to the power board.
Once that was done you can mount the desktop the same way that was done during the first assembly.
**Summary if you've forgotten**
- Screw one screw for each bracket to the table (outer most hole is easiest)
- Attach linear actuator brackets and then the actuator
- Using actuator lift desk
- Use more screws to finish mounting the desktop
Now we can mount the button box! Using 4 screws attach the box to the mounting holes created earlier. If you wish to implement a bit of cable management to the table, cable clips shown in the pictures are quite good for this type of table.
Comments on the final build
There were only really 2 problems I had with the design, both revolving around the linear actuator.
- Motor noise
- Desk stability
Motor noise is an obvious problem but the desk stability confused me for a bit. Obviously because there is only one point of support in the middle there was going to be a bit of a sea-saw motion but this problem seemed to be amplified by the fact that the actuator tended to flex quite a bit and I'm not sure adding another actuator would completely fix this problem.
The good news is that when loaded with a bit of weight, screen computer etc, the desktop moves less.
Step 14: Important Final Photo Shoot in Location
Overall this project only took a few weeks of work to complete and wasn't really that difficult.
I was really happy with the end result, as was my girlfriend, and will definitely try to come up with some more woodwork/ electronics projects in the future.
Good luck to everyone trying to make their own!