- Last update:

Motorizing an IKEA Skarsta Standing Desk

Tutorial about how I motorized my IKEA Starska standing desk

🕒 6 min read

Category: Miscellaneous

Tags: hacking, standing desk, diy

I got really tired of turning the crank of my IKEA Starska standing desk multiple times a day. Not only this is tedious, but also I can't keep on typing or using my mouse while doing so. And if I'm in a meeting, I look stupid. So I decided to motorize it. I know IKEA already sells an electrical version of it with a motor, but it's 200 euros more expensive and I already had one desk. Plus I like challenges!

After hours of googling and reading various blog posts (see the bottom of this page for links), after days spent waiting for all my orders to arrive, after minutes of tinkering, I finally got a working prototype!

That's far from perfect, I already have ideas about how to improve it, but for now that'll do... Down below is the shopping list for this project and the steps to build it. I hope this helps!

Hardware

DC 12V Gear Motor (37D mm)

A picture of the motor
The motor I bought from Aliexpress

I bought and tried these 2, the 12V 72 RPM edition, that draws 3 amps ("stall current"), and the 12V 136 RPM one. According to the specs of the 72 RPM one, the stall torque is greater than 30 Kg.cm and it works perfectly! I can put weight on the desk (I tried more than 30 Kg) and it still raises the desk up easily! As to the 136 RPM, it works well too, up to 30 Kg, but it gets real close to stalling. Without much weight (a laptop and a monitor), it raises the desk at about 100 rotations per minute.

A table showing the specs of the motor
Specs of the motor

Alternatively, this other motor looks like a viable option too.

Aluminum L-Bracket for 37D Metal Gearmotors

A picture of a pair of L-Brackets for motors
The L-Bracket pair I got (only 1 is necessary for this project though)

We will use this to secure the motor to the desk. I got it from The PiHut.

Power adapter INPUT AC 110-240V / OUTPUT DC 12V 5A

A picture of a power adapter
The adaper I got from Amazon

I got this one from Amazon, works like a charm!

6mm hex key

A picture of an hex key
The 6mm hex key I got

I got this one Obi.de and I had to cut off the bent part of it. This will replace the original crank provided with the desk.

7mm shaft coupler

A picture of a shaft coupler
The 7mm shaft coupler I got

This will connect the motor to the hex key in the desk. Get a 7mm shaft coupler, since the motor comes with a 6mm D-shaped shaft. The hex shaft for the desk is 6mm too, so the shaft coupler must be 1mm larger.

DC motor driver

A picture of a DC motor driver
The DC motor driver I got from Cytron.io

This will control the motor. I went with the MD10-POT from Cytron, that comes with a potentiometer (adjust speed) and switch (2 directions and stop), and that does not require any Arduino nor any code writing.

Careful: this is a regenerative motor driver (as described at the bottom here), meaning that when you stop powering the motor, it keeps spinning a bit before coming to a stop (due to inertia, while it's "braking"), and as a result the current flows back to the power source. As a consequence this driver should be used with a battery, not a switching power supply, because a battery can be charged but with a switching power supply the current has nowhere to go. For this project it is ok though as the desk is heavy and won't allow the motor to keep spinning when the power is cut.

Learn more about controlling a DC motor here.

DC Connector Barrel Plug Adapter 2.5mm x 5.5mm

A picture of a DC connector barrel plug adapter
The one I got

This is used to connect the DC power supply with the motor driver, I got this one from Amazon.

Misc

How to build it

  1. Cut off the bent part of the hex key with a grinder. We need a straight hex key.
  2. Replace the original crank with the hex key, mounted with the shaft coupler.
  3. Position the L-bracket with the motor at the end of the hex key and mark the final position with a pen.
  4. Screw the L-bracket to the desk using a drill (slow speed)

    A picture the L-bracket attached to the desk
    The L-bracket is now attached to the desk

  5. Secure the motor to the L-bracket

    A picture of the motor attached to the L-bracket
    The motor is now attached to the L-bracket

  6. Attach the power supply to the desk with a self-adhesive velcro, or just tape:

    A piece of self-adhesive velcro
    Self-adhesive velcro
    A picture of velcro under the desk
    Velcro stuck to the desk
    A picture showing the power supply wrapped in velcro and attached to the desk
    The power supply wrapped in velcro

  7. Connect the motor to the DC motor driver using wires, and tape the junctions for improved safety

    A picture showing the taped junctions between the motor and the wires
    Put tape around the connections

  8. Connect the power supply to the DC motor driver (pay attention to polarity) using the barrel and wrap it in tape for improved safety

    A picture showing the power supply connected to the DC motor driver using the barel
    The barrel, connecting the DC motor driver and power supply, wrapped in tape

  9. And last, tape everything under the desk, make sure nothing is hanging. I protected some parts (soldered points) of the motor driver board with tape. I placed the switch button near the edge of the desk to reach it easily. A better design would be to put everything in a small plastic box.

    A picture showing the end result
    The end result

A V2 of my project would be...

With a different motor driver, that has "Over Current" and "Under Voltage" protections, such as the MD13S from Cytron. Also with an Arduino and auto-raise feature based on how long it takes to raise/lower it. I don't need to have multiple programmable positions, nor an OLED screen. An auto-raise/lower feature can be tricky, for the following reasons (copy/pasted from https://github.com/cesar-moya/arduino-power-desktop/blob/master/MotorControl/MotorControl.ino):

If you activate auto-raise, and your desk was already at the maximum height, then - depending on your desk - on the IKEA SKARSTA it will hit a stopping point and the MOTORS WILL STALL for the amount of seconds that you recorded. In other words, if you recorded 30 seconds to raise, and your desk is already at the top position (or close), and you still enable auto-raise, you risk damaging your motors as a full power will be sent to them but they will be blocked. When using auto-raise and auto-lower you must ALWAYS be present and watching the desk, ready to cancel the operation if the motors stall for any reason.

And finally, a nicer design, where everything is not taped underneath but put in a plastic box.

Other tutorials