SyncStim ESP32 Firmware and Optional PCB Design

Job ID: 40496385

Budget: $1,500 – $3,000 USD

ESP32 firmware for an experimental, battery-powered maker devkit (SyncStim) that plays a 10 ms audio burst and, at a configurable interval, fires a charge-balanced biphasic constant-current electrotactile pulse train (plus an LED cue). The core requirement is timing fidelity and safe constant-current output, verified on an oscilloscope.

Hardware is already specified (BOM): ESP32-WROOM-32D, MAX98357A I2S amplifier, DRV8871 H-bridge, DC-DC boost converter, LM334 constant-current source, current sense, SD card. Battery-powered and mains-isolated.

Behavior: repeats a 200 ms cycle (5 Hz). Each cycle is a 10 ms audio burst over I2S, then after a configurable inter-stimulus interval, a burst of 3 biphasic pulses (150 microseconds per phase, 1 ms onset-to-onset), constant current, under 3 mA, charge-balanced.

Scope (fixed-price, milestone-based): 1) Design review: finalize schematic to the BOM, firmware and timing plan, short safety review. 2) Firmware: I2S audio plus H-bridge biphasic generation, configurable interval with acoustic-latency compensation, calibration, electrode-contact monitoring, fault handling, logging. 3) Optional: PCB design (KiCad or EasyEDA) plus 2-3 assembled prototypes, quoted separately.

Acceptance is oscilloscope-verified: exact pulse train (3 pulses, 150 us per phase, 1 ms onsets, net DC near zero, under 3 mA), 10 ms audio with 1 ms cos2 ramps, interval measured acoustically, 200 ms cadence, and an electrode-detach safety halt.

Skills: ESP32 (ESP-IDF or Arduino-ESP32), I2S audio, deterministic sub-10 us timing (MCPWM, RMT, or timer ISR), H-bridge and constant-current analog, oscilloscope. KiCad or EasyEDA for the optional PCB phase.

Note: experimental DIY electronics for educational and maker use only; not a consumer or medical product. Battery-powered and mains-isolated; not for use across the head or chest, or by anyone with a pacemaker or heart condition.