Desky Standing Desk (ESPHome) [Works with Desky, Uplift, Jiecang, Assmann & others]

I’d suggest tweaking the debug part to be more like this.

If you find a wire that looks like it’s sending uart messages you may need to tweak the after: a bit. Or try my other commented out variants.

If you get messages but they are complete rubbish you may need find the gnd and share it with the ESP.

  debug:
    direction: BOTH
    dummy_receiver: true
    after:
      # timeout: 5ms
      # delimiter: "\n"
      delimiter: [0x7E]
    sequence:
      - lambda: |-
          UARTDebug::log_int(direction, bytes, ',');                // Log the message as int. Good for height message checks.
          UARTDebug::log_hex(direction, bytes, ',');                // Log the message in hex. Good for checking against protocol documentation.
          ESP_LOGD("custom", "Bytes size: %d", bytes.size());       // Logs how many bytes in the message, useful for protocol and message identification.

Thanks for the tip.

If I understand it correctly you’re suggesting to put external power on the ESP rather using the one from the bus? I thought that would also work, but could be I misunderstood.
As to finding those pins I’m a complete novice, except for basic knowledge about a multi meter. I found this video, but any other tips are welcome.

You can try powering it either way. I’m no guru at it either. I’ve done both.

From the bus, you should be able to find gnd as when you have your black multimeter lead on it and touch another wire with red lead then you will probably see similar voltage on each of the other wires.

Once you’ve found ground, you might notice that one of the other three wires has slightly higher voltage in reference to the gnd wire. That is probably the power wire.

Then you just have to guess which is rx and tx (and confirm by finding messages).

That vid looks helpful…

Hi, were you able to figure anything out with the mitzzon controller?
I would be interested in any news.

hi @Mahko_Mahko and @GeneralPILK

I’ve been trying to get something out of the Mittzon, but I feel I didn’t get any luck so far.

I did get something when connecting GND to 2 and RX to 6 of the RJ12 @ 9600.

Received input

[22:17:40][D][uart_debug:176]: <<< 0
[22:17:40][D][uart_debug:114]: <<< 00
[22:17:40][D][custom:070]: Bytes size: 1
[22:17:42][D][uart_debug:176]: <<< 0,0,0,0,192,12,161,212,69,160,56,48,64,0,0,116,62,32,1,52,30,32,225,234
[22:17:42][D][uart_debug:114]: <<< 00,00,00,00,C0,0C,A1,D4,45,A0,38,30,40,00,00,74,3E,20,01,34,1E,20,E1,EA
[22:17:42][D][custom:070]: Bytes size: 24
[22:17:44][D][uart_debug:176]: <<< 252,0,1,0,0,128,48,128,4,1,64,0,0,0,0,5,64,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
[22:17:44][D][uart_debug:114]: <<< FC,00,01,00,00,80,30,80,04,01,40,00,00,00,00,05,40,04,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
[22:17:44][D][custom:070]: Bytes size: 41
[22:17:50][D][uart_debug:176]: <<< 0,0,0,0,0,0,0,0,0,0,0,208,0,146
[22:17:50][D][uart_debug:114]: <<< 00,00,00,00,00,00,00,00,00,00,00,D0,00,92
[22:17:50][D][custom:070]: Bytes size: 14
[22:19:25][D][uart_debug:176]: <<< 0
[22:19:25][D][uart_debug:114]: <<< 00
[22:19:25][D][custom:070]: Bytes size: 1
[22:19:25][D][uart_debug:176]: <<< 130,4,224,2,0,0,0,1,0,0,0,0,0,0,1,248,0
[22:19:25][D][uart_debug:114]: <<< 82,04,E0,02,00,00,00,01,00,00,00,00,00,00,01,F8,00
[22:19:25][D][custom:070]: Bytes size: 17
[22:19:29][D][uart_debug:176]: <<< 0,0,0,0,0,0,0,0,0,0,0,64,152,0,128,32,146,174
[22:19:29][D][uart_debug:114]: <<< 00,00,00,00,00,00,00,00,00,00,00,40,98,00,80,20,92,AE
[22:19:29][D][custom:070]: Bytes size: 18

But I think that might just be gibberish. It also doesn’t give me any input when I change height or select a preset.

I also tried the jiecang_desk_controller at GitHub - Rocka84/esphome_components but that also doesn’t allow me to control or read it.

1 Like

Hi,
I also have an Ikea Mittzon desk, and I have analyzed the RJ12 jack with a multimeter.
Pins from the left to the right with the click side up:
Explanation: 1+ means the red/positive cable of the multimeter was connected to the first pin. 1- means the black/negative cable was connected to the first pin.

1 + 2 + 3 + 4 + 5 + 6 +
1 - X 3.05 0 0 3.04 3.28
2 - -2.94 X 0.04 -2,7 0 0
3 - -0.02 0 X -0.02 0 0
4 - 0 2.7 0.03 X 2.8 3
5 - -3.04 0 0.03 -2.75 X 0
6 - -3.28 0 0.02 -2.95 0 X

My assumption:
1 → GND
2 → TX?
3 → Not connected?
4 → RX?
5 → TX?
6 → 3V3

@peetje How did you come to the conclusion that the second pin is GND?

P.S. I am currently waiting to get an RJ45 female-to-female part, so I can analyze the traffic between the controller and the buttons unit. On the RJ45 I have the 5V but unfortunately on different pins as https://www.tindie.com/products/tjhorner/upsy-desky/

1 Like

@edenhaus, mostly because those gave me some data. I counted the pins from right to left initially though, so I meant pins 1 & 5. I might have swapped them around, because I also measure 3.3V between 1- and 5+.

Looks like a decent guess to me.

I think that’s a decent start for some further uart debug inspections.

These are quite handy for this kind of thing too.

Just found this amazing item on AliExpress. Check it out!

AU$11.39 | USB Logic Analyzer 24MHz 8 Channel 24M/seconds Logic Analyzer Debugger For ARM FPGA Logic Analyzer Logic 24M 8CH
https://a.aliexpress.com/_mNQQEyU