ESP32-S3 Voice Assistant Design


I’ll open the attached text to see what you shared and determine the next useful step.
I found suitable library parts for the requested ESP32-S3 voice-assistant board and will now create the schematic blocks with named rails/buses.
Implemented the complete ESP32-S3 AI voice assistant schematic: ESP32-S3-WROOM-1-N16R8, USB-C native programming, TP4056 LiPo charging, 3.3 V LDO, OLED I2C, INMP441 mic, MAX98357A speaker amp, W25Q128 SPI flash, microSD SPI, reset/boot buttons, named nets, and support passives. ERC/passive/component checks returned no ERROR/WARNING/UNCERTAIN results.
Open items:
  • OLED library pin is labeled 5V but connected to 3V3; verify your actual 0.96" SSD1306 module supports 3.3 V VCC.
  • This is schematic-only; PCB placement/routing has not been done yet.
Suggested next steps:
  1. Place components and define board outline.
  2. Route USB, power, SPI, I2C, and I2S nets.
  3. Add test points for USB_VBUS, BAT, 3V3, GND, EN, and key buses.
  4. Review the docs: Project Specification, Board Bring-Up Plan, and Firmware Notes.
Layout, tests, review
Start PCB layout
Add test points
Fix OLED power
Check BOM cost

Firmware Notes
MCU
ESP32-S3-WROOM-1-N16R8 with native USB Serial/JTAG on GPIO19/GPIO20.
Proposed Pin Map

Table


FunctionESP32-S3 Pin
USB D-GPIO19
USB D+GPIO20
BOOTGPIO0
I2C SDAGPIO8
I2C SCLGPIO9
SPI SCKGPIO12
SPI MOSIGPIO11
SPI MISOGPIO13
External Flash CSGPIO10
microSD CSGPIO14
I2S BCLKGPIO4
I2S LRCLK/WSGPIO5
I2S Mic SDGPIO6
I2S Amp DINGPIO7
Bring-Up Order
  1. Verify USB serial/JTAG enumeration.
  2. Blink/status log over USB.
  3. Initialize I2C and SSD1306.
  4. Initialize SPI flash and microSD with separate CS lines.
  5. Initialize I2S microphone capture.
  6. Initialize MAX98357A I2S output.
Notes
  • External W25Q128 is intended as asset/storage flash, not the ESP32-S3 boot flash.
  • Keep shared SPI CS pins high except for the active device.
  • MCU

  • Proposed Pin Map

  • Bring-Up Order

  • Notes