I’ve been using a standing desk on and off for well over a year now. At the time I started I was thinking about buying a GeekDesk or similar, but decided to try out standing first. The Ikea Standing Desk recipe from Colin Nederkoom worked great.
Fast forward a year. I found that I enjoyed using the standing desk, but it wasn’t all that well suited to switching between sitting and standing because the monitors don’t raise/lower with me (without some distracting manual moves). Ultimately this ended up meaning that I preferred the sitting position that had the two monitors.
Around Christmas 2014 I started looking at adjustable desks again, and was close to buying one. But sometime during the process of deciding what to buy I decided it would be WAY COOLER to make one myself. And if I made it myself I could write software for it. And if I could write software for it then I could make it do ANYTHING I WANT (squat-thrust mode, anyone?).
The basic plan is to:
- Use the desk surface I already have (an Ikea L-shaped desk) and just build a lift for it
- Control it either via Arduino or Raspberry Pi (or both)
- Use 3 Linear Actuators, one each for 3 legs
Before going ahead to buy all the parts, I decided to get one leg working to prove the concept out. After a few misfires (forgot to buy a power supply, wire that was too large – 18 gauge seems to fit the relays I have nicely, but 16 gauge did not) – I got it working!
Firgelli Automations has a blog post that outlines how to connect up 2 SPDT relays to an Arduino to allow it to both extend and retract. In my case I elected to get some RobotGeek relays, and while I was at it got their workbench and Arduino Sensor Shield as well (much neater than wiring everything through a breadboard as I had done previously). The actuator I have is a Firgelli Automations Sleek Rod Tubular Actuator, with a 150lb force and 18″ stroke.
Anyway – step 1 is looking good. Next I plan to try running the Actuator directly from the Raspberry Pi, and make a decision about whether to use a dumb actuator like the one I have, or to go with a feedback actuator.
By the way – the software for the desk (work in progress!) is posted on github: https://github.com/brentonc/RobotDesk