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

Hey,

Thanks for the reply. So, I think the excellent work you’ve done doesn’t apply when there is only a simple up/down switch on the desk.

I’m not that familiar with ESP type devices, but when I have some more time will see if it can be made to simply go up / down. I only really wanted an automated reminder to stand up (and move the desk) anyway.

No presets, no heights, just up and down.

It’s a Jarvis Fully desk, I’m confident your method will work, but I probably need different code.

I think if it is a Jiecang controller box similar to the one linked in my initial posts, then the full solution should work with some adjustment (ie you should be able to get desk height and move to desk height), regardless of the simpler control panel (I think).

I’m happy enough to help you work through some of it when you’re ready, as I’d been keen to see it work with more desk types.

A simpler up/down control only set-up should be pretty easy by just using some gpio switches. But without knowing the desk height, you’d really just have a virtual version of your control panel and limited smarts you could build around that.

I guess I could measure the distance from the desk to the floor, I have a load of ultrasonic distance measures here from an abandoned project!

I’ve wired it up (with just the 4 wires) I need to read more to understand how to get it to talk to HA etc (It’s my first project with ESPHome)

Thanks for your help, I will persevere and see if I can help others with the same set up

1 Like

It is a good first project for ESPHome.

I’ve also tried ultrasonic/ToF approaches but I think you are much better off getting the desk height from the desk as that will unlock a lot of functionality for you.

Not sure this desk has the smarts to know that without the more functional controller? Or are you saying it is available from the controller unit, in which case I might actually need to wire up all the pins and not just the 4 wires from my up/down switch…

The version I got is the lower of the two in this pic:

Yeah if your simple control panel plugs in to a RJ45 port (which has 8 wires), then I suspect that even though your simple control panel doesn’t use them all (it only uses 4 wires), the controller port will still send height data on one of the pins which you can still intercept and use. So yes you might wire up more pins but pass through just the 4.

The port has to have that functionality in case you upgrade your control panel.

That’s what I reckon anyway. No guarantees. If you can send a pic of the ports on the control box that would help.

I reckon you should buy the essential parts for the project. Cheap enough and decent chance of success. 1 x esp and 1 x RJ45 breakout.

I also have the uplift equivalent of this up/down controller. Mine shows the desk height on the display.

1 Like

Has anyone tried this on an IKEA IDASEN / IDÅSEN Desk?

I’m currently trying to figure out the pinout on the RJ45 connector but I can’t find a 5V pin. Some of them show 6,8-7v though.

IKEA Idasen Desk

Linak DL11 lifting column

image

Hi I‘m also looking for some help. My desk seems to be different to the desks that have already been posted here. Therefore I opened a new topic. So if anyone is willing and able to help, I would really appreciate it! Thanks :blush:

1 Like

Linak is a different controller with a different OEM and different protocol.

This thread won’t be of much direct help.

New topic is the way to go for this. I dropped a few comments there and will add a few more later.

1 Like

I can confirm option #1 successfully works w/ my Deskhaus Grand Rapids (Apex Pro Max) desk. Thank you @Mahko_Mahko & @ssieb!

2 Likes

Great to hear! Thanks for reporting that! I’ve added it to the “works with” list.

I just noticed this project. May be of more use to you. Cheers.

1 Like

Hi, thank for linking this. I’ve tried it already but the “Bluetooth workaround” turned out to be pretty unstable. Thats why I’m looking for a wired direct connection. I will move my question over there… :slight_smile:

1 Like

Just wanted to say thank you to Mahko_Mahko for the parts list and wire diagrams and gureyes for the code. Much appreciated! Worked first try with my Uplift desk.

Wife came in while I was soldering and asked what I was doing. I told her about my grand plans to connect my desk to Home Assistant. She just rolled her eyes and walked out. :rofl:

1 Like

No worries, happy to hear. @ssieb is the real brains behind the solution though.

Great to see we’re gathering more users.

I just found this after struggling to get the UART interface working with my Uplift Desk. I had the desk controllers TX pin connected to my D1 Mini’s RX pin and the rx_pin set to GPIO3 in my uart configuration but it would just not work. I didn’t get any data.

Then I noticed your comment about using the TX labeled pin on your D1 mini clone. After I rewired the desks TX pin to my D1’s TX pin and changed the rx_pin setting to GPIO1, it started working! I was about to give up on reading the desk height.

That caught me out for ages! Glad you caught it and got it working…

I am trying to figure out how I can get memory slot 1, 3 and 4 working. Memory Slot 2 is easy, it’s just connecting to purple wire (wire 6) to a GPIO pin and setting it to low. Memory Button 1, 3 and 4 however, seem to be using a combination of multiple wires at a “half-level” (my multimeter gave me a reading of roughly 0.8v).

Memory Slot 4 uses wire 6 + 7 at ~0.8v
Memory Slot 3 uses wire 6 + 8 at ~0.8v
Memory Slot 1 uses wire 7 + 8 at ~0.8v

I tried connecting these wires to the ADC pins on my ESP32 board, but that didn’t work. The voltage levels didn’t drop, which kinda makes sense. Generating 0.8v and connecting that to a 5v line won’t make the voltage on that line go down. I was actually more surprised that this is exactly what happens when connecting the line to the regular binary GPIO pins. I assume that the pin gets grounded when it’s on LOW, causing it to drop the voltage on entire circuit?

How can I get the voltage on the wire 6, 7 and 8 circuits to drop to the required 0.8v levels to emulate pressing the other memory slot buttons? Would a voltage divider that “exposes” 4.2v to the GPIO and leaving 0.8v on the circuit work? When I drop the GPIO pin to LOW it should ground those 4.2v and leave 0.8v on the circuit. But would it leave a full 5v on the circuit when the GPIO pin is on HIGH?

Am I thinking completely wrong about this? I’m very new to ESP and electronics in general. Any advice or hints would be greatly appreciated. I also understand that this might be missing the topic of the thread, but I thought the right people might be reading this.