This repository contains the firmware and hardware documentation for the Sentinel project, based on LilyGO ESP32-S3 and compatible boards. The system is designed for sensor data acquisition, wireless communication, and remote monitoring in challenging environments.
- Multi-sensor support:
- Accelerometer (MPU9250/MPU6500) - Fall detection, steps counting
- Temperature & Humidity (DHT22)
- Gas detection (MQ2)
- Battery monitoring
- Heart rate monitoring (Polar H9 via Bluetooth)
- Wireless communication:
- WiFi with automatic LTE fallback - Seamlessly switches to LTE when WiFi is unavailable
- LTE/4G (TinyGSM)
- Bluetooth Low Energy (NimBLE)
- GPS (TinyGPSPlus)
- Modular FreeRTOS tasks for sensor reading, communication, and processing
- 3D-printable case design (see
Prototype-design/Case-design/Format-for-3D-printing/) - PlatformIO project for easy build and deployment
- LilyGO T-SIM7670G S3 or T-A7670 (ESP32-S3/ESP32)
- DHT22 sensor
- MQ2 gas sensor
- MPU9250/MPU6500 accelerometer
- LiPo battery (with voltage divider for monitoring)
- Optional: Polar H9 heart rate strap (Bluetooth)
See LilyGO T-A76XX repo and include/utilities.h for supported board variants and pinouts.
- PlatformIO
- Arduino framework
- Libraries (see
platformio.ini):- DHT sensor library
- MQUnifiedsensor
- NimBLE-Arduino
- MPU9250_WE
- TinyGSM (in
lib/) - TinyGPSPlus (in
lib/)
-
Clone this repository
-
Install PlatformIO (VSCode extension or CLI)
-
Connect your ESP32 board
-
Configure board and secrets:
- Edit
platformio.inito select your board/environment - Copy
include/secrets.h.defaulttoinclude/secrets.hand configure your network credentials - Review
include/config.hfor additional system configuration options
- Edit
-
Build and upload:
pio run -t upload
-
Monitor serial output:
pio device monitor
src/- Main application source code (tasks, sensors, network)include/- Header files and configurationlib/- External libraries (TinyGSM, TinyGPSPlus)Prototype-design/Case-design/Format-for-3D-printing/- 3D-printable case files (STL)docs/- Documentation, diagrams, and pinoutsscripts/- API developing scripts
- LilyGO T-A76XX hardware repo
- TinyGSM library
- TinyGPSPlus library
- 3D case:
Prototype-design/Case-design/Format-for-3D-printing/Base-prototype-v1/Project_Sentinel_Base_Prototype v.1.stl - Class diagram
- Pinout: T-SIM7670G-S3, T-A7670
- Systemdevelopers Retrospective
For our hardware
This project is licensed under the MIT License. See LICENSE for details.