IINTS (Insuline Is Not The Solution) is an open-source insulin pump project designed for affordability and accessibility.
Built with MicroPython on a Raspberry Pi Pico, it controls insulin delivery using stepper motors and a user-friendly interface.
πΉ Customizable | πΉ Affordable | πΉ Open-Source | πΉ Made for Everyone
IINTS was created in 2024 as a personal project to learn more about insulin pumps and their mechanics. As someone with 13 years of experience living with diabetes, I was curious about how these devices work and wanted to build one myself. While not intended as a commercial alternative, I am sharing this project as an open-source learning experience for anyone interested in electronics, programming, and medical technology.
- π May 2024 β First working prototype using Raspberry Pi Pico
- π July 2024 β Added OLED display and user interface
- π December 2024 β Introduced microstepping for improved precision
- π April 2025 β Awarded "Most Technically Complex Project" at Coolest Projects Belgium
- π May 2025 β Named "Student in the Spotlight" for the third time, this year for IINTS!
- π July 2025 β I was among the top 7% of applicants from over 120 countries for a place at the CERN Solvay camp
π‘ Special Thanks
A huge thank you to the coaches of CoderDojo Genk and Hasselt for their incredible guidance and support throughout this project. Their mentorship has been invaluable in helping me bring this idea to life! π
β
Stepper Motor Control β Accurate insulin delivery using stepper motors
β
User-Friendly Interface β Buttons & Display for easy control
β
Safety Mechanisms β Basic fail-safes for reliable operation
β
Customizable β Modify dosage & settings as needed
β
3D Printable β Open-source STL files for hardware
β
Open-Source β Licensed under MIT, free for personal & medical research use
![]() |
Prototype final version |
- Raspberry Pi Pico (RP2040)
- OLED/TFT Display (for UI)
- Stepper Motor + Driver (e.g., A4988, ULN2003)
- Push Buttons (for user input)
- Battery / Power Supply
- Syringe Pump Setup (or peristaltic pump)
- 3D Printed Mounts (STL files included!)
All necessary 3D printable parts can be found in the /stl
folder.
π Download STL Files: STL Folder
- Material: PLA or PETG
- Layer height: 0.2mm
- Infill: 20%
- Supports: Not required
- Bed adhesion: Brim or skirt
Ensure you're using the correct MicroPython version:
πΉ MicroPython v1.23.0 (2024-06-02) for Raspberry Pi Pico
π Download Here: https://micropython.org/download/RPI_PICO
Connect to your Raspberry Pi Pico and run:
import os
os.uname()
Thonny is recommended for coding and uploading MicroPython scripts.
π Download: https://thonny.org
Steps:
- Open Thonny
- Select Raspberry Pi Pico as the interpreter
- Install MicroPython firmware if not already installed
Run this command to download the project:
git clone https://github.com/python35/IINTS.git
Or manually Download ZIP from GitHub.
- Connect Raspberry Pi Pico via USB
- Open Thonny
- Copy
main.py
and other files to the Pico - Click Run
Edit config.py to set parameters:
INSULIN_RATE = 1.0 # Units per second
STEP_MOTOR_SPEED = 200 # Steps per second
DISPLAY_BRIGHTNESS = 0.8 # 80% brightness
Adjust based on your needs.
This project is MIT Licensed, meaning you can freely use, modify, and distribute it. However, this is NOT a certified medical device β use it responsibly.
Want to improve the project? Fork the repository and submit a Pull Request.
π¨ Warning: This project is for educational and research purposes only. It is not an FDA-approved medical device. Always consult a medical professional before using insulin pumps.
π½ Clone the repository and start experimenting!
Insulin dosing is often calculated based on several key factors, including the individual's blood glucose level, the amount of carbohydrates they have consumed, and their insulin sensitivity. Below is an overview of how insulin dosages can be calculated:
The Insulin to Carbohydrate Ratio (ICR) determines how much insulin is needed to process a certain amount of carbohydrates. A common ratio might be 1 unit of insulin for every 10 grams of carbohydrates (1:10 ratio). This ratio varies per individual based on their insulin sensitivity and time of day.
Example: If a person eats 30 grams of carbohydrates and their insulin-to-carbohydrate ratio is 1:10, the calculation would be:
The Insulin Sensitivity Factor (ISF) measures how much the blood glucose level of a person will drop for each unit of insulin injected. A typical value might be that 1 unit of insulin lowers the blood glucose level by 50 mg/dL.
Example: If the current blood glucose level is 200 mg/dL, the target is 120 mg/dL, and the ISF is 50 mg/dL per unit:
The Total Daily Dose (TDD) is an estimate of the total amount of insulin a person needs in a day. It can vary based on individual needs, but a common formula is:
A rough estimate of the TDD can be calculated based on the individual's weight:
Example: For a person weighing 70 kg, the estimated TDD might range between 35 and 70 units, depending on their specific needs.
Bolus insulin is given to address the blood glucose levels after meals or to correct elevated blood glucose levels. The dosage is calculated based on the insulin-to-carbohydrate ratio (for meals) and the insulin sensitivity factor (for corrections).
Incorrect insulin dosages can lead to hypoglycemia (low blood glucose) or hyperglycemia (high blood glucose), which can result in serious health risks. Regular blood glucose monitoring and accurate calculations are crucial for proper diabetes management. This is where a device like the IINTS insulin pump can help ensure precise, tailored dosages for better diabetes management.
Advanced insulin pumps use algorithms to automatically adjust insulin delivery based on real-time needs. These systems take into account:
- Carbohydrate intake prediction
- Blood glucose trends
- Physical activity
- Sleep cycles
Such algorithms can provide smarter insulin delivery, ensuring more accurate and efficient insulin management than manual calculations.