this post was submitted on 20 Jun 2026
1 points (100.0% liked)

Home Assistant

277 readers
3 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY...

founded 3 years ago
MODERATORS
 
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:

IKEA Mittzon HA-controller

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.

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here