
ERCF easy brd
Tircown/ERCF-easy-brd
More informations on how to reset for flashing:\ https://wiki.seeedstudio.com/Seeeduino-XIAO/#enter-bootloader-mode

Small embeded project for controlling window blinds using ESP32 and stepper motor.
Schematics is an open-source printed circuit board by KristjanPet, from the KristjanPet/Window-Blinds-Controller repository on GitHub, published under the MIT licence. It is a 2-layer board of 57.1 × 58 mm with 25 parts on 60 nets, routed with 151 tracks and 2 vias.
It is built around the TMC2209SILENTSTEPSTICK, 74HC14 and SMBJ15A. Its parts include 8 resistors, 5 capacitors, 4 ICs, 3 connectors and 1 diode. It belongs with the robots and motor control boards and the ESP32 boards of this library.
This folder contains the PCB and electronics design files for the window blinds controller.
The electronics are built around an ESP32-S3 development board, a TMC2209 stepper motor driver, a 12 V to 5 V buck converter, input protection, button/sensor connectors, and dual-inverter Schmitt-trigger input paths.
| Component | Qty | Value / Part | Purpose |
|---|---|---|---|
| ESP32-S3 development board | 1 | ESP32-S3-DEVKITC-1-N16R8V | Main MCU, firmware, Wi-Fi, MQTT, GPIO control |
| Stepper driver | 1 | TMC2209 SilentStepStick | Stepper motor driver with UART configuration and DIAG/StallGuard output |
| Buck converter | 1 | 12 V to 3 V DC-DC buck | Generates 3 V supply from the 12 V input |
| Schmitt trigger | 1 | 74HC14 | Cleans three input signals with two inverter gates per signal |
| TVS diode | 1 | SMBJ15A | 12 V input transient protection |
| Polyfuse | 1 | 2 A | Input overcurrent protection |
| Component type | Qty | Value |
|---|---|---|
| Capacitors | 4 | 100 nF |
| Capacitor | 1 | 470 µF |
| Resistors | 2 | 1 kΩ |
| Resistors | 3 | 10 kΩ |
| Resistors | 3 | 3.3 kΩ |
| Connector | Qty | Purpose |
|---|---|---|
| 2-pin JST-XH | 1 | Power input |
| 4-pin JST-XH | 1 | External wiring / motor-driver related connection |
| 3-pin JST-XH | 1 | External input buttons connection |
| 3-pin JST-XH | 1 | NJK-5002C home sensor connection |
Each external input passes through two gates of the 74HC14. The two inversions cancel, so the ESP32-S3 sees the same logical polarity as the signal entering the first gate. The final gate is a 3.3 V push-pull output, so the firmware keeps the ESP32 internal pull resistors disabled.
| Input | ESP32-S3 pin | Pre-Schmitt idle | Pre-Schmitt active | ESP32 idle | ESP32 active | Activation edge |
|---|---|---|---|---|---|---|
| Up button | GPIO12 | LOW | HIGH | LOW | HIGH | Rising |
| Down button | GPIO13 | LOW | HIGH | LOW | HIGH | Rising |
| Home sensor | GPIO14 | HIGH | LOW | HIGH | LOW | Falling |
The PCB is designed to work with the following external hardware:
| Part | Notes |
|---|---|
| 12 V, 3 A power supply adapter | Main power input for the controller and motor system |
NEMA 17 stepper motor 17HS4401 | Stepper motor used to drive the blinds mechanism |
| GREATZT NJK-5002C Hall effect proximity sensor | Home/reference sensor for calibration |
Before choosing the motor and power supply, the weight and friction of the specific blinds should be checked. Heavier blinds, tight mechanisms, or higher-friction rope systems may require more torque, different gearing, or a stronger motor/driver setup.
The current PCB uses development-board style modules for the ESP32-S3, TMC2209 SilentStepStick, and DC-DC buck converter.
This made the prototype easier to build and debug because those modules were available during development. If space is critical, these modules could be replaced with direct SMD implementations in a future PCB revision.
Possible future optimizations:
This board controls a motorized mechanism. Before installation, verify:
Do not operate the blinds unattended until calibration, stall detection, and fault handling have been tested on the real mechanism.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100nF | Capacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolder | C1, C2, C3, C7 |
| 3 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2, R3, R7 |
| 3 | 3.3k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R5, R6 |
| 2 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R8 |
| 1 | 470uF | Capacitor_THT:C_Radial_D5.0mm_H7.0mm_P2.00mm | C6 |
| 1 | 74HC14 | Package_DIP:DIP-14_W7.62mm_LongPads | U4 |
| 1 | Conn_01x03 | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J3 |
| 1 | Conn_01x04_Socket | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J2 |
| 1 | DC-DC 12V-3V buck | blinds_controller:DC-DC-Buck-converter-12V-5V | U3 |
| 1 | ESP32-S3-DEVKITC-1-N16R8V | PCM_Espressif:ESP32-S3-DevKitC | U1 |
| 1 | Jack-DC | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J1 |
| 1 | Polyfuse 2A | Fuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolder | F1 |
| 1 | SMBJ15A | Diode_SMD:D_SMB | D5 |
| 1 | TMC2209_SILENTSTEPSTICK | blinds_controller:MODULE_TMC2209_SILENTSTEPSTICK | U2 |
| 1 | ~ | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | NJK-5002C1 |
The 23 most common of 25 parts.

Tircown/ERCF-easy-brd
More informations on how to reset for flashing:\ https://wiki.seeedstudio.com/Seeeduino-XIAO/#enter-bootloader-mode


harrislab-brown/DropGen
DropGen uses a fluid reservoir and a piezoelectric buzzer to precisely and repeatably dispense small droplets on demand.
jarekkt/UniController
This is a off-spin from my commercial controller for industrial ink printers. It is designed for pick & place machines controlled by OpenPnp



Angelo13C/3d-printer
Firmware, electronics, mechanics and control interface of a 3D printer

ItsRebaseTime/turbomansion
Hello, welcome to the turbomansion repository.
It measures 57.1 × 58 mm and has 2 copper layers, 1.6 mm thick.
25 parts, built around the TMC2209SILENTSTEPSTICK, 74HC14 and SMBJ15A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the KristjanPet/Window-Blinds-Controller repository on GitHub, at the commit this page was made from: the board is Electronic/schematics.kicad_pcb and its schematic Electronic/schematics.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).