Skip to content

elato/sidekick

Pocket-sized always-listening AI companion. Dual MEMS mics, class-D audio, ESP32-S3 and a two-hour print for the shell.

v2.1.0esp32-s34-layer · 46×32 mm$31.40 BOM2h buildCERN-OHL-S-2.0updated 12 days ago
Loading shell-base.stl
shell-base.stl

A palm-sized, always-listening AI companion. Two MEMS microphones for beamforming, a 3.2 W class-D amplifier, and an ESP32-S3 doing wake-word detection locally before anything leaves the device.

media/cover.png

Why this exists

Most "smart speaker" reference designs assume you have a reflow oven, a .sch you cannot open, and a BOM that went obsolete in 2023. Sidekick is built the other way round: everything is orderable today, the board is a 4-layer JLCPCB stackup that costs $2.10 in quantity 5, and the shell prints on a stock Ender in about two hours.

What is in the box

SubsystemPartNotes
ComputeESP32-S3-WROOM-1-N8R28 MB flash, 2 MB PSRAM
Audio in2× INMP441I2S, 30 mm apart for beamforming
Audio outMAX98357A3.2 W into 8 Ω
PowerTP4057 + ME6211C33USB-C charge, 500 mAh cell
StorageW25Q128 (optional)Offline voice assets

Build it

  1. Order the PCB. Hit Order PCB above, or upload electronics/gerbers/ to any fab. The stackup is JLC04161H-7628; nothing exotic.
  2. Order the parts. Buy components resolves every line of the BOM against LCSC, DigiKey and Mouser and shows you the cheapest complete cart.
  3. Print the shell. mechanical/sidekick-shell-base.stl and -lid.stl. PETG, 0.2 mm layers, 3 walls, 22 % gyroid. No supports.
  4. Assemble. Reflow the top side first, hand-solder the USB-C shell, then the connectors. The bottom side has two parts and can be skipped entirely if you do not need offline assets.
  5. Flash.
git clone https://github.com/elato/sidekick
cd sidekick/firmware
idf.py set-target esp32s3
idf.py -p /dev/ttyACM0 flash monitor

Known errata

  • rev 2.0 shipped without the 5.1 k CC pulldowns, so some hosts will not enumerate. Fixed in 2.1. If you have a 2.0 board, tack two 5.1 k resistors from CC1/CC2 to ground.
  • The silkscreen for SPK overlaps pad J3.2. Cosmetic only.
  • U4 has no thermal relief on the pour. It solders fine with a hot plate but is annoying with an iron.

Forking this

The interesting variants so far are a solar-powered build, an nRF5340 port that gets ~9 days on the same cell, and an e-ink version that shows transcripts. All three are one click away under Forks.

License

Hardware is CERN-OHL-S-2.0. Firmware is Apache-2.0. Do what you like, publish your changes.