Magnetometers are used to measure the strength of a magnetic field. They can also be used to determine orientation and to compensate gyro drift. Magnetometer provides the last three degrees of freedom in 9DOF sensors. There is one problem though, magnetometers are prone to distortion.
While evaluating M5Stack for a sidehustle project I created a proof of concept which needed to access wifi network, query an API and download an image. Wifi geolocation which displays a static Google map was a perfect fit. Here are some notes about it.
M5Stack is an absolutely beautiful ESP32 based enclosure and development board. It has 320x240 TFT screen, three buttons, sd card slot, Grove I2C connector and can be powered with LiPo battery. But does it run Micropython?
WiPy is a pricey but good quality ESP32 development board from Pycom. I got mine from Pimoroni. Pycom does offer their own firmware updater but for my taste it has bit too much magic going on. I prefer to do things from commandline and I stay in control to see exactly what is going on. Quick Googling did not reveal anything so I decided to document my upgrade procedure.