Seat Timer
Project type: Individual Project
Timeline: 3 weeks
Tool: Adafruit IoT toolkit
Language: Node RED, MQTT, C++

Background and Goal
In today's work and learning environments, many people spend long hours seated, whether at a desk, in front of a screen, or in meetings. Over time, this sedentary routine can contribute to physical strain, reduced focus, and even mental fatigue. To address this, I developed the idea of a seat timer, a simple reminder tool that encourages regular movement and promotes healthier daily habits.
What is UN Sustainable Development Goal?
The UN Sustainable Development Goals (SDGs) are a set of 17 global goals adopted by all United Nations Member States in 2015 as part of the 2030 Agenda for Sustainable Development. They provide a shared blueprint for peace and prosperity for people and the planet, now and into the future.
Each goal addresses a critical global challenge, such as poverty, inequality, climate change, health, education, and sustainability.
Good health and well-being are areas I’m passionate about, and they align closely with the United Nations’ Sustainable Development Goals. By encouraging users to take intentional breaks from prolonged sitting, the seat timer promotes both physical wellness and mental clarity throughout the day.
Why Seat Timer is Important?
Research shows that increased sedentary behavior, such as excessive screen time, unhealthy eating habits, and reduced physical activity, can negatively impact both physical and mental health. One study estimated that additional hours spent sitting have led to rising health costs due to a lack of leisure-time movement and exercise (Hall et al., 2021). Another study found that the shift to fully remote work significantly increased sedentary behavior, even on non-workdays (Barone Gibbs et al., 2021).
The Seat Timer project was developed in response to these findings. To promote intentional breaks from prolonged sitting, I designed a seat cushion integrated with IoT technology. It includes a timer and triggers an alert after a user has been seated for a set period of time—encouraging regular movement and supporting a healthier, more balanced lifestyle.
How I did it
I began by visualizing my idea to better understand what a real-life seat timer could look like. I envisioned a seat cushion with embedded pressure sensors that can detect when someone is sitting. The sensors would send accurate data to a connected phone, allowing users to track how long they’ve been seated and receive notifications when it’s time to take a break.

I used round force sensor as an input sensor, an OLED as output display screen to display how long a person has been sitting on the cushion, and a piezo buzzer to sound the alarm. Once force sensor detects a person sitting, a counter is started. The counter continues while the force is continuously applied. If the force is interrupted, the counter resets to 0 and stays off until force is applied again. Once the counter reaches a timeout, it sounds the buzzer and sends a message to the display to take break from the sitting position. Based on the local weather conditions, it suggests indoor or outdoor activities. For demonstration purposes, I set the timer to 10 seconds. I used the weather API to suggest to the user an outdoor or indoor activity based on the percentage of cloudiness. Based on the feeds, I was able to use Cloud MQTT broker to publish data to NodeRED. Then, I extracted the data such as sitting time, force pressure, city name, temperature, percentage of cloudiness, and activity recommendation to create a dashboard to visualize them.

Demonstration



