I’ll re-check the layout after your R4/J7 move, distinguish PCB airwires from actual schematic one-sided wiring, then evaluate whether BOOT/RESET buttons can be removed in favor of ESP32-S3 native USB auto-download behavior.
Verified RT6/C25, RT4/C23, C14, and related passives are schematic-connected on both sides; the issue was PCB routing/airwires, not one-sided schematic wiring.
Removed optional S1 BOOT and S2 RESET buttons to save BOM/assembly cost.
Kept the important ESP32 support: R4 GPIO0 pull-up, R3 EN pull-up, and C11 EN reset-delay cap.
Cleaned stale routing from your R4/J7 move and re-routed.
Final checked categories are clean: no airwires, dangling traces, copper overlaps, invalid layers, or relevant ERC errors.
Open items:
If we want best serviceability, add tiny labeled test pads for GPIO0/BOOT and EN/RESET later; they are cheaper than buttons and useful for recovery.
Suggested next steps:
Visually inspect the routed PCB.
Add/verify GND pours and antenna keepout.
Run full manufacturing DRC before export.
Update firmware/bring-up docs to note USB flashing without BOOT/RESET buttons.
This project is an ESP32-based shelf device that controls four low-voltage adhesive polyimide film heaters while monitoring local safety temperatures and ambient room temperature. The device is intended to be production-minded from the start: cost-conscious for an approximately $40 retail product, but with deliberate spending on safety, reliability, USB-C user experience, and supply-chain resilience.
Intended Use
Product sits on a bookshelf or similar indoor environment.
Four off-board 5 V / 1 W adhesive polyimide heater strips heat their target items.
Heater target behavior: each 1 W heater may operate at 100% duty while its target remains below 38 °C.
Heating is primarily open-loop because direct measurement of the heated item is impractical.
PCB-mounted temperature sensors provide safety monitoring near the off-board heaters and ambient room temperature sensing.
Device is expected to remain installed and reliable for roughly 5–10 years.
What the Device Should Do
Independently control four heater outputs with PWM or equivalent power modulation.
Allow quick heater installation using green pluggable screw-terminal connectors for bare wires.
Monitor four heater-adjacent safety temperature sensors.
Monitor two ambient temperature sensors placed caddy-corner on the PCB.
Provide USB-C for both power and ESP32 flashing/debug.
Work with both simple/dumb 5 V USB-C adapters and USB-C PD laptop chargers.
Provide a small display, rotary encoder with pushbutton, and front RGB status LED.
Support WiFi and Bluetooth through the ESP32 module.
Survive reasonable user/environmental abuse such as common ESD events and power interruptions.
Main Features
ESP32-based WiFi/Bluetooth controller.
4 low-voltage heater outputs.
6 total PCB-mounted temperature sensors:
4 heater safety sensors in a straight line, approximately 55 mm apart.
2 ambient sensors placed caddy-corner and exposed to isolated ambient airflow paths.
USB-C power + programming connector.
USB-C PD sink behavior plus fallback/default 5 V sink behavior.
I2C display, likely small OLED unless cost/availability pushes a better alternative.
Continuous-turn clicking rotary encoder with pushbutton.
RGB status indicator.
Input protection, ESD protection, current limiting/fusing, and power-rail robustness.
System Architecture
Diagram
Hardware Subsystems
Controller
Preferred direction: ESP32-S3 module with native USB, WiFi, and Bluetooth.
Use a module rather than bare ESP32 silicon to reduce RF design and certification risk.
Preserve required boot/reset strap behavior and provide reliable flashing access over USB-C.
Keep antenna placement/keepout as a first-class layout constraint.
USB-C Power and Programming
Single USB-C port provides power and ESP32 programming/debug.
Must accept default 5 V from non-PD USB-C supplies.
Must negotiate or behave correctly when connected to USB-C PD laptop chargers.
Include USB data-line ESD protection.
Include input current limiting/fuse protection and transient protection appropriate for consumer USB-powered hardware.
Heater Outputs
Four independent 5 V heater channels.
Each heater is nominally 1 W at 5 V, approximately 200 mA.
Use low-side logic-level N-MOSFET switching unless a later reason favors a different topology.
MOSFETs should be conservatively rated so they run comfortably cool at the expected load.
No heatsinking is allowed; all heat dissipation must be acceptable in a passively cooled enclosure with the heaters also adding heat nearby.
Heater connectors should be comfortably rated above expected current and suitable for repeated bare-wire installation.
Temperature Sensing
Four safety sensors are PCB-mounted near the heater exits/locations, approximately 55 mm apart in a straight line.
Two ambient sensors are PCB-mounted caddy-corner, with enclosure airflow tubes exposing them to room air while isolating them from heater-local air.
Prefer stable, reputable, commonly available sensors with good long-term drift characteristics.
Avoid cheap or fragile sensor constructions if they create lifetime drift, adhesive/epoxy degradation, or supply-chain risk.
Address planning is required if digital I2C sensors are used; use an I2C mux or mixed addressing if needed.
User Interface
Small screen on device front; I2C OLED is the initial preferred direction.
Continuous-turn rotary encoder with tactile clicks and integrated pushbutton for menu navigation.
Front RGB LED for at-a-glance system status.
Protection and Robustness
Reasonable ESD protection on USB and externally accessible interfaces.
Power input fuse/current limit and transient protection.
Firmware/hardware fail-safe assumptions should prevent heater runaway where practical.
Consider watchdog behavior, safe boot defaults, and safe state on brownout or reset.
Interfaces and Connections
Table
Interface
Purpose
Notes
USB-C receptacle
Power input and ESP32 flashing/debug
Must support dumb 5 V and PD chargers gracefully
4x heater screw-terminal outputs
Connect 5 V / 1 W heaters
Green pluggable screw terminals preferred
I2C bus
Display and temperature sensors
Address planning required
Rotary encoder pins
User menu navigation
Include pushbutton input
RGB LED outputs
System status
Use current limiting or driver as needed
ESP32 RF antenna
WiFi/Bluetooth
Board-edge antenna keepout required
Power and Runtime Expectations
Primary input: USB-C.
No battery specified.
Heater load: 4 × 1 W = 4 W maximum heater power.
Expected 5 V heater current: 4 W / 5 V = 0.8 A maximum heater load.
Logic/display/sensor current is expected to be much lower than heater current but must be budgeted during part selection.
Practical USB-C target: design for at least 5 V / 1.5 A input capability; 5 V / 2 A or 3 A adapters provide comfortable margin.
PD should improve compatibility with laptop chargers, not require obscure adapters.
Power Tree and Preliminary Power Budget
Diagram
Table
Load
Rail
Estimated Current
Notes
Heater 1
5 V
200 mA
1 W heater
Heater 2
5 V
200 mA
1 W heater
Heater 3
5 V
200 mA
1 W heater
Heater 4
5 V
200 mA
1 W heater
ESP32 module
3.3 V
TBD
WiFi peak current must be accounted for
OLED/display
3.3 V or 5 V
TBD
Depends on selected module
6x temperature sensors
3.3 V
TBD
Depends on selected sensor family
RGB LED
3.3 V or 5 V
TBD
Depends on LED type/current target
Manufacturing and Assembly Expectations
Target product retail price: approximately $40.
PCB and component choices should be affordable for the specification, not premium without reason.
Avoid EOL, niche small-run, leaded, or single-source parts.
Prefer standard packages and parts with reasonable alternates.
Use generic passives where practical.
Include useful test points for power rails, USB, I2C, programming, and heater outputs.
Favor manufacturable footprints and assembly-friendly part choices.
Firmware-Relevant Hardware Requirements
ESP32 native USB flashing/debug via the same USB-C port used for power.
PWM-capable GPIO for each heater channel.
I2C bus for display and temperature sensors.
GPIO inputs for rotary encoder A/B and pushbutton.
GPIO/PWM or serial LED interface for RGB status LED.
Safe heater-off default during boot, reset, firmware update, brownout, and watchdog reset.
Brownout and watchdog behavior should be part of firmware bring-up.
Physical Design Expectations
Enclosure maximum: 130 mm × 200 mm.
PCB target maximum: ≤125 mm × 195 mm.
No heatsinks.
Passively cooled environment only.
Current PCB outline target: 124 mm × 190 mm.
Board coordinate/orientation convention:
Back is the side with the USB-C connector.
Front is opposite the USB-C connector.
Side A is the user-interface side with the OLED and rotary encoder.
Side B is the heater/service side with heater sensors, heater connectors, and heater MOSFETs.
OLED/display placement: centered on the front area of Side A.
Rotary encoder/knob placement: front-right corner area of Side A.
USB-C placement: centered on the back edge.
Four heater safety temperature sensors should be placed in a straight line approximately 55 mm apart.
Heater-side grid target: RT1–RT4 on the long-axis centerline at approximately 55 mm spacing; Q1–Q4 on a parallel line to the right of the corresponding sensors, also at approximately 55 mm spacing.
Heater connectors should be on Side B in two paired groups between adjacent heater-sensor positions, aligned on an axis perpendicular to the heater-sensor line.
Two ambient sensors should be placed caddy-corner with enclosure air-tube access and thermal isolation from heater zones.
USB-C connector should be accessible from the back of the device.
Display, rotary encoder, and RGB LED are expected to be front-facing or front-panel accessible.
ESP32 antenna must remain inside the PCB limits unless the board outline is intentionally shaped to support any antenna/keepout overhang.
Environmental and Thermal Requirements
Required operating environment: approximately 0 °C to 40 °C.
Preferred operating environment: -20 °C to 50 °C if cost impact is reasonable.
Product must run comfortably without heatsinking.
Internal electronics must remain within rated temperature while four 1 W heaters may be active nearby.
Heater control target: heater item remains below 38 °C even at continuous operation.
Thermal design must account for passive enclosure conditions and local heater-induced air/board warming.
Compliance and Future UL Readiness
Design should not claim UL certification now, but should avoid obvious choices that make future UL-style review difficult.
Follow conservative practices for:
Connector current ratings and wire retention.
Fusing/current limiting.
Temperature derating.
Clear labeling of power input and heater outputs.
PCB trace width and copper temperature rise.
Safe default states and fail-safe behavior.
Wireless module choice should consider FCC/CE modular certification paths.
Use RoHS/lead-free components and assembly assumptions.
Important Design Decisions
ESP32-S3 module is the current preferred controller because it provides WiFi, Bluetooth, enough GPIO, and native USB programming.
USB-C should use a PD-capable/friendly sink approach while still accepting default 5 V.
Heater drivers should be simple low-side MOSFET switches unless a later safety or sensing need changes this.
MOSFETs should be intentionally oversized for cool operation and long life, but not expensive beyond what the low current requires.
Temperature sensors should be selected for reliability, availability, and cost balance rather than only the cheapest BOM line item.
Assumptions
Heater strips are externally sourced 5 V / 1 W adhesive polyimide heaters.
The PCB does not need to directly measure the heated target item.
The heater safety sensors are PCB-mounted, not cable-mounted.
No battery, charging, or standalone runtime is required.
Device is indoor consumer/office use, not wet/outdoor use.
The display, encoder, RGB LED, and USB-C connector are expected to align mechanically with the enclosure, but exact front/back panel geometry is not yet defined.
Change Notes
Captured requirement for four heater safety sensors spaced approximately 55 mm apart in a straight line.
Captured requirement for USB-C compatibility with both dumb 5 V sources and USB-C PD laptop chargers.
Captured enclosure and PCB size limits.
Captured cost-conscious $40 retail target and 5–10 year reliability goal.
Captured supply-chain preference against EOL, small-run, leaded, and single-source parts.
Captured future UL-readiness preference.
Captured no-heatsink/passive-cooling requirement and heater target of continuous operation below 38 °C.
Captured front/back and Side A/Side B placement convention, including UI-on-Side-A and heater/service components-on-Side-B constraints.
Project Overview
Intended Use
What the Device Should Do
Main Features
System Architecture
Hardware Subsystems
Controller
USB-C Power and Programming
Heater Outputs
Temperature Sensing
User Interface
Protection and Robustness
Interfaces and Connections
Power and Runtime Expectations
Power Tree and Preliminary Power Budget
Manufacturing and Assembly Expectations
Firmware-Relevant Hardware Requirements
Physical Design Expectations
Environmental and Thermal Requirements
Compliance and Future UL Readiness
Important Design Decisions
Assumptions
Change Notes
Reviews
Documents
Project Specification — ESP32 Heater Controller
Power and Thermal Budget — ESP32 Heater Controller
Firmware Starter — ESP32 Heater Controller
Board Bring-Up Plan — ESP32 Heater Controller
Technical Construction File — ESP32 Heater Controller
Draft Declaration of Conformity — ESP32 Heater Controller
Assets
No assets added.
ESP32 Heater Controller
ESP32-based USB-C powered controller for four 5 V / 1 W heater strips, with PCB-mounted safety and ambient temperature sensing, OLED UI, rotary encoder, RGB status LED, and cost-conscious reliability/protection design.
Properties
Properties describe core aspects of the project.
Pricing & Availability
Distributor
Qty 1
Arrow
$3.78–$6.21
Digi-Key
$7.12
HQonline
$1.85–$2.06
LCSC
$13.56–$13.95
Mouser
$18.83–$19.05
TME
$4.02–$4.14
Verical
$3.01–$8.00
Controls
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.