ESP32-S3 Project Design

I started the upgrade plan for the full professional ESP32-S3 handheld design, but execution is currently blocked because the account has no available ACUs, so I can’t run the schematic/layout tools.
Current project state from the previous completed work:
  • Existing schematic has ESP32-S3-WROOM-1-N8R8, USB-C, 3.3 V regulator, BOOT/RESET, and 8 buttons.
  • Existing ERC/passive checks were clean at that stage.
  • Existing files include power budget, firmware starter, bring-up plan, and regulatory notes for the simpler 8-key controller.
Remaining work once ACUs are available:
  • Replace/expand the power system for 3× parallel Li-Ion cells with USB-C charging, power-path management, protection, fuel gauge/current monitoring, and test points.
  • Add audio playback path, amplifier, speaker connector, headphone jack with switching.
  • Add haptic motor driver.
  • Add protected laser output with current limiting and ESP32/button control.
  • Add debug/programming headers, USB ESD/surge/reverse protection, and updated BOM/design notes.
  • Validate the complete schematic, then proceed to PCB layout only after your confirmation.
Add NTC to measure the battery heat
I can add an NTC battery temperature sensor to the design, but I’m currently blocked because the account has no available ACUs, so I can’t modify the schematic right now.
Recommended implementation when ACUs are available:
  • Add a 10 kΩ NTC thermistor mounted near or against the Li-Ion cell pack.
  • Wire it as a voltage divider to an ESP32-S3 ADC pin.
  • Use a precision pull-up or pull-down resistor, typically 10 kΩ, to 3.3 V or GND.
  • Add a small filter capacitor, e.g. 100 nF, on the ADC sense node.
  • Optionally connect the NTC to the charger IC’s TS/TEMP pin as well, if the selected charger supports battery temperature qualification.
  • Add firmware limits to stop charging/discharging or warn the user if the pack is too hot or too cold.
Once ACUs are available, the next schematic update should add the NTC circuit, assign an ADC GPIO, and update the battery monitoring/design notes.
Choose ADC pin
Set NTC values
Check charger TEMP
Save NTC note
J1
U2
U1
SW7
SW6
SW8
SW3
SW2
SW1
SW4
SW10
SW9
SW5
C4
Capacitance
1uF
R3
Resistance
5.1kΩ
C1
Capacitance
1uF
R2
Resistance
5.1kΩ
C3
Capacitance
100nF
C2
Capacitance
10uF
R1
Resistance
10kΩ

Refine this doc
Ask about this doc
Board Bring-Up Plan — ESP32-S3 8-Key Controller
Prerequisites
  • Equipment: multimeter, USB-C cable/current meter, oscilloscope if available, computer with PlatformIO.
  • Firmware: use the firmware-starter project file.
  • Safety: power only from 5 V USB-C VBUS; do not apply external voltage to GPIOs.
1. Visual Inspection
  • Check U1 ESP32-S3-WROOM-1 antenna end has the required no-copper keepout during layout.
  • Inspect J1 USB-C pins for bridges.
  • Verify U2 AP2112K-3.3TRG1, C1-C4, R1-R3, and SW1-SW10 are populated.
2. Power Rail Verification

Table


RailSourceExpectedToleranceMeasure AtCurrent LimitPass Criteria
VBUSJ1 USB-C5.0 VUSB rangeJ1 VBUS / U2 VIN500 mANo short to GND before power; stable after plug-in
3V3U2 AP2112K output3.3 V±3%U2 VOUT / U1 3V3500 mA3.20-3.40 V under idle firmware
ESP_ENR1/C4/SW103.3 V idlelogic highU1 ENn/aHigh after power-up; low only while RESET pressed
3. Critical Signals

Table


SignalNetExpected StateMeasure AtNotes
BOOTBOOTHigh by internal pull-up, low while SW9 pressedU1 IO0Low during reset enters download mode
USB D+USB_D_PUSB FS activity during enumerateU1 IO20 / J1 DP pinsRoute as USB pair with D-
USB D-USB_D_NUSB FS activity during enumerateU1 IO19 / J1 DN pinsRoute as USB pair with D+
KEY1-KEY8KEY1..KEY8High idle, low when corresponding switch pressedU1 GPIO4-11Firmware uses internal pull-ups
4. Programming Test
  1. Connect USB-C to host.
  2. Confirm 3V3 rail is valid.
  3. Build and flash firmware with PlatformIO.
  4. If upload fails, hold BOOT (SW9), tap RESET (SW10), release RESET, then release BOOT.
  5. Open serial monitor at 115200 baud and confirm startup text.
5. Functional Validation

Table


TestInputExpected OutputPass Criteria
USB enumerationPlug USB-C into hostSerial device appearsDevice shows in OS / PlatformIO monitor opens
Reset buttonPress SW10MCU resetsStartup banner prints again
Boot buttonHold SW9 during resetDownload modeFirmware upload succeeds
KeysPress SW1-SW8Serial KEYx PRESSED/RELEASEDCorrect key number for each switch
Pass/Fail Summary

Table


SectionResultNotes
Visual Inspection[ ] Pass / [ ] Fail
Power Rails[ ] Pass / [ ] Fail
Programming[ ] Pass / [ ] Fail
Key Functional Test[ ] Pass / [ ] Fail
Board Status: [ ] Ready for use / [ ] Requires rework
  • Prerequisites

  • 1. Visual Inspection

  • 2. Power Rail Verification

  • 3. Critical Signals

  • 4. Programming Test

  • 5. Functional Validation

  • Pass/Fail Summary

ESP32-S3 8-Key Controller thumbnail
ESP32-S3 USB-C powered controller with eight user key buttons, native USB programming, 3.3V regulation, boot/reset controls, and firmware/bring-up documentation.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$5.24–$7.21

Digi-Key

$9.86

HQonline

$3.13

LCSC

$7.84–$7.89

Mouser

$14.47

TME

$8.25

Verical

$1.98–$10.50

Controls