Power Distribution Schematic Design


Added the optional battery-sense ADC filter capacitor: C12 is a 0.1µF ceramic capacitor from BATTERY_SENSE_GPIO34 to GND, labeled as optional ADC noise filter / C_BATSENSE in its role details. I verified R3 remains 100kΩ, R4 remains 22kΩ, and BATTERY_SENSE_GPIO34 still connects to U1 GPIO34, R3/R4 midpoint, TP5, and C12.
Open item:
  • ERC still shows the pre-existing U1:VP missing-power symbol warning; unrelated to this change.
  • Your account has no available ACUs, so I can’t continue with additional AI-assisted edits right now.
Suggested next steps:
  1. Place C12 physically near U1 GPIO34 / R3-R4 during PCB layout.
  2. Continue PCB placement once ACUs are available.
  3. If desired later, update the cleanup/design-review project file to mention C12 explicitly.
Initial PCB placement is complete, with no overlap or out-of-board placement issues: thermocouple connectors along the top edge, battery/fuse/regulator on the left, fan/servo connectors and drivers on the right, ESP32 centered, and MAX31855 devices grouped near the ESP32. Estimated time saved vs. manual EDA workflow: ~2–4 hours.
Open items:
  • Airwires remain because routing was intentionally not performed.
  • Placement concern: the design spans most of the 160 mm board width, so keep BAT_12V routing wide and thermocouple traces physically separated from fan/servo current paths during routing.
Suggested next steps:
  1. Set high-current trace-width rules for BAT_12V, FAN_GND, and servo power.
  2. Add/confirm GND plane setup on the 4-layer stackup.
  3. Route power first, then sensitive thermocouple/SPI signals.
  4. Run DRC after routing.
Final hardware review is complete and saved as Final Hardware Design Review Before PCB Routing. Highest-priority items before routing are reverse-polarity protection, fuse/current sizing, LM2596 module-vs-IC confirmation, and high-current trace-width rules; no design changes were made.
Add protections and rules
Add reverse protection
Set trace rules
Verify LM2596
Explain fuse sizing

Schematic Cleanup and Design Review
Functional Block Organization
The schematic is organized into the following logical blocks for PCB-layout readiness:
  1. Power input and fuse
    • J1 removable battery connector, F1 input fuse, BAT_IN, fused BAT_12V, and common GND.
    • J1 polarity: pin 1 = BAT+, pin 2 = BAT-/GND.
  2. LM2596 5V regulator
    • U2 LM2596 buck regulator module/stand-in.
    • Input: BAT_12V; output: 5V; return: GND.
    • Bulk/input/output capacitors remain connected to their existing rails.
  3. ESP32 DevKit
    • U1 powered from 5V and provides 3V3 for sensor modules.
    • MCU-related nets use explicit GPIO-based labels.
  4. Five MAX31855 thermocouple channels
    • U3 Dome, U4 Food Probe 1, U5 Food Probe 2, U6 Food Probe 3, U7 Food Probe 4.
    • Shared SPI: SPI_CLK_GPIO18, SPI_DO_GPIO19.
    • Dedicated CS nets: CS_DOME_GPIO5, CS_FOOD1_GPIO14, CS_FOOD2_GPIO27, CS_FOOD3_GPIO26, CS_FOOD4_GPIO25.
    • Thermocouple connectors: J4 DOME_TC, J5 FOOD1_TC, J6 FOOD2_TC, J7 FOOD3_TC, J8 FOOD4_TC; pin 1 = T+, pin 2 = T-.
  5. Blower fan MOSFET driver
    • J3 removable fan connector: pin 1 = BAT_12V/FAN_12V, pin 2 = FAN_GND switched return.
    • Q1 low-side logic-level MOSFET: drain = FAN_GND, source = GND, gate driven via R1.
    • D4 flyback diode: cathode to BAT_12V, anode to FAN_GND.
    • ESP32 GPIO23 drives FAN_PWM_GPIO23 through R1; gate node uses the existing FAN_PWM net with R2 pull-down to GND.
  6. Battery voltage monitor
    • R3 = 100kΩ from BAT_12V to BATTERY_SENSE_GPIO34.
    • R4 = 22kΩ from BATTERY_SENSE_GPIO34 to GND.
    • U1 GPIO34 reads BATTERY_SENSE_GPIO34.
  7. STS3215 smart servo interface
    • J2 removable 3-pin servo connector: pin 1 = BAT_12V/SERVO_12V, pin 2 = GND, pin 3 = SERVO_DATA.
    • Half-duplex TTL bus, no level shifter and no RS485 transceiver.
    • GPIO17/TX2 connects to SERVO_TX_GPIO17, then R5 1kΩ to SERVO_DATA.
    • GPIO16/RX2 connects to SERVO_RX_GPIO16, then R6 1kΩ to SERVO_DATA.
  8. Test points and external connectors
    • TP1 BAT_12V
    • TP2 5V
    • TP3 3V3
    • TP4 GND
    • TP5 BATTERY_SENSE_GPIO34
    • TP6 SERVO_DATA
