Smart Box for Therapy Telemonitoring is an IoT system based on Particle Argon that improves medication adherence and ensures proper drug storage. The device provides scheduled reminders, detects hatch interaction, monitors temperature and humidity, and publishes telemetry to the Particle Cloud for remote monitoring by caregivers or medical staff.
- Scheduled audio-visual reminders (buzzer + RGB LED) aligned to therapy windows
- Latching intake logic: alerts remain active until the patient opens the hatch
- Discreet mode after the window: no audible alerts, continued missed-intake notifications
- Environmental monitoring via DHT11 temperature and humidity sensor
- Hatch open/close detection via ultrasonic distance sensor
- Particle Cloud integration for telemetry and alerts
For a concise component list, see README_COMPONENTS.md.
| Component | Model | Pin(s) | Notes |
|---|---|---|---|
| Microcontroller | Particle Argon | - | Main device |
| Ultrasonic sensor | Grove Ultrasonic Ranger | D4 | Hatch distance |
| Temp/Humidity sensor | DHT11 | D2 | Environmental monitoring |
| Display | Grove 4-Digit Display (TM1637) | D1 (CLK), D0 (DIO) | Time display |
| Status LED | Grove Chainable RGB LED | A4 (Data), A5 (Clock) | Status indicator |
| Buzzer | Grove Buzzer | A0 | Audible alerts |
- Entry point: src/main.cpp
- Third-party libraries: lib (Particle-style layout)
The enclosure was modeled in 3D by the author, including pill compartments shaped as a slide to make pill pickup easier. Exported STL files are available in cad:
Simulation video: smart-box-simulation.mp4
The firmware implements a lightweight state machine:
- Trigger: at scheduled hours, therapy becomes active if not already completed
- Active monitoring: audio/visual alerts continue until the hatch is opened
- Reset and telemetry: a hatch opening logs the intake and resets the session
Therapy Alert: periodic reminder if the patient is lateDrive Alert: hatch opened (therapy intake confirmed)Cover Alert: hatch left open or opened outside scheduleEnvironment Alert: temperature or humidity out of range
Requirements:
- Particle account and access to Particle Web IDE or Particle Workbench
- Libraries already included under lib
Typical workflow:
- Open the folder in VS Code with Particle Workbench
- Use "Particle: Cloud Flash" or "Particle: Compile"
- Optional CLI:
particle flashorparticle compile
Compiled binaries are not tracked in git; generate them locally if needed.
Use Particle Console to monitor:
BoxTemp,BoxHumid, andDistancevariables- Published events listed in the Cloud Events section
Andrea Diano (IoT Frameworks project)
MIT
