ESP32-S3-CAM
The ESP32-S3-CAM is a camera board that RFX Effects runs as a headless target — no screen, a small pin budget, and a camera that’s on the roadmap but not active yet. Pick it if you already have one, or if you want a prop that might grow camera tricks later.
| Chip | ESP32-S3 |
|---|---|
| Flash | 16 MB |
| PSRAM | 8 MB |
| Max LEDs | 256 |
| Audio | ✔ |
| Display | — |
| Touch | — |
| Storage | On-chip FAT (USB drive) |
| Network | ✔ |
| Update modes | Standalone (WiFi/OTA) · Loader (USB-drop) |
What it’s good for
Section titled “What it’s good for”Headless props with modest wiring: an LED strip, a button or two, and sound — no display. It has the same generous 16 MB flash and 8 MB PSRAM as the bigger boards, so there’s room for plenty of sounds. The camera module isn’t a supported device kind in the engine yet, so today this board competes on price and availability rather than features; when camera support lands, existing builds will already have the hardware.
Wiring
Section titled “Wiring”| GPIO | Can do | Notes |
|---|---|---|
0 | in / out | BOOT button (strapping pin) |
1 | in / out / PWM / ADC | ADC1_CH0 |
2 | in / out / PWM / ADC | ADC1_CH1 |
3 | in / out / PWM / ADC | ADC1_CH2 |
19 | in / out / PWM | Native USB D- |
20 | in / out / PWM | Native USB D+ |
21 | in / out / PWM | |
45 | in / out / PWM | Strapping pin — usable, mind boot levels |
46 | in / out / PWM | Strapping pin — usable, mind boot levels |
47 | in / out / PWM | |
48 | in / out / PWM | Default LED data pin (no onboard pixel) |
The camera and microSD slot consume most of the chip’s GPIO, leaving the 11 pads
above for your show. There’s no onboard addressable pixel — an external strip’s
data line goes to a free pad, with GPIO48 as the factory default if your
show.json doesn’t name one. GPIO1–3 are ADC1 analog inputs (reliable with WiFi
on), and the BOOT button on GPIO0 works as a regular button input at runtime.
The free ADC1 pads are where an I2S amplifier (such as the MAX98357A) connects, but the firmware doesn’t pin down a factory trio for this board the way it does for the screen boards — assign three free pads and name them in your setup.
Storage & your data
Section titled “Storage & your data”Your show.json, config.json, fonts, and sounds live on the board’s on-chip
FAT partition, exposed as a USB drive — plug it in, drag files on, done. You
can also edit files live from the web dashboard’s Files tab. The board has a
microSD slot, but it’s unconfigured in the firmware (its wiring varies by
vendor), so the card slot is not used for your data today.
First-time flashing
Section titled “First-time flashing”Flash over the native USB port. If the board doesn’t show up for flashing, hold the BOOT button (GPIO0) while pressing reset, then release BOOT — ROM download mode always works and is the ultimate un-brick path. Full walkthrough: Flashing your board.
Update modes
Section titled “Update modes”The S3-CAM supports both update modes — pick one per device:
- Standalone — update firmware over WiFi from the device’s web dashboard. See the standalone quickstart.
- Loader — no WiFi: tap RESET then press BOOT, the board appears as a USB
drive, and you drag a
firmware.uf2onto it. See the loader quickstart.
The two modes use different flash layouts, so switching between them is a one-time USB reflash — and that erases the on-chip data drive, so back up your files off the USB drive first.
Quirks
Section titled “Quirks”- The camera doesn’t do anything yet. The engine has no camera device kind, so the board runs as a headless target; camera support is planned.
- Only 11 pads are free for shows — the camera and SD slot own the rest. Plan your strip, buttons, and amp around that budget.
- Files live on the on-chip FAT USB drive, not the microSD slot; the slot’s pins vary by vendor, so the firmware leaves it unconfigured.
- GPIO48 is the factory-default LED data pin for external strips — there’s no onboard pixel, so nothing lights until you wire one.
- GPIO45 and GPIO46 are strapping pins: usable, but mind their levels at boot.