← Home
[ PRODUCT_DESIGN / IOT ]

MTA Desk Clock

Assistive IoT hardware designed to externalize time and reduce cognitive load for neurodivergent workflows.

ESP32 Firmware
GTFS-R Telemetry
Fault-Tolerant Systems
DFM

Designed for Time Blindness

Time blindness is common in ADHD and other neurodivergent workflows. App-based reminders introduce just enough friction to break focus and delay action.

This project relocates time-critical transit data from a phone into a persistent physical object. The display runs continuously, presents information at a glance, and removes the need for last-minute decisions.

DESK-RESIDENT TRANSIT DISPLAY

Core Architecture

Data Source
GTFS-R
Update Interval
30 s
Time Sync
NTP
ENCLOSURE ASSEMBLY

Mechanical Design

The enclosure uses an interlocking elliptical lip with a 0.2 mm interference fit, leveraging PLA elasticity for a secure, screw-free assembly.

Three design iterations were conducted to reconcile printer tolerances with internal component clearances. The final form behaves more like a desk object than a gadget.

Download Front Plate STL
Download Back Plate STL

Authentic Visual Fidelity

To maintain environmental consistency, I replicated the exact UI/UX language of the NYC subway countdown signs.

This involved mapping live JSON streams to a custom dot-matrix typography layout.

Dot Matrix Interface
Real Countdown Signs

Systems Architecture: Logic and State Management

Logic diagram
STATE MACHINE & SIGNAL FLOW
Scroll marquee flow diagram
SCROLL MARQUEE FLOW DIAGRAM

Firmware is written in C++ and structured as a strictly non-blocking state machine, with network operations decoupled from UI rendering and independent update loops for train telemetry and the scrolling reminder banner.

A visual urgency layer maps arrival time to interface state, while a time-driven marquee subsystem scrolls reminder and calendar data without interrupting primary countdown rendering. At T-7 minutes, the display enters a periodic red pulsing mode, empirically chosen as the optimal apartment departure threshold.