A Zigbee motor controller for DC motors: motorized blinds, curtains, gates and small actuators.
It joins your Zigbee network as a window covering, so Home Assistant (ZHA or
Zigbee2MQTT) can open, close and position it like any blind. Two buttons on the board, S1
and S2, let you drive and calibrate it directly, and once it is calibrated it keeps working
from the buttons even without Home Assistant or a Zigbee hub.
| Input voltage | 6-18 V DC |
| Continuous current | up to 25 A |
| Microcontroller | ESP32-C6 (Zigbee 3.0) |
| Motor driver | BTN99x0LV high-current half-bridge |
| Zigbee device | ameriDroid "Zigbee Motor", window covering |
To pair it with a different network later, hold the BOOT button for 3 seconds. The
controller leaves its Zigbee network and reboots, ready to pair again. Calibration is kept.
| Action | Result |
|---|---|
| Tap S1 | Run to the open position |
| Tap S2 | Run to the closed position |
| Hold S1 | Move toward open while held |
| Hold S2 | Move toward closed while held |
| Release after a hold | Stop immediately |
| Double-tap S1 + S2 together | Enter calibration mode |
| Triple-tap S1 + S2 together | Reset calibration (travel time back to default, position 0% = open) |
| Hold BOOT 3 s | Leave the Zigbee network so it can be paired again |
A tap is a press shorter than a quarter of a second. Anything longer counts as a hold.
Calibration teaches the controller how long the motor takes to travel from fully open to fully
closed. Taps (run to open / run to closed) and position control from Home Assistant both need it.
You can also start calibration from Home Assistant with the Run automatic calibration
switch.
| LED | Meaning |
|---|---|
| Soft white or off | Idle, ready for commands |
| Pulsing purple | Calibration mode |
| Blinking blue | Calibration - setting the open position |
| Blinking green | Calibration - setting the closed position |
| 3 flashes (blue or green) | Position confirmed |
| White flash | Calibration saved |
| Fast orange/yellow blinking | Calibration reset, or an error |
Besides the cover itself, the controller exposes these settings on its device page:
| Setting | Range | What it does |
|---|---|---|
| Motor speed | 1-100 % | Motor drive strength |
| Motor timeout | 1-600 s | Longest the motor may run in one move; it stops after this as a safety limit |
| Enable speed ramp | on/off | Start and stop the motor gradually instead of at full power |
| Speed ramp time | 1-10000 ms | How long the ramp takes |
| Let switches exceed endstops | on/off | Allow holding S1/S2 to drive past the calibrated open/closed points |
| Has mechanical endstops | on/off | Tell the controller your mechanism has its own physical stops |
| Run automatic calibration | switch | Start a calibration run |
Questions or problems? Contact us.