I created the ESP32-S3 carrier schematic with USB-C 5 V input, protected 5 V/3.3 V rails, ESP32-S3-WROOM-1, BNO085, SHT40 temperature/humidity sensor, GPS UART header, motor-driver carrier header, boot/reset buttons, status LED, and supporting passives; ERC/passive checks were clean, while layout/routing and generic passive MPN selection remain unfinished because no ACUs are currently available.
Open items:
PCB placement/routing not started; DRC airwires are expected.
Exact GPS module, motor driver carrier, motor voltage, and stall current still need confirmation.
Generic resistor/capacitor MPNs need to be assigned before manufacturing.
Motor current-sense protection/scaling should be finalized after choosing the driver carrier.
Project Specification — ESP32-S3 Sensor Motor Carrier
Project Overview
Status: Draft schematic capture.
Design an ESP32-S3 carrier board powered from USB-C 5 V for Wi-Fi/BLE development, BNO085 IMU sensing, a GPS/GNSS module interface, local temperature sensing, and a single brushed DC motor driver carrier interface.
Intended Use
Hobbyist/prototype carrier board for consumer/robotics-style experiments.
USB-C supplies board logic and programming power.
Motor power is treated as a separate external supply unless the motor voltage/current is later specified as USB-safe.
What the Device Should Do
Program and power an ESP32-S3 module over USB-C.
Read a BNO085 orientation IMU over I2C.
Read a digital temperature sensor over I2C.
Communicate with an external GPS module over UART, with PPS and enable/reset support.
Provide PWM/DIR/EN/FAULT/current-sense style interface for a single brushed DC motor driver carrier.
Keep motor disabled during reset/boot by default.
Main Features
ESP32-S3-WROOM-1 Wi-Fi/BLE module with integrated PCB antenna.
USB-C 5 V sink input with CC pull-downs, fuse, and USB data ESD protection.
3.3 V logic rail sized for ESP32 radio bursts plus sensors/GPS.
I2C sensor bus for BNO085 and temperature sensor.
GPS UART header with 3V3, optional 5V, PPS, and control line.
Separate VMOTOR terminal and motor-driver carrier header.
System Architecture
Diagram
Hardware Subsystems
Power: USB-C 5 V input, PTC/current protection, 3.3 V LDO, local bulk/decoupling, separate motor supply input.
Compute/RF: ESP32-S3 module; antenna requires board-edge placement and copper keepout in layout.
Sensors: BNO085 IMU and SHT40 temperature sensor on shared I2C bus with one pull-up pair.
GPS: 8-pin header for common 3.3 V UART GPS modules and breakout boards.
Motor interface: header for external single brushed DC motor driver carrier; board provides control and sense signals, not the high-current H-bridge itself.
Debug/programming: ESP32-S3 native USB, BOOT and RESET buttons.
Motor driver carrier: VMOTOR, GND, 3V3 logic, optional 5V_USB, PWM, DIR, EN/SLEEP, FAULT, current-sense ADC, spare control lines.
Power and Runtime Expectations
Primary board logic source: USB-C 5 V.
No battery charging in this revision.
Motor current is not drawn through the 3.3 V rail.
Low-power firmware can disable GPS/motor control outputs, but USB-powered operation is the default.
Power Tree and Power Budget
Table
Rail
Load
Typical
Peak/Design
3V3
ESP32-S3 module
100–250 mA active
up to 500 mA Wi-Fi burst
3V3
BNO085
<15 mA
15 mA
3V3
SHT40
<1 mA average
<2 mA
3V3
GPS module header allowance
30–50 mA
100 mA
3V3
motor driver logic/header allowance
5–10 mA
25 mA
3V3
indicator LED/pullups
2–8 mA
10 mA
3V3 total
—
~150–330 mA
~650 mA budget
Design decision: use a 1 A-class 3.3 V regulator footprint rather than a small 500–600 mA SOT-23 LDO because ESP32 radio bursts plus GPS margin can exceed small-regulator comfort range.
Manufacturing and Assembly Expectations
Prototype-friendly PCB; mostly SMD plus through-hole headers/terminal block.
Use real library parts where available; generic passives for resistors/capacitors.
Add test points before layout/manufacturing for 5V_USB, 3V3, GND, EN, BOOT, SDA, SCL, GPS UART, PWM, and VMOTOR.
Firmware-Relevant Hardware Requirements
ESP32-S3 native USB serial/JTAG for flashing.
BOOT button on GPIO0 and RESET button on EN/CHIP_PU.
I2C bus for BNO085 and SHT40.
UART for GPS NMEA data; PPS on interrupt-capable GPIO.
PWM/DIR/EN outputs and FAULT/CURRENT_SENSE inputs for motor driver carrier.
Physical Design Expectations
Place ESP32 module at board edge with antenna facing outward and copper keepout under/around antenna.
Place IMU away from motor current paths, regulator heat, USB shield currents, and board edges likely to vibrate.
Place temperature sensor away from ESP32/regulator/motor heat if ambient temperature is desired.
Route motor current separately from sensor and RF regions with a continuous ground plane.
Important Design Decisions
ESP32-S3 module selected instead of bare chip for RF reliability.
BNO085 is implemented as onboard I2C IMU.
SHT40 selected as the temperature sensor; it also provides humidity if firmware uses it.
Motor driver is supported through a carrier header, not implemented as an onboard high-current driver, because motor voltage/current were not specified.
USB does not power the motor by default.
Assumptions
GPS module uses 3.3 V UART logic; 5 V pin is only for GPS breakout boards that accept 5 V power.
Motor driver carrier accepts 3.3 V logic or has its own level shifting.
Motor supply voltage/current will be specified before final layout trace widths and connector current ratings are frozen.
Consumer/prototype use; not a certified product yet.
Change Notes
Initial architecture captured from user request on 2026-07-12.
ESP32-S3 carrier board with USB-C 5V power, BNO085 IMU support, GPS module interface, temperature sensing, and a single brushed DC motor driver carrier interface.
Properties
Properties describe core aspects of the project.
Pricing & Availability
Distributor
Qty 1
Arrow
$3.83–$4.55
Digi-Key
$3.42
HQonline
$0.34–$0.44
LCSC
$21.79–$21.92
Mouser
$19.96
TME
$1.88–$2.16
Verical
$4.77–$6.64
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.