System Overview

Sensor Hardware Layer

2×2 TPU bladder array, pressure sensor(s), ADC, Hall-effect sensor + magnet

Processing Layer

Embedded firmware for real-time compression detection and metric calculation

User Interface Layer

Web-based dashboard with live graphs, session management, and reporting

Data Storage Layer

Local session storage (browser) with CSV/PDF export capability

Data Flow

Manikin Sensors (TPU/Pressure/Hall) → ADC → Firmware Processing → Metric Calculation → Dashboard/Serial → UI Display

Hardware Specifications

Component Specification Purpose
Sensor Array 2×2 TPU bladder array with independent chambers Detect compression force distribution and hand placement
Pressure Sensor(s) 0–100 kPa range (design-dependent), analog output Quantify chest compression force; one per bladder or shared
ADC 12–16 bit resolution, 1000+ Hz sampling capability Convert analog pressure readings to digital values
Hall-Effect Sensor Analog ratiometric output, ~5 mV/G sensitivity Detect magnet displacement during compression to measure depth
Depth Reference Magnet Neodymium magnet (N52), embedded in sternum plate Move with sternum; Hall sensor tracks displacement for depth calculation
Mechanical Integration Custom sternum plate + mounting bracket + elastomer damping Secure sensor array to manikin chest with realistic recoil feel
Power (MVP) USB/Serial tethered connection (wall power or battery TBD) Data transmission and device power for MVP; battery in future

Firmware Specifications

Feature Specification Status
ADC Sampling Rate 500—1000 Hz (configurable) per sensor In Progress
Compression Detection Pressure threshold + hysteresis; debounce window 50 ms Implemented
Compression Count Event counter; total compressions per session Implemented
Compression Rate (cpm) Compressions per minute; moving average over 10-second window Implemented
Compression Depth (mm) Estimated from Hall sensor displacement; calibrated to known distances In Progress
Pause Detection Time without compressions (pressure < threshold); accumulated per session Implemented
Recoil Quality Chest return to baseline (design-dependent, pressure or depth-based) Planned
Placement Drift Uneven pressure across bladder array; directional tracking (L/R/U/D) Planned
Data Format (Serial/USB) JSON or CSV line format; metric timestamp, values, state Planned

Dashboard Software Stack

Frontend

  • HTML5 (semantic structure)
  • CSS3 (responsive grid + flexbox)
  • Vanilla JavaScript (no framework)
  • Chart.js or Canvas API for live graphs
  • Event-driven architecture

Status: Prototype complete; refinement ongoing

Data Input

  • Serial/USB connection from firmware device
  • JSON parsing of incoming metric packets
  • Real-time data binding to UI elements
  • Local browser storage (localStorage)

Status: Designed; integration in progress

Session Management

  • Start/pause/stop session controls
  • Persistent in-memory session object
  • Metric accumulation (count, averages, max/min)
  • Session summary calculation

Status: Implemented

Reporting & Export

  • CSV export (metric history + session stats)
  • PDF generation (graphs + scores + comments)
  • Instructor comments box (freetext)
  • CPR quality score calculation

Status: In progress

Measured Metrics & Calculations

Compression Count

Definition: Total number of compression events detected.

Source: Pressure threshold crossing (rising edge = compression start)

Accuracy: ±0 detections (single trigger per compression)

Compression Rate (cpm)

Definition: Compressions per minute (moving average).

Target: 100–120 cpm (AHA guidelines)

Calculation: Count events in 10-second window × 6

Compression Depth (mm)

Definition: How far the chest compresses downward.

Target: 50–60 mm (AHA guidelines)

Source: Hall sensor displacement; calibrated via known displacement steps

Pause Time (seconds)

Definition: Cumulative time without compressions during session.

Target: Minimize (goal: < 10 sec per minute)

Detection: Pressure below threshold for > 1 second

Hand Placement Drift

Definition: Directional indication if compression force is uneven.

Calculation: Compare pressure readings across 2×2 bladder array

Status: Planned algorithm; under design

Recoil Quality

Definition: Fraction of compression that fully recoils (chest returns to baseline).

Target: 100% full recoil (minimal incomplete releases)

Status: Design-dependent; to be finalized

Calibration Strategy

Zero Calibration

  • Base pressure reading at rest (no load) recorded as P₀
  • Threshold = P₀ + 5 kPa (or design-dependent offset)
  • Performed at startup or before each session

Depth Calibration

  • Known displacement steps (10 mm, 20 mm, 30 mm, etc.) applied manually
  • Hall sensor output recorded at each displacement; linear regression fitted
  • Calibration curve stored; used to convert Hall reading → depth in mm

Pressure Calibration

  • Per-bladder calibration (if using 4 independent sensors)
  • Known force weights (10 kg, 20 kg, etc.) applied; pressure recorded
  • Conversion factor: Newtons (or force units) → kPa stored

Threshold Tuning

  • Mock compressions performed; threshold adjusted to avoid false triggers
  • Adult vs. child profiles may require different thresholds
  • Stored in firmware EEPROM for reuse across sessions

Performance Targets

Metric Target Current Status
Compression detection latency < 100 ms (firmware event → dashboard display) In Progress
Compression count accuracy ±0 errors (single trigger per event) Achieved
Depth measurement accuracy ±3 mm Bench testing
Rate (cpm) accuracy ±1 cpm Bench testing
Dashboard refresh rate 10 Hz (100 ms per update) Designed
Session duration support ≥ 10 minutes continuous operation Planned test
Sensor noise resilience Low-pass filter @ 10 Hz; moving average Implemented