
Remote for Motorized Leg Controller
Designing and reverse-engineering a custom remote controller for motorized desk legs, enabling height adjustment, error monitoring, and memory functions.

Motorized Legs in Action
Description
Electric motorized legs are widely used in standing desks to adjust the height as per user needs.
The system is divided into three main parts:
-
Motorized Legs
- Each leg includes a DC geared motor with encoder for precise motion.
- Each leg includes a DC geared motor with encoder for precise motion.
-
Leg Controller
- Drives the motors inside the legs.
- Synchronizes the movement of multiple legs.
- Provides protection circuits such as overload detection.
-
Leg Controller Remote (Control Panel)
- Controls up/down motion of the legs.
- Displays the current position of the desk.
Objective
The objective of this project was to design a custom leg remote controller that communicates with the existing leg controller.
The system was designed to be flexible and integrate with other products that use motorized legs. For example:
- Integration with touchscreen displays for modern control panels.
- Software-based control from a PC interface.
System
No documentation was provided by the leg vendor, and no technical information was available online about the communication protocol.
To overcome this, we reverse-engineered the original remote controller circuit and decoded the communication protocol using a protocol analyzer.
Key Findings
- The remote communicates with the leg controller via UART protocol.
- Data packets include current leg position and error messages (overload, motor fault, cable fault).
Hardware Components
- Atmega328P Microcontroller
- 16x2 LCD Display
- CP2102 USB-to-TTL Converter
The firmware was written in embedded C language, and the system successfully mimics all the original remote controller functions.
Remote Functions
The custom remote replicates and extends the original functionality:
- Up/Down Control – Move legs upward or downward.
- Memory Function – Store the current desk height in memory.
- Memory Slots – Three programmable memory locations for preset positions.
- Calibration/Reset – Reset or recalibrate legs for synchronized operation.
- Display Output – Shows current desk position and error messages in real time.
Test Device Photos
System Video
Demo of Existing Remote Controller
Want something similar built for you?
Tell us about your application — we’ll help with architecture, PCB, firmware, and production support.