IKEA BEKANT Desk sit/stand (available in Black, White and various sizes)
M5Stack M5Paper connected to two Relay units and one ToF (VL53L0X, Time-of -light) unit
This is a spin-off of my first project but this time I used M5Stack M5Paper because it has three ports built-in and is thinner on my desk compared to M5Stack Core2 (w/ M5GO Battery Bottom 2 to get the same 3 ports) ;-)
Another benefit? No light emitted during the night because of the e-Ink display.
The previous iteration with M5stack Core2 used a LCD display and I did not implement a screensaver during the night so more eye-catching than this one.
Please check my other article Control sit/stand Desk height with a touch screen for more details how I connected IKEA BEKANT to two relays https://m5stack.hackster.io/projects/b9f524/
Basic control with two buttons
The control provided with IKEA BEKANT sit/stand Desk was extremly basic with just two buttons UP and Down. So I decided to control it with M5Stack gears.
The main challenge with a paper E-Ink display is the refresh rate, so I decided that I don't need to display the current height while the table is going up or down. I just need to refresh part of the screen when I select the target height and refresh the full screen when the target height has been reached!
multi-function button of M5Paper
The multi-function button is used to select the target height. Button up will display 65,75,85,95,105,115 and button down will display 115,105,95,85,75,65 and finaly the middle button will apply the height and start moving up or down the desk and stop at the correct level when the measured height (Time-Of-Flight w/ ST's VL53L0X) matches the target.
Current height and target are equal (no move)
Current Height 75cm, Target 105cm (middle button apply)
105cm (top value is current height)
Under the desk the ToF sensor (ST's VL53L0X)
M5Stack's UIFlow with the code in Blocky
Demo time (video)
IKEA hackers' article and FAQ
P.S. still a cat friendly setup