A Wi-Fi motorized roller blind driven by a NEMA-17 stepper on the Valar VAL3000 board (ESP32-C3 + TMC2209). This repo holds both halves of the project — the ESPHome firmware and the 3D-printed hardware (motor bracket, PCB tray/shroud, and the D-shaft tube coupler).
firmware/ ESPHome firmware (fork of Valar Systems' Ropener)
hardware/ FreeCAD generators + exported STEP/3MF/FCStd for the printed parts
ESPHome config for the VAL3000. Travel in tube revolutions, StallGuard
sensorless homing, web UI + optional Home Assistant, sun/fixed daily schedule,
and a position-aware standstill (sag-band IHOLD hold + coil-short passive brake
outside the band) so it holds against gravity without a 24/7 holding load.
Build target: firmware/VAL3000/rollerblind-VAL3000.yml.
See firmware/README.md.
Parametric FreeCAD generators (run headless with freecadcmd) plus their
exported meshes. Each sub-folder's script writes its outputs next to itself.
| Folder | What it is |
|---|---|
roller_blind_nema17_wall_bracket/ |
Wall bracket that holds the motor + a slide-in PCB tray for the VAL3000 and a clip-on louvered motor shroud. create_motor_bracket.py builds bracket, tray, shroud, assembly, and a one-plate print. |
roller_blind_motor_insert/ |
D-shaft insert that couples the NEMA-17 to the blind tube (create_roller_blind_insert.py), with round- and D-bore variants + fit-test prints. |
make_combined_plate.py |
Arranges the insert + bracket on one print plate (roller_blind_insert_and_bracket_plate.3mf). |
Regenerate any part with, e.g.:
/Applications/FreeCAD.app/Contents/Resources/bin/freecadcmd \
hardware/roller_blind_nema17_wall_bracket/create_motor_bracket.pyThe firmware is a fork of Valar Systems'
Ropener, which is licensed under the
Open Community License (OCL v1) — non-commercial, share-alike — so it is
distributed under the same terms (see LICENSE). The hardware
CAD is original work by the author; the same OCL terms are applied to the repo
as a whole. OCL permits non-commercial use, copy, modification, and repair, and
requires distributed derivatives to stay under a compatible non-commercial
share-alike license.