In this modern era, maximizing efficiency is one of the primary goals of any institution or corporation. With the PSTR chair, administrators of these institutions can see whether their spaces are used efficiently, how long their are used for, and track the health and fatigue of their employees or students to ensure that they will be working at their highest performance level.

System Requirements

Accepts user's weight distribution on chair as input data.
Aggregates collected data into informative charts and graphics to be monitored through a secure web application.
Notifies users with a soft beeping noise when his/her posture is not in the optimal position.

Should not be fragile enough to break under normal circumstances.

Will not cause any harm or discomfort to users.

Information for each user on web server can only be accessed by those with permission.

Able to be dismantled and installed on most chairs with hard surfaces

Notifies user's incorrect posture within 2 seconds. While in use, continuously updates database with collected data.

Detects incorrect posture with <2% false positives.

Technical Specifications


Our back end web server is created using the Node.js Express framework with a MySQL database. Our front end web application is created using Node.js using the Three.js library for graphics and interactions.



Axia Smart Chair:
An office chair that provides feedback on posture with a stylized web app based on sensors on the seat cushion. It seems to work well, but is more geared towards personal use, has little customizable configuration for setup, and does not track vitals.

Zami Life Smart Stool:
A modern looking stool that promotes and actively monitors posture based on angles and sensors on the butt pad. Since its main goal is to promotes fitness and core strength rather than office health, it directed towards more of a niche market.


Force Sensor Data Collection

Force and pressure sensors will be placed at key locations on a chair. The Force Sensors will be queried in intervals on the 3 different clocks on the Atmega 328p. The intervals we choose must take into account the latency between sending from the Microcontroller to the Web Server. The force sensors will return a 10-bit measurement to the microcontroller’s ADC. This should be sufficient to achieve our design specifications for pressure accuracy. Multiple microcontrollers might be needed depending on how many sensors we use. The microcontroller(s) will be connected to a Raspberry Pi over a serial port to pass force sensor data.

Remote Communication

It is critical that we transfer the data from the microcontroller(s) to a central web server where we can perform computations and display the posture information. We will use the Raspberry Pi to as an intermediary device to receive data from the microcontroller(s) and transmit the data over Wifi to a web server. The Raspberry Pi can be attached to the chair and provide the data remotely.

Data Processing and User Interface

The force sensor data received from the Raspberry Pi will be processed in this stage. There are a couple ways we might process this data. One method is to use specific thresholds for each sensor to determine posture. This, however, might not be easily applicable to different users because of differing height, weight, etc. Thus, a second method would be to collect different data and use machine learning algorithms to properly classify “good” and “bad” posture. Once processed, the data will show a user’s posture profile in real time. This information will be displayed on a web server so the user can understand the flaws in their posture and adjust themselves until correct.

Interaction Diagram

Use Cases

  1. Monitoring and improving employees' posture, vitals, and general health.
  2. Monitoring and improving personal posture, vitals, and general health.
  3. Crowdsensing in public facilities.