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

In the interest of time, we ran one of each brand at 20% duty cycle, even though they are rated for 10%, hoping for quick success. When the Linak desk failed so quickly, we started a second one at 5% duty to rule out things like overheating. That one ran longer, but not much. (I misspoke previously; it got to around 6000 cycles that time.)

The failure was a brake that acts while descending, presumably to prevent the motor from acting as a generator and overloading the electronics. It started making a horrible squealing sound.

1 Like

So i built one of these a little over a year ago, and I noticed that my monitor has to be adjusted to be at eyeline height when i change the desk from sit to stand and viceversa. It seemed dumb to have the desk automated, and having to adjsut the monitor by hand…so… i made this:

i have limit switches for both positions, and i have a HA scene that moves both desk and monitor at the same time. I used this video as a guide to figure out the electronics/mechanics:

Was it overkill and ridiculous? yeah, it was… but it was a fun build.

Oh wow. Next level.

However the theory goes that you shouldn’t need to do that. Your sit and stand positions should both result in right angle arms which means the relative height of the monitor should be the same.

So could possibly be an issue with either your presets or your desk range.

I did a crazy hand cranked desk project during lockdown which ultimately failed because of insufficient range lol.

I did one of those Drzzz projects too… They are great!

yeah, it’s mostly me problem, for some reason i’m more comfortable if my monitor is higher up when i’m standing. It was mostly an excuse to build something i guess…

1 Like

This is the way… :wink:

FYI, the Ikea’s standing desk “uppspel” https://ingka.page.link/uqpNkR4aSgSRwSy37 (in Spain), mounts the Jiecang’s hardware too.
Sorry for the bad angle

1 Like

What is the difference between :
a/ Upsy Desky GitHub - tjhorner/upsy-desky: Make your standing desk smarter ?

b/ and this thread Option #1: ESPHome pass-through dongle solution ?

Basically the same electronics, slightly different configuration and one can be completely built for you (upsy desky, I have one) otherwise the difference will be the pins tjhorner used on his D1 mini v. The ones you choose if you DIY.

But otherwise not a lot.

1 Like

Thank you for the info. I am then not understanding why the compatibility is no different between the two:

a/ Desk Compatibility | Upsy Desky

  • Uplift v2
    • FRM053-2
    • FRM053-3
    • FRM053-4
  • Fully Jarvis
    • FULLYCB2C-A
    • FULLYCB2C-B
    • FULLYCB3-A
    • JCB36N2CA-230
    • JCB35N-110
    • JCB36N2A-110 (see caveats)
  • Miscellaneous
    • JCB36N4CA (Deskhaus Apex Pro)
    • VARI2CA-120 (VariDesk)
    • X-AP2-WFC.F[1-3] (V4.2) / 1308870001 rev A (AMQ Activ)
    • DSK20-2 2nd Generation (Desky.com.au)
    • IKEA UPPSPEL

b/ Desky | Confirmed working
Assmann | Confirmed working
Jarvis | This article indicates they use Jiecang 1
Uplift | Confirmed working.
Omnidesk | Confirmed working
BOHO OFFICE Basic Line
Zen Space | Suggested here 60 (and in this thread)
Deskhaus Grand Rapids (Apex Pro Max) | Confirmed working
BDI Stance 6652 | Confirmed working in this thread
Ergotopia Desktopia Lite | Confirmed working in this thread

I don’t understand the question. They have different code on them so you should not expect them to behave identically.

As they are both approaching the problem in a similar manner, I would have expected more desk controllers to be compatible with one AND the other.

They are similar. Not identical.

I have a handmade esp32 and an upsy desky. Looking at the devices they’re almost identical and the code is very similar. But the way the pins are wired v. How the code is put together matters. If the two are using a compatible board and are wired the same way you could use the code interchangeably. But if they’re wired differently you’ll need to do the research.

2 Likes

I think the upsy desky project has support for different protocols (communication between control panel and controller)

This project supports just one ATM.

That project specifies supported models by controller name, which makes sense. There’s some indication that some of the newer Desky models may use another Jiecang protocol which is not yet supported (there is one case in this thread somewhere).

The list of supported models is probably just as much reflects who has stumbled upon the project and decided to try/test.

As TJ is actively developing and supporting that project the supported model list can grow a bit. Whereas this project doesn’t have as much ongoing cpp developer support.

Each project might attract different people who find both. This one is cheaper and DIY. The other has off the shelf hardware and probably more official support.

There’s also the Phord project.

Probably everyone is having a bit of a look at each others projects and bringing in bits and pieces. I took a few things from the Phord project.

That’s my reflections anyway.

1 Like

You don’t happen to have a new link for the STL do you? The Thingiverse link is dead.

Hmm right. I’ll dig it up shortly.

Just to confirm, you’re planning on building the “advanced control panel” (option two)?

I think you’d prob be the first except for me. So you might need to work through a few bumps.

Edit: Updated link in main post. It’s here.

1 Like

so anyone tried on new desky 2023 smart controller?
it is bluetooth desky app controllable.
(Desky Smart Bluetooth Controller)

Kind of interesting.

But well unless you somehow value using their app, it doesn’t really get you much. I guess it’s a decent off the shelf improvement.

If it uses the rj45 port then it should be using the same protocol between it and the controller.

Will obviously have some other comms going between the phone and built-in bluetooth module.

If the bluetooth module always broadcasts then that could be another way to get the desk height (via ble).

1 Like

Thanks for an awesome project! Confirmed working on a desk bought from Hexaplan. The desk is using a JCB35NS2-230 controller.

Is it a known issue that using ssieb’s example does not actually load the current height on boot? Or have I screwed up the soldering so GPIO14 doesn’t actually work? If I press a button the desk’s own control panel to wake it up the current height shows up on the D1 Mini too.

desky:
  uart_id: desk_uart
  id: standing_desk
  height:
    name: Height
  up:
    number: GPIO4
    inverted: true
  down:
    number: GPIO5
    inverted: true
  request:
    number: GPIO14
    inverted: true
1 Like

It should work. It may be your soldering etc.

Great to hear it’s (almost) working. I’ve added your desk brand to the works with list.

What you could do to test/debug is remove these lines

And add a switch like this and then hit it after boot and see if it triggers height messages.

Also trace through the “wake wire” to make sure that is wired and soldered correctly.

It was embarrasingly easy to fix :see_no_evil: The all-blue cable coming from the controller had come a little bit lose from the RJ45 breakout. Now it works like a charm.

1 Like