Firmware v1.0.0 · ESP32
FamApp Soundbox
Speaks every FamApp payment out loud and shows the amount on an OLED. Flash it to your ESP32 straight from the browser, with no software to install.
Connect the ESP32 with a USB data cable first. Works in Chrome and Edge on Windows, macOS, Linux and ChromeOS.
Read the full guideSupported board
| Board | ESP32 Dev Module (classic ESP32, 4 MB flash) |
|---|---|
| Chip | ESP32 (ESP32-D0WD / WROOM-32) |
| Display | SSD1306 128×32 OLED, I2C |
| Audio | MAX98357A I2S amp + speaker |
Not for ESP32-S3, C3 or C6 boards.
Wiring
| OLED SDA / SCL | GPIO 21 / 22 |
|---|---|
| Amp DIN | GPIO 27 |
| Amp BCLK / LRC | GPIO 26 / 25 |
| Button | GPIO 32 → GND |
| Amp VIN | 5V (louder than 3V3) |
How to flash
- Plug the ESP32 into your computer with a data USB cable.
- Click Flash Firmware and pick the board's port (e.g.
COM5,CP210xorCH340). - Click Install. For a first install, keep Erase device ticked.
- Wait for Installation complete (about 1–2 minutes), then unplug and replug.
After flashing: setup
- On your phone, join Wi-Fi
FamApp-Soundbox, passwordsoundbox. - The setup page opens (or go to
192.168.4.1). - Enter your 2.4 GHz Wi-Fi, the Gmail linked to FamApp, and a Gmail app password.
- Save. It restarts and beeps when it's ready.
Before you flash
- Erase device wipes the saved Wi-Fi and Gmail settings. You'll need to run the setup again.
- Use the Gmail app password from
myaccount.google.com/apppasswords, never your normal password. - Close the Arduino IDE Serial Monitor and any other program using the port.
- For big amounts, always confirm the payment in the FamApp app too.
Using the soundbox
- New payment: beep, then "6 rupees received" and the amount on screen.
- Press the button: beep, then it repeats the last payment.
- Hold BOOT for 10 s while running: erases all settings and opens setup again.
Troubleshooting
No port appears in the list
"Failed to connect" or it gets stuck connecting
- Hold the BOOT button, press and release EN/RST, then release BOOT. Click Flash Firmware again.
- Close the Arduino IDE, Serial Monitor or any app using the port.
- Unplug the amplifier's VIN while flashing if the board keeps resetting.
"Failed to download manifest"
The page couldn't load manifest.json. Make sure you opened the GitHub Pages address (not the file on your computer), then hard-refresh with Ctrl + F5.
Flashed fine, but it doesn't start
- Press EN/RST once, or unplug and replug.
- If the screen shows SETUP MODE, the settings were erased: run the setup steps above.
- Use a strong 5V supply. A weak USB port can make it reset when the speaker plays.
Button says the browser isn't supported
Web flashing uses Web Serial, which only Chrome and Edge (version 89+) support on a computer. Firefox, Safari and phone browsers can't flash.