GPS Altimeter Vario
Posted: Fri Aug 20, 2021 1:16 pm
ESP32 based GPS altimeter and variometer with LCD display, flight logging, bluetooth NMEA sentence transmission, Wifi configuration
https://github.com/har-in-air/ESP32_IMU_BARO_GPS_VARIO
This project demonstrates a lot of features (build environment, esp-idf, freertos, arduino-esp32 library usage)
- Visual Studio Code + PlatformIO + Espressif esp32dev platform + Arduino framework using arduino-esp32-v2.0.0-rc1. IDE Bonus : has git integration, button clicks to stage commits and push to Github repository.
- Arduino framework with multiple freertos tasks distributed between core 0 and 1
- hard real-time requirements with IMU sensor sampling at 500Hz, barometric pressure sensor sampling at 100Hz, GPS at 10Hz
- resource synchronization
- AHRS algorithm for orientation and Kalman filter fusion of acceleraton data from IMU and altitude data from pressure sensor to generate lag-free altitude and climbrate measurements
- using both HSPI and VSPI interfaces for sensor interfaces and LCD interface
- audio feedback sine-wave generation using DAC and external amplifier
- bluetooth serial NMEA sentence transmission
- wifi AP + webserver configuration using ESP32AsyncWebServer, SPIFFS served index.html and style.css files, OTA firmware update, data/track log downloads
Credits are in the project README
https://github.com/har-in-air/ESP32_IMU_BARO_GPS_VARIO
This project demonstrates a lot of features (build environment, esp-idf, freertos, arduino-esp32 library usage)
- Visual Studio Code + PlatformIO + Espressif esp32dev platform + Arduino framework using arduino-esp32-v2.0.0-rc1. IDE Bonus : has git integration, button clicks to stage commits and push to Github repository.
- Arduino framework with multiple freertos tasks distributed between core 0 and 1
- hard real-time requirements with IMU sensor sampling at 500Hz, barometric pressure sensor sampling at 100Hz, GPS at 10Hz
- resource synchronization
- AHRS algorithm for orientation and Kalman filter fusion of acceleraton data from IMU and altitude data from pressure sensor to generate lag-free altitude and climbrate measurements
- using both HSPI and VSPI interfaces for sensor interfaces and LCD interface
- audio feedback sine-wave generation using DAC and external amplifier
- bluetooth serial NMEA sentence transmission
- wifi AP + webserver configuration using ESP32AsyncWebServer, SPIFFS served index.html and style.css files, OTA firmware update, data/track log downloads
Credits are in the project README