ESP32 GPIO Pin Map

Table


FunctionESP32 GPIONetConnected To
Thermocouple SPI clockGPIO18SPI_CLK_GPIO18U3-U7 SCK
Thermocouple SPI data outGPIO19SPI_DO_GPIO19U3-U7 SO
Dome thermocouple CSGPIO5CS_DOME_GPIO5U3 CS
Food Probe 1 CSGPIO14CS_FOOD1_GPIO14U4 CS
Food Probe 2 CSGPIO27CS_FOOD2_GPIO27U5 CS
Food Probe 3 CSGPIO26CS_FOOD3_GPIO26U6 CS
Food Probe 4 CSGPIO25CS_FOOD4_GPIO25U7 CS
Blower PWM commandGPIO23FAN_PWM_GPIO23R1 to Q1 gate node
Battery ADC inputGPIO34BATTERY_SENSE_GPIO34R3/R4 divider midpoint
Servo UART TX2GPIO17SERVO_TX_GPIO17R5 to SERVO_DATA
Servo UART RX2GPIO16SERVO_RX_GPIO16R6 to SERVO_DATA
Power Flow
Battery positive enters J1 pin 1 as BAT_IN, passes through F1, and becomes fused BAT_12V. BAT_12V powers the LM2596 input, STS3215 servo connector, blower fan connector, flyback diode cathode, and the battery divider. U2 generates 5V for the ESP32 DevKit. The ESP32 DevKit provides 3V3 for the MAX31855 thermocouple channels. All returns share one GND net.
Thermocouple Connector Labels

Table


ConnectorChannelMAX31855Pin 1Pin 2
J4DOME_TCU3T+T-
J5FOOD1_TCU4T+T-
J6FOOD2_TCU5T+T-
J7FOOD3_TCU6T+T-
J8FOOD4_TCU7T+T-
Fan Driver Operation
The fan is a low-side-switched 12V load. J3 pin 1 is tied to fused BAT_12V; J3 pin 2 returns through Q1 drain on FAN_GND. ESP32 GPIO23 drives the MOSFET gate through R1 = 220Ω, and R2 = 10kΩ pulls the gate off during reset/boot. D4 clamps inductive flyback from FAN_GND back to BAT_12V.
STS3215 Half-Duplex Bus Wiring
The STS3215 connector uses one shared TTL data wire. ESP32 TX2 and RX2 are not routed as separate servo wires; instead, GPIO17/TX2 and GPIO16/RX2 each pass through a 1kΩ resistor and join at SERVO_DATA. This preserves a single-wire bus for STS3215 and future daisy-chained STS servos.
Battery Divider Calculation
Divider ratio = R4 / (R3 + R4) = 22kΩ / (100kΩ + 22kΩ) = 0.1803.
At maximum battery voltage:
V_ADC = 15V × 0.1803 = 2.70V
This remains below the ESP32 3.3V ADC limit. Divider current at 15V is approximately:
I = 15V / 122kΩ = 123µA
This meets the low-current monitoring intent.
Net Label Review
Requested labels present after cleanup:
  • BAT_12V
  • 5V
  • 3V3
  • GND
  • SPI_CLK_GPIO18
  • SPI_DO_GPIO19
  • CS_DOME_GPIO5
  • CS_FOOD1_GPIO14
  • CS_FOOD2_GPIO27
  • CS_FOOD3_GPIO26
  • CS_FOOD4_GPIO25
  • FAN_PWM_GPIO23
  • BATTERY_SENSE_GPIO34
  • SERVO_DATA
  • SERVO_TX_GPIO17
  • SERVO_RX_GPIO16
No-Short Verification
The following requested pairs were checked in the updated netlist and remain separate nets:

Table


PairResult
BAT_12V and 5VSeparate nets; no short found
5V and 3V3Separate nets; no short found
BAT_12V and 3V3Separate nets; no short found
SERVO_DATA and GNDSeparate nets; no short found
FAN_PWM and BAT_12VSeparate nets; no short found
ERC Review Result
Current ERC review after cleanup reports one issue only: U1:VP missing power. This is documented as intentional/unrelated for this design because GPIO34 is used for battery sensing, while the ESP32 DevKit symbol’s VP pin is not used by the circuit.
Layout Readiness Notes
  • Functional connectivity is ready for PCB placement.
  • Keep high-current BAT_12V, fan, and servo paths wider/shorter than logic signals.
  • Place thermocouple connectors near board edge and route T+/T- away from noisy fan/servo switching paths.
  • Place Q1, D4, J3, and related fan bulk capacitance close together.
  • Keep R3/R4 close to U1 GPIO34 or add the optional BATTERY_SENSE_GPIO34 filter capacitor near the ESP32 ADC pin.
  • Functional Block Organization

  • ESP32 GPIO Pin Map

  • Power Flow

  • Thermocouple Connector Labels

  • Fan Driver Operation

  • STS3215 Half-Duplex Bus Wiring

  • Battery Divider Calculation

  • Net Label Review

  • No-Short Verification

  • ERC Review Result

  • Layout Readiness Notes