Skip to content

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)

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.

GPIOCan doNotes
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.

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.

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.

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.uf2 onto 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.

  • 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.