This is an automated archive made by the Lemmit Bot.
The original was posted on /r/homeassistant by /u/TeroFinland on 2026-06-19 17:03:59+00:00.
This sort of escalated. I got myself an IKEA Mittzon motorized standing desk. Two memory positions and up / down buttons, nothing fancy. As usual, started to browse interwebs but found out IKEA uses some almost proprietary OEM (likely) controller with very little information decoded. Then I found this Github repo with everything I needed.
One EPS32-S3 Super mini later the table was controllable from Home Assistant. Good starting point.
Tips at this point:
- Voltage, Ground and RX-pin can all be taken from ROL-controller (the "button-box"), no need to fiddle with anything else
- Good soldering skills needed
Ok. Now it was controllable. Since I had some CYD 2.8" ESP32-2432S028 touchscreens around things quickly escalated, here's the result:
Normal UP/Down-buttons, and both memory buttons. Added height-information since it was available, updates pretty much in real-time when table height is adjusted.
IKEA Mittzon HA-controller with added "set memory position"
One thing the integration was missing was the "set memory position" since the "M1" and "M2" buttons did not have hold, only momentary. So I made two more buttons to ROL-interface so those can then be controlled from controller with long press activating separate button.
In qbus-desk.yaml add these buttons to the end:
- platform: template
name: "Set M1"
icon: mdi:numeric-1-box
on_press:
- output.turn_on: btn_m1_out
- delay: 3200ms
- output.turn_off: btn_m1_out
- platform: template
name: "Set M2"
icon: mdi:numeric-2-box
on_press:
- output.turn_on: btn_m2_out
- delay: 3200ms
- output.turn_off: btn_m2_out
As seen, those keep the GPIO-output active for 3.2 seconds, the desk expects 3+ seconds for setting memory.
Also found a really functional and excellent desk mount for the display in Makerworld to print. Came out really great. Pic also shows a bit of the original controller pushed back, the ESP32-S3 under it and the power from ESP32-S3 to CYD. (Everything is powered from the ROL-controller, no extra power supplies needed.)
IKEA Mittzon HA-controller desk mount
Current functions in the controller:
- Move desk up and down, moves as long as you press button, as original controller, beep when pressed
- Short press on M1 and M2 moves table to set memory positions, beep when pressed, double beep and visual confirmation when reached, as original controller (minus audio)
- Long press on M1 and M2 to store memory positions, beep when pressed, double beep and visual confirmation when reached, as original controller (minus audio)
- Short press on height takes to another touchscreen page with some light controlling
- Long press on height restarts touchscreen ESP32
This was a really fun two evening project, thought to share since there seems not to be too much IKEA Mittzon info out here.