Recently I picked up a second hand Fully brand sit/stand desk and modified it with a larger table top to replace my old sitting-only desk. Unfortunately it didn’t come with the memory controller, and trying to get it back to the right spot each time I switched between sitting and standing was a pain. Additionally, I wasn’t able to find any memory controllers for sale either direct or on ebay.
In some googling, I did stumble across a repo where someone had reverse engineered the pinout between the desk electronics and the controller, and this interface was the same whether the desk had the ‘dumb’ controller or the memory controller. This was an excellent resource and the starting point I needed to build my own memory controller.
I decided to experiment this time with an OLED display, and using the capacitive touch sensing functions of the ESP32, which closely mimics the factory supplied memory controller’s functionality.
There is some minor serial communications between the desk and the controller to establish that the more capable controller is being used, and for configuring some settings like height or force limits. However, most of the control happens via simple pin pulldowns in various combinations that tell the desk to store a memory, or recall a particular memory position, which made the design of the circuit board quite simple to implement.