← Executive Summary • Pillar 02: Deterministic Edge & Platform Sandboxing
Micro-Controllers & Embedded Edge Hardware

Real-Time Continuous Cuffless Blood Pressure
On Low-Power Microcontrollers

Demonstrating single-handed engineering across low-power embedded software, custom MicroPython signal processing algorithms, and multi-modal edge AI inference (featuring the IDT Blood Pressure Project).

Sensor signals entering an embedded neural processor and transmitting wirelessly
SENSE β†’ INFER β†’ TRANSMIT Ultra-Constrained ARM Cortex-M4 Silicon, 256 Hz DMA Ingestion & 360 KB 1D-CNN Inference
Executive TL;DR

Ultra-Low-Power Embedded Silicon

View 5 Pillars →
🎯 Business Context

Hard real-time embedded firmware powering next-generation wearable biometric sensors and telemetry systems.

⚑ Technical Hurdle

Microsecond power-gated optical sampling, BLE throughput constraints, and dual-core ARM Cortex-M33 concurrency.

πŸ† Deliverable & Impact

Edge BP inference, zero packet drop at 256 Hz sampling, and ultra-low-memory deep net.

Embedded CNN
8-bit quantized deep net
ECG, PPG & BCG Feature Extraction
760 KB RAM
Ultra-constrained memory
Deep net in 360K
100%
On-Device Edge Denoising
Custom uwavelets MicroPython Library
2 Targets
Systolic & Diastolic Estimation
Beat-by-Beat Non-Invasive Inference
⚠️

The Engineering Challenge

Traditional blood pressure monitoring relies on episodic, inflatable arm cuffs. Inflatable cuffs are bulky, interrupt sleep, cannot detect continuous hemodynamic spikes, and fail to provide real-time continuous physiological tracking.

  • βœ• Inflatable cuffs capture only snapshot readings.
  • βœ• High sensor noise & baseline wander from motion.
  • βœ• Strict memory limits on microcontrollers.
πŸ’‘

The Multi-Modal Solution

By combining three non-invasive bio-signals (Electrocardiogram, Photoplethysmogram, and Ballistocardiogram) and executing real-time wavelet decomposition on-device, continuous blood pressure is accurately predicted without any inflatable cuff.

  • βœ“
    ECG: Electrical timing of heart ventricular depolarization (R-peaks).
  • βœ“
    PPG: Optical pulse wave measuring peripheral arterial expansion.
  • βœ“
    BCG: Ballistic mechanical acceleration forces of cardiac ejection.

βš™οΈ Microcontroller Optimization: Porting Wavelets to MicroPython (uwavelets)

Repo: idt-micro
πŸ”— Upstream Library Attribution GitHub: PyWavelets/pywt ↗

PyWavelets (`pywt`) is an open-source wavelets processing library for standard Python.

My Author Contribution: Authored uwaveletsβ€”an original lightweight MicroPython/C port designed from scratch to run continuous and discrete wavelet transforms directly on ATSAMD51 ARM Cortex-M4 microcontrollers under tight 192KB RAM limits.

Standard scientific Python libraries require massive memory footprints and heavy dynamic allocations unavailable on small microcontrollers. To execute real-time wavelet decomposition directly on the ATSAMD51 (Metro M4 ARM Cortex-M4) chip, I authored uwaveletsβ€”a lightweight, memory-efficient MicroPython port designed to interface directly with ulab.

MicroPython / uwavelets (Embedded Edge Execution) metro-m4 / cwt.py
# MicroPython continuous wavelet transform (CWT) implementation for microcontrollers
import ulab as np
from uwavelets.upywt import cwt, ricker

def process_embedded_beat(raw_signal, scales):
    """Computes real-time wavelet coefficients on ATSAMD51 microcontroller."""
    clean_signal = raw_signal - np.mean(raw_signal)
    coefs, freqs = cwt(clean_signal, scales, wavelet='ricker')
    feature_vector = np.sqrt(np.sum(coefs ** 2, axis=1))
    return feature_vector

Results, Diagnostic Plots & Model Explainability

Click on any chart below to open the interactive high-resolution viewer with detailed technical commentary.