RAF-
Render-
FFT-
Sample-
Buffer-
Serialidle
Start here
Pick your board
- 1 Pick source Choose Arduino or XIAO. Next
- 2 Connect USB Press Connect USB. Wait
- 3 Hold sensor Wait for live PPG. Wait
LIVE USB ONLY
FFT warming
serial idle
no packets
GameEngine 60 fps
20s time
USB 922k
20s view · 14s FFT
Y-36 T38 Z1.06
Raw ADC-
ADC range-
Signal-
Packets-
Pulse FFT-
Fused BPM-
IBI-
Breath-
Breath IBI-
Confidence-
Arduino UNO R4 WiFi setup PulseSensor purple -> A0 · upload sketch · select Arduino 115k · Connect USB
Wiring: purple signal to A0, red to 5V, black to GND.
Upload: in Arduino IDE choose Arduino Renesas UNO Boards -> Arduino UNO R4 WiFi, select the correct port, paste the sketch, then Upload.
Connect: close Serial Monitor, choose Arduino 115k here, then Connect USB.
Stream: sketch prints 200 Hz lines as ppg,ms,raw. No browser flashing needed.
Arduino IDE sketch
const int PULSE_PIN = A0;
const unsigned long SAMPLE_US = 5000; // 200 Hz
unsigned long nextSampleUs = 0;
void setup() {
Serial.begin(115200);
delay(400);
Serial.println("version,Arduino UNO R4 WiFi PPG A0 2026-06-22");
Serial.println("header,kind,ms,raw");
nextSampleUs = micros();
}
void loop() {
unsigned long now = micros();
if ((long)(now - nextSampleUs) < 0) return;
nextSampleUs += SAMPLE_US;
int raw = analogRead(PULSE_PIN);
Serial.print("ppg,");
Serial.print(millis());
Serial.print(",");
Serial.println(raw);
}
Live-only analyzer waiting for real PPG USB packets.