back to work

ECE Capstone · Spring 2026

Pulse.

Proximity-based social navigation device.

A dedicated, single-purpose device for spontaneous human connection.

CMU ECE · 18-500 · Spring 2026

Pulse device showing welcome screen

problem & requirements

Smartphones engineer engagement, not connection.

The friction of opening an app, typing, coordinating, it kills spontaneity. Pulse removes that surface area entirely, then has to earn its place against the phone with measurable engineering targets.

Use-case to design requirements table

Four use-case requirements mapped to engineering specs with explicit justification, the traceability matrix that anchors every downstream design decision.

system architecture

System architecture: device · firmware · server.

Full system architecture diagram
Physical

Custom PCB, 3D-printed shell, GNSS + IMU + radio + 1000mAh LiPo.

Firmware

Step detection, PDR, Kalman fusion, UI state machine on ESP32-C5.

Backend

Node.js server, WebSocket routing, SQLite store, proximity engine.

firmware & state machine

Sensor-to-display pipeline, 200ms budget.

Data pipeline and device state machine

The end-to-end pipeline runs inside a single 200ms budget, from accelerometer sample to rendered arrow on the opposite device.

τtotal = τimu + τfilter + τnet + τrender ≤ 200 ms
Sensor read
≤ 5 ms
Filter + PDR
≤ 15 ms
WiFi round-trip
≤ 150 ms
Render
≤ 25 ms

State transitions · per-state current draw

State machine with per-state current draw

UI state machine

  • OFF → power on
  • CONNECTING → handshake w/ server
  • ACTIVE → idle home screen
  • NAVIGATING → live arrow loop
  • IDLE → low-power hold

UI walkthrough

UI flow: idle → request → navigate → meetup.

5-step meetup flow: Device Wake to SUCCESS
Welcome

Welcome

Send request

Send request

Waiting for response

Waiting for response

Navigating

Navigating

Success

Success

testing & validation

Targets vs. measured results.

Validation results table: targets vs. measured

Nine metrics across latency, accuracy, endurance, and usability. Every spec passed; navigation update latency landed at ~140ms against a 200ms target.

risk mitigations

Failure modes and mitigations.

GPS occlusion

PDR fusion bridges signal gaps; Kalman weighting drops GNSS as HDOP rises.

Connection loss

Reconnect flow with state replay; in-flight meetups survive transient drops.

Power budget

IDLE state aggressively reclaimed by the state machine to extend session life.

Pulse device displaying ARE YOU STILL THERE? idle prompt

final iteration

A compass that asks to be put down.

Pulse is a device with a single job, and a screen that quietly bows out when that job is done. It earns its place in your pocket by refusing to compete for your attention, and then disappears until the next time a friend is nearby.