The aim of this spare time project was to build a low power GPS logger for multi-day hikes using an ESP32. It logs the following attributes into a CSV file:
- Timestamp
- Latitude/Longitude
- Altitude
- HDOP value
- Number of available satellites
The Deep Sleep functionality of the ESP32 is used to improve the battery life. Every time a GPS position with a good HDOP value was found, the ESP32 will be going into Deep Sleep for 30s.
- FireBeetle ESP32
- GPS Modul L76X Multi-GNSS Waveshare
- Micro SD Card Module 3.3V/5V
- 18650 Li-Ion Battery (3000mA)
First test have shown a battery life of around 92 hours with the 3000mAh battery.
A simple CSV file is used for logging the GPS coordinates. To use the logs with other programs or to visualize it better, it can be converted into the GPX format. The F# console application from the tools directory of this repository can be used for this.
- Improve battery power by using the low power mode of the L76X GPS module
- Implement a more soffisticated Deep Sleep algorithm do improve battery life even further.
- ...