esp32 soundboard project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Hendrik Langer 3410eb5ce8 sound getInstance and release mutex correctly 8 years ago
doc documentation stub 8 years ago
lib new platformio project 8 years ago
sounds new boot sound 8 years ago
src sound getInstance and release mutex correctly 8 years ago
.gitignore Exclude downloaded sound samples 8 years ago
.gitlab-ci.yml update CI 8 years ago
README.md Fix touch sensor hardware wiring 8 years ago
platformio.ini begin wifi implementation 8 years ago

README.md

ESP32 Soundboard

Soundboard (computer program), a web application or computer program with buttons that play short, often humorous sound clips.

Hardware

  • ESP32 µC
  • MAX98357A PCM Input Class D Audio Power Amplifiers
  • [SD card]

Wiring

SD card

SD card pin ESP32 pin Notes
CS GPIO05
DI GPIO23 (MOSI)
SCK GPIO18 (SCK)
DO GPIO19 (MISO)
CD GPIO17 optional

Touch

ESP32 Touch pad GPIO Notes
T0 04
T1 00 also bootloader (not usable on dev board)
T2 02 also bootloader (not usable on dev board)
T3 15
T4 13
T5 12
T6 14
T7 27
T8 33
T9 32

I2S

MAX98357A ESP32 pin
LRC 25
BCLK 26
DIN 22
GAIN (VCC)
SD -

Build

git clone https://dev.xd0.de/hendrik/soundboard.git
cd soundboard
virtualenv .
source bin/activate
pip install -U platformio
platformio run -t upload && platformio device monitor -b 115200
  • Convert mp3 files: sox ~/Music/input.mp3 -c 1 -r 11025 -b 16 output.wav trim 0 30
  • SD card is tested with one FAT16 partion

ToDo

  • Prototype
  • reimplement tasks with a queue, see i2s_push_sample() from esp-idf/components/driver/i2s.c
  • Keypad layout
  • internal DAC?
  • Add-ons?
  • dynamic keypad thresholds
  • wav file headers
  • stack size in play task

References