Skip to content

BernhardSchlegel/BierBot-Bricks-RaspberryPi

Repository files navigation

Raspberry Pi mashing and fermentation controller

This code will turn you Raspberry Pi into a mashing or fermentation controller to automate all parts of your beer brewing process. Setup is super-simple. If you want to showcase your build, please reach out to us hello@bierbot.com. Oh: And please consider giving this repo a ⭐!

There is a extensive step-by-step tutorial how to build one yourself available on the BierBot.com Blog.

If don't want to do all the electronics/wiring yourself, check out this alternate WiFi switch firmware which runs the same software.

Key features

  • Super easy setup and easy to try out (have a spare SD card?)
  • Runs on Raspberry Pi (compatible Pis)
  • Various kettle setups supported: BIAB, RIMS, HERMS.
  • Free, open source license (GPL-v3)
  • PDI controller that works with a simple and cheap non PWM/SSR relay and yet eliminates temperature overshoots.
  • Mashing controller and fermentation controller, both with automatic timer control.
  • Multi-language (German, English, Portugese, (soon) Finnish, tell us if you want to help!)
  • Integrated recipe management: Set the temperature, the time, etc.
  • Integrated logging: See your temperature log during the mash and export a PDF after brewing
  • User authentication
  • Access from everywhere
  • Found a brewery and invite friends to share equipment, recipes, etc.
  • Works perfectly on any Smartphone, Tablet, PC or Mac (or any web browser)
  • Beer.XML import
  • Configurable units for temperature (Celsius/Fahrenheit), gravity (°Plato, specific gravity), volume (Liters, Gallons), weight (Grams, pounds) etc.
  • Control agitators, pumps, valves.
  • Missing something❓ tell us! 🗨️

Screenshots

Sample Build

Rasbperry Pi Brewing control using BierBot Bricks

Mashing

ℹ️ You can go to this screen manually by clicking on the temperature if a brew is active.

Display in mashing

Fermentation

ℹ️ You can go to this screen manually by clicking on the temperature if a brew is active.

Display during fermentation

Getting started

Raspberry Pi OS (Bullseye)

Open a commandline (Ctrl + Alt + T), navigate to your desired folder (e.g. cd ~/Desktop) and run the following commands:

git clone https://github.com/BernhardSchlegel/BierBot-Bricks-RaspberryPi.git
cd BierBot-Bricks-RaspberryPi
sudo pip3 install -r requirements.txt
sudo python3 setup.py

Setup will guide you through the installation. ℹ️ Hint: You can accept the proposed default value by hitting Return.

Tested on Python 3.7

Raspberry Pi OS (Bookworm)

Open a commandline (Ctrl + Alt + T), navigate to your desired folder (e.g. cd ~/Desktop) and run the following commands:

git clone https://github.com/BernhardSchlegel/BierBot-Bricks-RaspberryPi.git
cd BierBot-Bricks-RaspberryPi

# Setup python virtual environment. Required for Bookworm.  See link for more: https://www.raspberrypi.com/documentation/computers/os.html#python-on-raspberry-pi
python3 -m venv .env && source .env/bin/activate && pip install -r requirements_bookworm.txt

# Link virtual environment to system-level lgpio package. The lgpio package in combination with rpi-lgpio replaces RPi.GPIO in bookworm. The lgpio package is managed using apt which is not supported in virtual environments. This gets around that issue for now.
ln -s /usr/lib/python3/dist-packages/lgpio.py $VIRTUAL_ENV/lib/python3.11/site-packages/lgpio.py
ln -s /usr/lib/python3/dist-packages/lgpio-0.2.2.0.egg-info $VIRTUAL_ENV/lib/python3.11/site-packages/lgpio-0.2.2.0.egg-info
ln -s /usr/lib/python3/dist-packages/_lgpio.cpython-311-aarch64-linux-gnu.so $VIRTUAL_ENV/lib/python3.11/site-packages/_lgpio.cpython-311-aarch64-linux-gnu.so

sudo -E env PATH=$PATH python3 setup.py

Setup will guide you through the installation. ℹ️ Hint: You can accept the proposed default value by hitting Return.

Tested on Python 3.11

Rotating the "Official 7" Touch Display with Wayland

Some cases mount the display upside down. There were originally issues with rotating the display and touchscreen running Wayland Desktop. This appears to be fixed. Here are the steps to "flip" the display and touchscreen:

  1. Update OS to latest and reboot
sudo apt update
sudo apt upgrade
sudo reboot
  1. Change screen orientation either from the desktop (https://www.raspberrypi.com/documentation/accessories/display.html#changing-the-screen-orientation) or edit ~/.config/wayfire.ini
[output:DSI-1]
mode = 800x480@60049
position = 0,0
transform = 180
  1. In some cases you may need to add the following to your /boot/firmware/config.txt to get the touchscreen to properly rotate. Use this as a last resort.
[all]
dtoverlay=vc4-kms-dsi-7inch,invx,invy
display_auto_detect=1

Raspberry Pi compatibility

The install script and software has been tested on the following Raspberry Pis (source):

Raspberry Pi 1 2 3 4
Type A A+ B B+ B B v1.2 A+ B v.1.2 B+ B
ARM ARMv6 (32 Bit) ARMv7 (32Bit) ARMv8 (64 Bit)
WiFi onboard ✔️ ✔️ ✔️ ✔️
Bluetooth onboard ✔️ ✔️ ✔️ ✔️
setupscript ✔️
software ✔️

TL;DR: Get the cheapest one! Keep in mind you will need WiFi (so getting an Pi 3 or Pi 4 is probably worth the price). Also, Pi 3 and 4 support bluetooth - which is handy if you want to use it as bridge for you TILT.

If you happen to own one of the models with a blank cell, shoot us a message!

License

  • The Code: GPL-3.0
  • Orange Mash BierBot Logo: (c) by Bernhard Schlegel, all rights reserved.

Copyright (c) 2021-present, Bernhard Schlegel

About

Raspberry Pi powered beer brewing software. Supports mashing and fermentation. Works with smartphone, iPad, Mac, & PC.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages