Project Specification — Smart Tee Marker Robot Controller
Project Overview
Status: Draft schematic implementation in progress.
A 2-layer controller PCB for a self-driving tee marker robot. The board integrates a BU01 UWB-ranging module socket, ESP32-WROOM-32 Wi-Fi uplink subsystem, dual DC motor driver, status LEDs, sensor headers, and a single-cell Li-ion charging/boost power system.
Intended Use
Prototype/validation controller for an autonomous tee marker robot powered by a protected 18650 Li-ion cell and charged over USB-C.
What the Device Should Do
- Charge a single-cell Li-ion battery from USB-C.
- Generate independent 5V_MOT and 5V_LOGIC rails sharing GND only.
- Provide 3V3 for ESP32, logic, LEDs, and sensor connectors.
- Host the BU01 UWB module as a pluggable 2-row socket.
- Use ESP32-WROOM-32 for Wi-Fi uplink and USB-UART programming.
- Drive two DC motors with L293D and firmware-compatible 74HC595 direction interface.
- Expose IR and I2C/IMU sensor headers.
- Provide status LEDs and test points for key rails.
Main Features
- USB-C Li-ion charging input.
- USB-C ESP32 programming/bring-up input.
- Battery master switch after charger/battery node.
- Dual MT3608 boost rails: 5V_MOT and 5V_LOGIC.
- AMS1117-3.3 3V3 rail.
- BU01 module socket with UWB antenna keepout.
- ESP32-WROOM-32 module with antenna edge overhang requirement.
- L293D dual H-bridge and two motor connectors.
- Two 74HC595 shift-register subsystems.
- Four M3 mounting holes.
System Architecture
Power source: USB-C charger and 18650 battery feed switched V_BAT. V_BAT feeds two independent boost converters. Logic boost feeds LDO and low-power logic; motor boost feeds H-bridge only through a pi filter.
Hardware Subsystems
- Power/charging: J_CHG, IP2312 charger, J_BAT, master switch, bulk V_BAT capacitance.
- Motor power: MT3608 boost to 5V_MOT plus ferrite/capacitor pi filter.
- Logic power: MT3608 boost to 5V_LOGIC and AMS1117-3.3 to 3V3.
- UWB host: BU01 module socket only; STM32F103/DW1000 remain inside module.
- Wi-Fi: ESP32-WROOM-32 with CH340C/CP2102N programmer and auto-reset.
- Motor control: 74HC595 direction register plus L293D H-bridge.
- UI/status: 8 LEDs driven by 74HC595 and rail indicators.
- Sensors: KY-032 IR header and I2C/IMU header without added I2C pull-ups.
Interfaces and Connections
- USB-C charge input: 5V VBUS, GND, independent 5.1k CC pull-downs.
- USB-C ESP programming: VBUS bring-up path, USB D+/D-, GND, CC pull-downs.
- Battery connector: BAT+, BAT-.
- BU01 socket: V5, V3.3 tap, GND, UART, PWM, shift-register, IR, I2C, IMU_INT nets.
- ESP32: UART0 to USB-UART, UART2 to BU01.
- Motors: J_M1 and J_M2 2-pin outputs.
- Sensors: J_IR and J_I2C.
Power and Runtime Expectations
Battery: one protected 18650 Li-ion cell, 3.0–4.2V operating range, 3.7V nominal. Runtime depends strongly on motor current and Wi-Fi duty cycle.
Power Tree and Power Budget
Preliminary sizing targets before datasheet finalization:
- 5V_MOT: L293D motor supply only. Design for up to ~1.2A continuous / 2A peak if using small DC gearmotors; actual motor stall current must be confirmed.
- 5V_LOGIC: BU01 module, USB-UART/logic, sensors, 3V3 LDO input. Estimate ~700mA peak load allowance.
- 3V3: ESP32 Wi-Fi peaks up to ~500mA, shift registers/LEDs/sensors ~80–120mA depending LED duty.
- V_BAT worst-case boost input current must be calculated at 3.0V: Iin = Pout/(Vin_min*efficiency). With 5V_MOT=2A peak and 5V_LOGIC=0.7A peak at 85% efficiency, battery pulse current can exceed 5A. This requires high-current switch/connector/traces and confirms the 1000uF V_BAT bulk capacitor requirement.
Manufacturing and Assembly Expectations
2-layer, 1.6mm FR4, 1oz copper. Minimum track/clearance 0.20mm, minimum via 0.40/0.80mm. Wider traces for V_BAT, 5V_MOT, and motor outputs. SMD default unless a concrete part only exists through-hole.
Firmware-Relevant Hardware Requirements
- BU01 STM32 pins provide the main robot-control signals.
- ESP32 UART2 links to BU01 on GPIO16/GPIO17.
- ESP32 UART0 is wired to USB-UART for programming.
- EN/BOOT buttons and auto-reset support flashing.
- Motor directions controlled by 74HC595; motor speeds controlled by BU01 PWM pins.
Physical Design Expectations
Target board outline: ~100mm x 80mm. BU01 antenna edge requires 25mm x 15mm no-copper/no-trace keepout. ESP32-WROOM antenna must face outward and overhang board edge. Bottom-layer GND pour with star-tie near J_BAT; motor return must avoid BU01 antenna keepout.
Important Design Decisions
- BU01 is socketed as a module; no discrete STM32F103/DW1000/RF design.
- ESP32 is module-level WROOM-32, not bare RF chip.
- Motor and logic 5V rails are independent boost outputs sharing only GND.
- No extra I2C pull-ups are added because BU01 module pull-ups are assumed present.
Assumptions / Items Requiring Confirmation
- Motor stall current is not specified; power path will be conservatively sized and flagged for confirmation.
- BU01 user photos show the NodeMCU BU-01 carrier uses a 2x18, 2.54mm dual-row header/socket footprint, so J_BU01 has been updated from the earlier 2x12 placeholder to a 2x18 socket.
- BU01 exact silkscreen-label-to-pin-number order still requires confirmation from a measured pinout/photo orientation before manufacturing; current schematic preserves the previous logical net assignment and marks extra pins no-connect.
- IP2312 availability/pinout in the library must be confirmed; otherwise an equivalent charger may need approval.
- MT3608 module/IC footprint availability must be confirmed; external component values follow datasheet application circuit.
Change Notes
- Initial requirements captured from Integrated v0.2 design prompt.
- BU01 socket corrected to 2x18 2.54mm based on user-provided NodeMCU BU-01 photos; exact pin-label order remains a manufacturing checkpoint.