InflataCare is a comprehensive product designed to combat bedsores among elderly and bedridden patients. By monitoring pressure points and providing automated inflation controls, the system helps prevent pressure ulcers that develop from prolonged periods in the same position. This web application interfaces with Arduino IoT Cloud Server to visualize pressure data in real-time and allows caregivers or patients to control inflation settings to redistribute pressure as needed.
- Features
- Technology Stack
- System Architecture
- Screenshots
- Installation
- Usage
- Arduino Integration
- Contributing
- License
- Acknowledgments
- Contact
- Visualizes pressure applied at key body points through an intuitive interface
- Tracks accumulated time when pressure thresholds are exceeded
- Provides alert notifications when pressure remains high for too long
- Wireless control of air pump systems
- Preset position controls (sitting up, left side, right side)
- Intuitive interface for caregivers or patients to use
- Configure maximum pressure thresholds based on patient needs
- Set time thresholds for alerts
- Personalize notification preferences
- Dark mode support
- Frontend: React.js, Tailwind CSS
- Backend: Node.js server
- Communication: MQTT protocol for persistent connection
- IoT Integration: Arduino IoT Cloud
- Real-time Updates: WebSocket for live data transmission
User Interface (React) <--> Node.js Server <--> MQTT <--> Arduino IoT Cloud <--> Physical Devices
The Dream Team: (from left to right)
Kwa En Min Sarah, Heng Xin Yu Felicia, Chia Dion Yi, Lee Jie Yuan, Chew Jin Cheng
- Node.js (v14.0.0 or higher)
- npm (v6.0.0 or higher)
- Arduino IoT Cloud account
- Arduino devices with pressure sensors and inflation pumps
-
Clone the repository:
git clone https://github.com/yourusername/inflatacare.git cd inflatacare -
Install dependencies:
npm install
-
Set up Arduino IoT Cloud
a. Create an Arduino IoT Cloud account Go to Arduino IoT Cloud and sign up or log in.
b. Create a new Thing
- Click on "Create Thing".
- Give it a name (e.g., InflataCareThing).
- Add a device (choose your Arduino board or set up a virtual device).
- Add variables (e.g., pressure, isInflating) and set appropriate types and permissions (Read/Write, etc.).
c. Link to a new Sketch
- After creating your Thing, Arduino Cloud will automatically generate a sketch.
- Open the sketch in the Web Editor or Arduino IDE.
d. Copy and paste your code
- In your project, locate the Arduino sketch folder (typically found under /arduino_code or similar).
- Open the .ino file.
- Copy its contents and paste it into the Arduino Cloud-generated sketch.
- Add your own WIFI key and password in Sketch Secrets file.
e. Verify and Upload
- In the Web Editor, click Verify to ensure the code compiles.
- Connect your Arduino board and click Upload.
- Make sure the board connects successfully and your variables appear on the dashboard.
f. Get the required credentials
- On the Thing page, click on the three-dot menu > API Keys.
- Generate and copy the Client ID and Client Secret.
- Copy the Thing ID from the Thing’s URL or settings.
For more information on setting up the Arduino hardware, please refer to youtube video on how configure your arduin to the IoT Server.
-
Set Up Arduino IoT Cloud Server: Create a
.envfile in the project root and add your configuration:VITE_API_URL=http://your-server-address:3000 CLIENT_ID=your_client_id CLIENT_SECRET=your_arduino_api_key THING_ID=your_thing_id PORT=3000
-
Start the backed development server:
cd inflatacare_backend npm start -
Start the frontend development server:
cd inflatacare_frontend npm i npm run dev
-
Build the production version:
npm run build
-
Deploy the contents of the
distdirectory to your web server.
- View real-time pressure readings from all sensors
- Monitor accumulated pressure time for each point
- Observe visual alerts when thresholds are exceeded
- Select a body section (T, L, R) to activate controls
- Choose inflation levels (0-4) for the selected section
- Set the patient's position based on medical requirements
- Set maximum weight threshold (recommended: 60-80g)
- Configure maximum time threshold (recommended: 20-40 minutes)
- Enable/disable notifications
- Toggle dark mode and auto-connect features
The system connects to the following Arduino IoT Cloud properties:
fRS1throughfRS6: Pressure sensor readingshighestAccTime: Highest accumulated time above thresholdalertStatus: Bit-encoded status for all sensors
We welcome contributions to the InflataCare project. Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The professors from MAE and REP who gave guidance on product development
- Healthcare professionals who provided expertise on bedsore prevention
- The Arduino community for IoT support
- All contributors who have helped with development and testing
The Dream Team: Chia Dion Yi, Chew Jin Cheng, Heng Xin Yu Felicia, Kwa En Min Sarah, Lee Jie Yuan
Project Link: https://github.com/dionyichia/Inflatacare
For support or inquiries, please contact: dionyichia@gmail.com
© 2025 Innovata Siez. All Rights Reserved.





