Flossa AI Controller
A battery-powered ESP32-S3-WROOM-2 audio controller for flossa.ai, built from 10 Circuit Issues template blocks plus one custom LED/touch sheet.

Client design, shown with permission from flossa.ai. This board is not for sale and the design files are not available. The template blocks it uses are listed below.
10
Template blocks (11 instances)
1
Custom sheet (LED ring)
96 × 46 mm
4-layer PCB
114
Components
The board
Flossa needed a compact controller that listens, talks back, stores data locally, and runs from a battery. Instead of designing every subsystem from scratch, the board was assembled from proven template blocks: an ESP32-S3-WROOM-2 core, a Li-ion power path, gated power domains, a MEMS microphone, a class-D speaker amplifier, a microSD card, and haptic feedback. Only the LED ring and touch area on the back are custom.
Real board vs. render




Templates used
10 template blocks (11 instances) make up almost the whole schematic. Blocks with a template page are linked; the rest are in our block library and get a page once they are released.
ESP32-S3 core controller, WROOM-2 module
ESP32-S3-WROOM-2 (N16R8V) with USB-C programming and USBLC6 ESD protection. Runs audio, storage, LEDs and power management. Adapted here with B3U-1000P BOOT/RESET buttons and an extra right-angle button on the supply line.
Li-Ion / LiPo charger 4.2 V (MCP73832T)
Charges the battery from USB-C and reports charge state and battery voltage to the MCU.
Boost converter battery → 5 V, 0.5 A (TPS613222A)
Steps the battery up to a stable 5 V rail for the amplifier and LEDs.
Low-Iq LDO 5 V → 3.3 V (RT9080-33GJ5)
Low quiescent-current 3.3 V logic rail for long battery standby.
High-side switch 3 A, up to 20 V (AO3401A + AO3400A)× 2
Gates the 3.3 V and 5 V peripheral domains so they are fully off when idle.
MEMS microphone, PDM (Infineon IM72D128V01)
Digital PDM microphone wired directly to the ESP32-S3 PDM input.
Class-D audio amplifier 2.5 W mono (PAM8302A)
Drives the speaker from the MCU audio output, with shutdown control.
microSD card holder, SPI (Molex 47219-2001)
Local storage over SPI.
Low-side switch 5 A, 24 V (NTMFS5C442NL)
PWM drive for the haptic feedback motor.
Voltage level translator 3.3 V → 5 V (74AHCT1G125)
Shifts the 3.3 V LED data line up to 5 V logic for the addressable LEDs.
Custom: LED ring + touch area
12 addressable RGB LEDs and three touch pads on the back follow the product enclosure, so they were drawn for this board.
How the blocks fit together
One battery power path, three blocks
USB-C feeds the 0125 charger, the battery feeds the 0105 boost to 5 V, and the 0090 LDO derives 3.3 V. Each block came with its own layout rules, so the power path needed no extra design work.
Power domains switched off when idle
Two 0115 high-side switches let firmware cut the 3.3 V and 5 V peripheral rails. The same block is placed twice, with only the sheet ID changed.
Audio in and out with no glue logic
The 0030 PDM microphone and the 0150 amplifier connect straight to the 0140 core pins. The interfaces match because the blocks share naming and pin conventions.
Custom only where the product needs it
The LED ring and touch pads depend on the enclosure, so they were drawn by hand. The 0040 level translator still handles the 3.3 V → 5 V LED data.
We went from idea to an assembled controller remarkably fast. Because the board was built from proven blocks, everything worked from the first power-on: audio, charging, storage and LEDs, with no rework on the first revision.
Build your board from the same blocks
Start with the free 0140 ESP32-S3 core and add blocks as you need them. If your product needs custom parts, we can design them for you.