Why Brewlogger?

May 31, 2025
Brewlogger

Background

I have been using Fermentrack and a BrewPi@esp8266 controller (fermentation chamber control) for a long time which has worked very well for me.

When working with the Gravitymon software I saw the need for having somewhere to record, store and experiment with the data sent by the devices. I was using influxdb2 for a long time but that did not give the possibiliities to analyse the data or test the devices in a simple way. Fermentrack didn't support pressure data and my knowledge in the django framework used for fermentack was not good enough for me to add that feature (I did try but gave up).

So I decided to build my own software for data collection using python and FastAPI with a user interface in VueJS which seemed to be a good and simple frameworks for my needs. I already switched to VueJS for the user interface implementation of my devices, since the output is really small compared to the output from other UI frameworks. This made it a natural choice for the Brewlogger UI as well.

I use Brewfather for my recipes it made sense to make this software an extension to that so I can import data (batches) from there. One other thing was that I wanted to have this on my local network and not use a cloud service.

Overall design

The whole project is modular and divided into several docker containers.

  • Webserver and UI components
  • Backend REST API's
  • Postgres Database for persisting data
  • Redis server for temporary data storage / caching
  • MDNS for finding devices on the local network
  • Bluetooth for receiving BLE data from devices
  • Log collection from devices

The software has been expanded quite a lot over the last 2 years but solely for my own purposes. It now supports Gravitymon, Pressuremon, Kegmon, Chamber Controller and Gravitymon Gateway. The modular design allows me to add more components when I need that functionality.

Features

One could say that Brewlogger has evolved to be my control center for all my other projects and ensure that they can interact and complement each other.

  • Keeping track of devices and their configuration
  • Device flashing
  • Device log collection (using the serial websocket)
  • Managing batches using integration with Brewfather
  • Taplist management and integration with kegmon
  • Gravity, Pressure and Pour data from connected devices.
  • Steer chamber controller with profile from Brewfather

I'm currently working on the pressure data handling which will evolve over time when I see how I use those devices. I have too little data collected from my prototypes so far.

The chamber controller software is another side project i added to allow Brewlogger to better interact and manage my fermentation chambers and keezer. Its basically a new UI on top of the BrewPi PID controller. But more on that in a separate blog post.

Whats next ?

I have not really spent a lot of time on documenting Brewlogger but it's there if you want to try it out or help with the documentation. I will keep updating Brewlogger for my own needs but requests are always welcome if I have the time to put into it. But there are still a lot of improvements that can be done to make sure these projects work well together.

Happy brewing, Magnus

Brewlogger