ADS1299 custom board firmware — ESP32 WiFi → brainflow CUSTOM_BOARD protocol #18

Open
opened 2026-04-26 21:47:43 -07:00 by pyr0ball · 0 comments
Owner

Firmware for the custom Merlin BCI PCB (ADS1299IPAGR + ESP32-WROOM-32E).

Hardware: see hardware/bom/merlin-bci-rev0.csv. ADS1299 SPI → ESP32 → WiFi → host.

Protocol: implement brainflow's CUSTOM_BOARD serial framing so the board appears as a standard brainflow source. brainflow serial format: start byte (0xA0), 8×3-byte 24-bit samples, accelerometer, stop byte (0xC0). Extend for WiFi UDP: same frame format over UDP socket.

Firmware stack:

  • Arduino framework via PlatformIO (ESP32 toolchain)
  • SPI at 1MHz (ADS1299 SCLK max 20MHz, but start conservative)
  • WiFi UDP stream at 250SPS (default ADS1299 data rate)
  • OTA update support
  • WS2812 status LED: off=idle, green=streaming, red=error

Config: SSID/password stored in NVS (non-volatile storage). Serial setup mode on first boot.

Firmware lives in hardware/firmware/ in this repo. PlatformIO platformio.ini at repo root for firmware builds.

See also brainflow CUSTOM_BOARD docs for exact frame format.

Firmware for the custom Merlin BCI PCB (ADS1299IPAGR + ESP32-WROOM-32E). **Hardware:** see `hardware/bom/merlin-bci-rev0.csv`. ADS1299 SPI → ESP32 → WiFi → host. **Protocol:** implement brainflow's CUSTOM_BOARD serial framing so the board appears as a standard brainflow source. brainflow serial format: start byte (0xA0), 8×3-byte 24-bit samples, accelerometer, stop byte (0xC0). Extend for WiFi UDP: same frame format over UDP socket. **Firmware stack:** - Arduino framework via PlatformIO (ESP32 toolchain) - SPI at 1MHz (ADS1299 SCLK max 20MHz, but start conservative) - WiFi UDP stream at 250SPS (default ADS1299 data rate) - OTA update support - WS2812 status LED: off=idle, green=streaming, red=error **Config:** SSID/password stored in NVS (non-volatile storage). Serial setup mode on first boot. Firmware lives in `hardware/firmware/` in this repo. PlatformIO `platformio.ini` at repo root for firmware builds. See also brainflow CUSTOM_BOARD docs for exact frame format.
pyr0ball added this to the Phase C — EEG and EMG Hardware milestone 2026-04-26 21:47:43 -07:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/raven#18
No description provided.