unsurv-offline was originally designed to track surveillance cameras that you encountered throughout your day although its open hardware lets you adapt it to your needs.
It uses OpenStreetMap (OSM) data on the SD card to compare your current postion via the high quality ublox GNSS receiver with the postions on known surveillance cameras. If you enter a predefined area around the camera a small datapoint is saved for later analysis. The analysis happens whenever you scan the NFC tag that is integrated into the case. Have a look at the demo on Vimeo to see it in action together with an android app for visualizations.
The integrated BMA400 3-axis accelerometer allows for automatic deep sleep on the ESP32 when no motion is detected as well as reactivation if motion is detected again. The step counter, running / walking and tap / double tap detection lets you adapt the project to your needs. Want to design a DIY step counter with added GPS track, go for it.
Please be aware that the images show an older prototype version with an MPU6050 instead of the BMA400 and a regular ESP32 instead of the TTGO Pico variant.