IKEA Bekant Desk Automater
by hardwareunknown in Circuits > Arduino
1552 Views, 6 Favorites, 0 Comments
IKEA Bekant Desk Automater
Who has time to wait for minutes per day to push a button? Let's automate the motion of an electric IKEA desk with an Arduino Nano!
Supplies
***All screws, washers, nuts, and standoffs are M2***
***All wire is 22awg solid-core***
1x Power jacks
2x MOSFETs
4x Buttons
4x Button caps
4x Standoffs
6x 220 Ohm resistors
1x Power source with a 5.5mm x 2.1mm jack (Any 7-12V wall wart should do since Nanos can tolerate that range. You don't need much current as the circuit is only running logic. I used a 9V, 1A supply... way overkill on the amps, but it's what I had on hand.)
Watch the Video.
Get an overview of the project prior to starting, and have a few laughs with me along the way!
Print the Enclosure.
Print the enclosure parts, cleaning up the holes on the bottom surface of the body so that a washer and screw head sit below flush from the surface (the flat side will be placed flat against the underside of the desk).
Remove and Open the Control Panel.
Unscrew the control panel from your desk.
Open up the control panel case using a dremel, pliers, cutters, and/or a
screwdriver as needed and remove the flexible button PCB. BE CAREFUL NOT TO DAMAGE THE PCB! It is only slightly below the control panel case you'll be cutting. IKEA sent me a spare, but shipping takes a while.
Solder the Boards.
Solder the two boards shown (What I call the "main PCB" in the video is on top, and the "button PCB" is on the bottom; I realize they aren't technically PCBs, I just want to remain consistent with the video's phrasing). Be sure to add headers underneath the pins of the Nano; don't solder the Nano directly to the board (it makes replacement easier later, if necessary).
The main PCB has 24 columns, 18 rows. The button PCB has 28 columns, 6 rows. All resistors are 220 Ohm. You will have to drill out one of the holes to fit the negative lead of the power jack. After drilling, bend it over and solder it to a nearby hole for structural support.
Upload the Code.
Upload the code to the Nano and install it onto the main PCB.
Downloads
Add the Desk PCB Holddown.
Super glue the desk PCB holder to the case body.
Install the Nuts.
Place nuts into the four slots of the case body (this may be difficult as sometimes they fall out, take your time). It helps to slip one nut in place, then hold it there loosely with a screw. Do so with all four nuts BEFORE attaching the button PCB. Then, tilt the case body to one side, remove the screws on the lower side, keeping the nuts in their slots. Loosely attach the button PCB to that side of the case body using 10mm or greater screws, just enough to hold the PCB and nuts. Then repeat for the other side with 6mm screws (the final screw size). Finally, replace the 10mm screws on the first side with 6mm screws and tighten them all.
Add Desk PCB Jumper Wires.
Attach three jumper wires into the header of the desk PCB, according to the wiring diagram and the photo below. The insulated portions of mine were about 75mm long (leave extra to plug into the headers). You'll want some length for maneuvering the main PCB into place later.
Install Desk PCB.
Slip the desk PC under the desk PCB holder, then secure with a 6mm screw and washer through the bottom of the case body, and a nut on top.
Install Standoffs.
Install 20mm standoffs using washers and 8m screws. These will hold the four corners of the main PCB.
Add Button PCB Jumper Wires.
Attach five jumper wires to the main PCB header facing the button PCB and bend them into a U. The insulated portions of mine were about 22mm long (again, leave extra to plug into the headers).
Finish Installing Desk PCB Jumper Wires.
Insert the jumpers from the desk PCB into the remaining main PCB header using the wiring diagram, then attach the main PCB upside down on the standoffs using nuts.
Finish Installing Button PCB Jumper Wires.
Using pliers, carefully insert the five jumpers from the main PCB into the header of the button PCB, referencing the wiring diagram as needed.
Add Enclosure Cover Nuts.
Place nuts into the four slots of the case cover. Make sure to press them to the bottom of the slots, otherwise the screws won't thread into them properly.
Install the Cover.
Place the case cover onto the case body, making sure to slide the grommet of the desk PCB properly into the cutout. Slide the case cover backward over the Nano USB port and the power port, then secure with washers and 16mm screws.
Mount the Desk Automater and Plug It In.
Mount the device underneath your desk using wood screws. I used 16mm. You can use other lengths, just MEASURE BEFOREHAND SO YOU DON'T BREAK THROUGH THE TOP SURFACE... keeping in mind 3D printed plastic will compress as you tighten the screws. I recommend hand-tightening these so you don't split the screw tabs.
Plug the desk PCB cable into the desk and attach the power source to the main PCB power port.
Test the Desk Automater.
Test the buttons again to make sure each one moves the desk as intended. There should be one button that automatically moves the desk up for an extended period once pressed and released (STAND), one that automatically moves the desk down for an extended period once pressed and released (SIT), one that moves it upward as long as you hold it (UP), and one that moves it down as long as you hold it (DOWN)
My chosen configuration from left to right is STAND, SIT, UP, DOWN.
Adjust the Code and Enjoy!
Adjust the code and re-upload as needed to get the button configuration and automated movement length you want. Now go and enjoy your automated desk! Go on, move it up and down a few times... you know you want to.