IoT · Physical Computing

Seat Timer

A pressure-sensor seat cushion that nudges you to stand and move after long stretches of sitting, built to counter the sedentary habits that crept in with remote work.

Role
Solo (hardware + IoT)
Duration
3 weeks
Tools
Adafruit IoT Toolkit
Language
Node-RED, MQTT, C++
Seat Timer cover

Background & goal

Long hours seated at a desk or in meetings contribute to physical strain, reduced focus, and mental fatigue, something remote work made worse. I wanted a simple, physical reminder to break up prolonged sitting, rather than relying on an app notification easy to ignore.

UN Sustainable Development Goal: Good Health & Well-Being. the project ties directly to encouraging intentional movement breaks as part of daily physical and mental wellness.

How it works

1

Concept

Sketch & plan

Envisioned a seat cushion with embedded pressure sensors that could detect sitting and send accurate data to track duration and trigger break reminders.

2

Hardware

Force sensor + OLED + buzzer

A round force sensor detects sitting and starts a counter; an OLED display shows elapsed time; a piezo buzzer sounds once the timeout is reached. If the sensor loses contact, the counter resets, so there's no gaming the system by shifting weight.

3

Data pipeline

MQTT → Node-RED

Published sitting time, force pressure, and a weather API feed (city, temperature, cloudiness) to a cloud MQTT broker, then routed it into Node-RED to recommend an indoor or outdoor break activity based on conditions.

4

Dashboard

Node-RED visualization

Built a live dashboard showing sitting time, pressure, location, weather, and the recommended activity. For the demo, the timer was set to 10 seconds to make the full loop easy to show.

Project Operations

Another solo, self-directed build with no external stakeholders; the operational challenge here was compressing a full hardware-to-dashboard pipeline into a short timeline.

1

Timeline

Just 3 weeks for concept, hardware assembly, data pipeline, and dashboard, so I prioritized getting one thin end-to-end path working first (sensor → MQTT → dashboard) before polishing any individual piece.

2

Scope management

Cut a few originally-planned features (like historical trend charts) once it was clear the core sensor-to-recommendation loop needed most of the available time to work reliably.

Hardware & dashboard

Seat Timer hardware build

Force sensor, OLED display, and buzzer setup

Node-RED dashboard

Node-RED dashboard: sitting time, weather, and activity suggestion

The full loop

Seat Timer demo 1
Seat Timer demo 2
Seat Timer demo 3