Treat Flux like your intern. Tell it what you'd like to build and it'll get to work. You can also ask it questions, brainstorm ideas, and teach it your preferences. Learn More
Battery-powered quadruped robot control board for eight MG90S servos, audio, and two relay-switched 5 V LED strips. Status: Review — schematic phase.
Intended Use
Prototype controller powered from a protected 3S LiPo pack. High-current 5 V conversion is provided by externally mounted buck modules connected through explicitly rated board interfaces.
What the Device Should Do
Control eight servos through PCA9685 channels 0–7.
Run application firmware on a Waveshare ESP32-S3-Zero.
Produce mono I²S audio through MAX98357A and an external speaker.
Switch two 5 V LED-strip positive feeds through a 2-channel active-low relay module; return LED grounds directly.
Keep relay outputs off during reset/boot.
Main Features
ESP32-S3 wireless compute; I²C PWM expansion; I²S class-D audio; two relay-controlled LED outputs; test points; separate high-current 5 V power interfaces; common ground.
System Architecture
See Block Diagram project file.
Hardware Subsystems
Input: 3S LiPo, 9.0–12.6 V operating assumption, XT60-class current path, external pack BMS and primary fuse required.
Buck #1 interface: off-board 5 V servo supply, minimum 10 A continuous rating with transient margin.
Buck #2 interface: off-board 5 V logic/LED supply, minimum 5 A pending LED-strip load confirmation.
Compute: Waveshare ESP32-S3-Zero, fed at its 5 V input.
PWM: PCA9685 VCC at 3.3 V; V+ at 5V_SERVO.
Audio: MAX98357A at 5 V, 3.3 V I²S logic.
Relay: external 2-channel active-low relay module interface with reset-safe pull-ups.
Interfaces and Connections
GPIO2=BCLK, GPIO4=LRC, GPIO11=I²S DIN, GPIO7=SDA, GPIO9=SCL, GPIO5=relay IN1, GPIO6=relay IN2. Reserved and unused: GPIO0, GPIO19, GPIO20, GPIO21, GPIO33–GPIO37. Eight servo headers carry GND/5V_SERVO/PWM. Speaker output is differential. LED outputs switch only +5 V via COM/NO; GND is unswitched and common.
Power and Runtime Expectations
No onboard charging. Runtime depends on battery capacity, gait, servo loading, audio, and LED duty cycle. Battery must support at least 15 A transient discharge at low state of charge until measured loads justify reduction.
Power Tree and Power Budget
Conservative preliminary budget:
Table
Rail/load
Continuous design allowance
Peak/stall allowance
8× MG90S at 5 V
4.0 A combined motion allowance
8.0 A simultaneous stall allowance (1 A/servo conservative)
Servo rail margin
—
2.0 A
ESP32-S3-Zero + PCA9685
0.6 A
1.0 A transient allowance
MAX98357A + speaker
0.8 A program-dependent
1.5 A
Relay module coils
0.15 A
0.2 A
Two LED strips
TBD
Interface budget 3.0 A until strip length/type known
Buck #1 requirement: regulated 5 V, ≥10 A continuous, suitable for fast servo transients, with local bulk capacitance. Buck #2 requirement: regulated 5 V, ≥5 A. At 9.0 V battery and 90% efficiency, a simultaneous 50 W servo event alone reflects about 6.2 A into the battery; combined worst-case interface budget approaches 10–12 A. Size battery connector, wiring, fuse, and pack for ≥15 A transient. Exact simultaneous stall is an abuse/fault case; firmware should stagger motion, but hardware must not brown out or overheat under credible peaks.
Manufacturing and Assembly Expectations
Professional SMD logic circuitry; robust pluggable or locking high-current connectors for module rails; clearly labeled polarity; test points on VBAT, 5V_SERVO, 5V_LOGIC_LED, 3V3, GND, SDA, SCL, and relay controls.
Firmware-Relevant Hardware Requirements
Relay lines must initialize HIGH before output enable. PCA9685 output-enable defaults disabled via pull-up and is asserted only after I²C initialization. Firmware must never use reserved GPIOs.
Physical Design Expectations
No PCB layout in this phase. Later placement must segregate servo-current paths from logic/audio, keep common-ground impedance low, and provide connector access.
Important Design Decisions
Off-board buck module interfaces are used because module topology/current ratings were not specified and eight servos make low-current onboard conversion unsafe.
PCA9685 logic VCC and I²C pull-ups use 3.3 V; servo V+ uses 5V_SERVO.
Common GND is mandatory; LED grounds are not relay-switched.
Assumptions
MG90S stall current varies by clone and voltage; 1 A per servo is used until the actual servo datasheet or measurement is supplied. LED type/length is unknown. Relay module accepts 3.3 V active-low inputs and has its own coil drivers/flyback protection. LiPo includes an appropriate BMS/balance-charge workflow external to this board.
Change Notes
Initial schematic-phase specification created from the user brief.