PCB With Stepper Driver & Battery Monitoring
Budget: $30 – $250 USD
Hello! Here are my needs for the PCB
1. Core Microcontroller
Use the ESP32-WROOM-32 module either:
Onboard USB-to-serial converter (e.g., CH340C or CP2102) with support for DTR/RTS
Or a header or pogo pads for manual programming access
2. Stepper Motor Driver
The board will control a TMC2209 stepper driver in STEP/DIR/EN mode (UART is not used).
Break out STEP, DIR, and EN pins to appropriate 3.3 V GPIOs on the ESP32.
3. Power Input and Switch
The device is powered by a 12 V Li-ion battery.
Provide a screw terminal or connector for the battery input.
Do not mount the power switch directly on the board. Instead, route the battery's positive line through a 2-pin connector (e.g., JST or screw terminal) to allow connection of an off-board SPST toggle switch.
Similarly, provide a 2-pin connector for an off-board power indicator LED (green, 5 mm) with a 1kΩ resistor in series.
4. Battery Voltage Monitoring
Add a voltage divider from the 12 V battery rail to an ESP32 ADC pin (e.g., GPIO36).
R1 = 10kΩ (high side), R2 = 3.3kΩ (low side)
Add a 100 nF ceramic capacitor at the ADC input to stabilize the reading
5. Battery Status Indicator (Tri-Color RGB LED)
Include a common-cathode RGB LED, with each color driven by an individual GPIO
If possible, route this LED through a 3-pin connector (Red, Green, Blue, GND) so it can also be mounted off-board.
6. Limit Switch (Homing Sensor)
Include a 2-pin connector for an external mechanical limit switch.
One side should connect to GND, and the other to an ESP32 digital input
The switch will be mounted externally to allow physical positioning during device setup.
7. Buzzer
Include a 2-pin connector for a small active 5V buzzer, with one pin routed to an ESP32 GPIO and the other to GND.
1. Core Microcontroller
Use the ESP32-WROOM-32 module either:
Onboard USB-to-serial converter (e.g., CH340C or CP2102) with support for DTR/RTS
Or a header or pogo pads for manual programming access
2. Stepper Motor Driver
The board will control a TMC2209 stepper driver in STEP/DIR/EN mode (UART is not used).
Break out STEP, DIR, and EN pins to appropriate 3.3 V GPIOs on the ESP32.
3. Power Input and Switch
The device is powered by a 12 V Li-ion battery.
Provide a screw terminal or connector for the battery input.
Do not mount the power switch directly on the board. Instead, route the battery's positive line through a 2-pin connector (e.g., JST or screw terminal) to allow connection of an off-board SPST toggle switch.
Similarly, provide a 2-pin connector for an off-board power indicator LED (green, 5 mm) with a 1kΩ resistor in series.
4. Battery Voltage Monitoring
Add a voltage divider from the 12 V battery rail to an ESP32 ADC pin (e.g., GPIO36).
R1 = 10kΩ (high side), R2 = 3.3kΩ (low side)
Add a 100 nF ceramic capacitor at the ADC input to stabilize the reading
5. Battery Status Indicator (Tri-Color RGB LED)
Include a common-cathode RGB LED, with each color driven by an individual GPIO
If possible, route this LED through a 3-pin connector (Red, Green, Blue, GND) so it can also be mounted off-board.
6. Limit Switch (Homing Sensor)
Include a 2-pin connector for an external mechanical limit switch.
One side should connect to GND, and the other to an ESP32 digital input
The switch will be mounted externally to allow physical positioning during device setup.
7. Buzzer
Include a 2-pin connector for a small active 5V buzzer, with one pin routed to an ESP32 GPIO and the other to GND.
Related categories:
Electronics
Microcontroller
PCB Layout
Circuit Design
Embedded Systems
Signal Processing
Prototyping