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.

76 lines
1.9 KiB

ESP32 Soundboard
================
Soundboard (computer program), a web application or computer program with buttons that play short, often humorous sound clips.
7 years ago
## Hardware
* [ESP32] µC
* [MAX98357A] PCM Input Class D Audio Power Amplifiers
* [SD card]
7 years ago
## Wiring
7 years ago
### 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 | -
7 years ago
## Build
```bash
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`
7 years ago
* SD card is tested with one FAT16 partion
## ToDo
* Prototype
7 years ago
* reimplement tasks with a queue, see **i2s_push_sample()** from *esp-idf/components/driver/i2s.c*
* Keypad layout
* internal DAC?
* Add-ons?
7 years ago
* dynamic keypad thresholds
* wav file headers
* stack size in play task
7 years ago
* global variables for components
## References
[ESP32 overview]: http://esp32.net
[ESP32]: https://eckstein-shop.de/ESP32-Dev-Board-WiFi-Bluetooth-CP2102-USB-to-Serial-with-LiPo-charger
[MAX98357A]: https://eckstein-shop.de/Adafruit-I2S-3W-Class-D-Amplifier-Breakout-MAX98357A