Ankush Srivastava
← All work
live·2026

ArcBeat

Wearable + research dashboard for continuous heart-signal work.

arcbeat.vercel.app
PPG sample rate
Up to 3,200 Hz
Serial baud
460,800
Frame integrity
CRC-8/SMBUS
Surfaces
Consumer view · Clinical view
Stage
Live in production
Code form
Turborepo monorepo

ArcBeat is a wearable-and-dashboard pair I built end to end: firmware, transport protocol, parsers, signal-processing library, and front-end. The hardware streams PPG (red and infrared), battery ADC, capacitive touch, IMU, ECG, audio and temperature samples over a framed binary serial protocol at 460,800 baud, each frame integrity-checked with CRC-8/SMBUS over the sensor ID, timestamp and payload.

There are two firmwares. A streaming variant does on-device beat detection and emits derived signals. A raw variant does zero on-device computation. Every ADC value is broadcast as-is so the analysis stays in software, where it can be revised. The raw firmware also takes live ASCII commands to retune sample rate, LED power, pulse width and ADC range without reflashing.

The dashboard is a Turborepo monorepo. Algorithms live as a separate package (Pan-Tompkins++ R-peak detection, Welch PSD, Poincaré SD1/SD2, Baevsky stress index, Elgendi TERMA, Butterworth biquad cascades) in pure TypeScript with no dependencies, so each pipeline stage is unit-testable in isolation. Every stage of an HRV pipeline is a discretionary choice; making those choices visible is the point.

Two surfaces by design. A consumer view (readiness, recovery, simple summary) for everyday use. A clinical view that keeps every metric a researcher would expect: RMSSD, SDNN, pNN50, LF/HF, QRS-detection quality. The product call is: don't water the clinical view down, hide it.

Stack
ESP32-S3MAX30102 PPGC++Next.js 15TypeScript (strict)Web SerialuPlotTurborepo