Gravitymon new Gyro Support!

May 19, 2025
New gyro

In september last year, the user Levi--G raised an issue on github regarding adding support for more other gyro boards. I'm always open to new ideas that can improve my projects if they are feasible and inline with the project goals and ambitions. This was a well written idea with good improvements for the project;

  • Lower power consumption, which means longer battery life
  • FIFO that can be used in deep-sleep to measure tilt before the device wakes up
  • Faster sampling rate so it takes less time to get a reading
  • The gyro MPU6050 used is rather old now (10+ years)

So who would say no to better accuracy and lower power consumption. I'm really happy that Levi--G took the time to build it and add this feature to the project.

Experiences so far

I managed to get some modules from aliexpress that I could use to build a prototype. I tried it and a standard iSpindle for comparision. The graphs don't overlap but that is due to the fact that I didn't spent too much time to calibrate the new device. But the result shows a much smoother curve!

Building your own

The good thing is that it's easy to build a device. There are modules that are pin compatible and i would suggest to use an ESP32c3 or ESP32s3 as the main board for this since that will allow use of newer features in gravitymon.

Currently Levi--G is working on his own replacement board that can be found here when done.

I used this development board for my prototype which worked well. The downside with the aliexpress boaard is that they have inverted the X/Y axis, so I had to add an option to swap that in the software.

Building a device is the same procedure as for the MPU6050 gyro so it's quite easy!

Filtering and Gravity Velocity

This work also inspired me to finalize a few other ideas that I had for the project. One of them was gravity velocity that I have been playing around with but could not find a good way to implememnt. Adding this feature meant that I needed a lot of data from the last few hours.

I didnt want to store this in the flash memory since that would decrease the lifespan of the device, but on the ESP32 there is 8kb of RAM that will be active during deep sleep. This was perfect for the this feature. So I have used this for storing data for this feature, unfortunately only works on the esp32.

I also added an option to run the gravity data through a low-pass filter that should help to smooth out the values during active fermentation, this will also work on the older MPU605/6500 but only with an esp32 board.

Its likley that new features will only be possible on the esp32 so it's a good time build yourself a new device using the latest options.

Happy brewing, Magnus

Gravitymon