Homebrew interface built in Qt for Raspberry Pi

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Tyrant

Member
Joined
Feb 26, 2011
Messages
22
Reaction score
4
Location
Woodland Hills
I have been brewing beer for a very long time, and have gone through many iterations of brewing equipment from propane, to stove, to electrical, all at various batch volumes. I have always seen home brew panels look like The Electric Brewery panels (Who have done a great job on their design) but I have yet to see anything a bit more modern with touch screen interfaces. This project aims to fill the gap between the manual switch / button based control panels, to a more modern touch screen interface - albeit a gap I may have created myself. :)

I wanted to create something that had minimal reliances on external hardware, easy to use and easy to adapt to a large number of brewing requirements all while keeping costs as low as possible.
For example:
Raspberry Pi Zero 2 W: $15
SainSmart 2 Channel Relay - $9
4 channel MAX31865 temperature board - About $8 per MAX31865AAP+ chip + PCB (I have extra boards if you want one), and various resistors and such. I will publish the Eagle files and full BOM for the module. I have seen them online being sold for way more than they should be since the MAX31865 datasheet almost spells out the design. Its a small market, so things like this will cost more simply because no one is ordering chips and reference resistors at scale.

The entire project is built on the Qt framework, cross compiled to the Raspberry Pi and can be displayed on any sized screen. In my case, I used a 10.1 HDMI touch panel @ 1024x600, which seems to size perfectly for the elements on the interface.

Outside of the interface programming itself, I built the high amp control panel as well which I plan to release the project plans and parts list on soon.

Here is a schematic for a DC relay companion board that will serve two contactors as well as PWM control over the SSRs.
Github: GitHub - TyrantUT/Companion-Board: 4 Channel DC Relay for HLT / Boil Contactors, and HLT / Boil PWM
Writeup (TBD): Homebrew 4 channel DC Relay Companion Board - Make Tech Secure

Here is the main write up site for both the Cross Compiled Qt 5.15.8 for Raspberry Pi 64bit, as well as the brewery interface itself.
Homebrew interface built in Qt for Raspberry Pi - Make Tech Secure

Features
  • 3 page Swipe
  • Temperature monitoring for 4 PT100 temperature probes
  • Built on the Maxim Integrated MAX31865 RTD-to-Digital Converter
    • Design specs for the 4 channel temperature board will be posted soon
  • Initial design is for a 30amp single element design (Only 1 element can fire at a time)
    • Future builds will allow for more brewery variations
  • Does not rely on a separate Arduino
    • The two companion boards are a 2 channel relay (Boil and HLT Element Contractors), and the 4 channel MAX31865 RTD sensor board
  • Built in Recipe sheet to monitor mash and boil times or hop schedules
    • You will need to import your recipe as an XML file to the Qt project before compiling in order for the application to pick it up
    • Future releases will allow for a separate system based folder of recipes that does not rely on recompilation (This was just my first round)
  • Interface detects probe faults and does not allow you to turn on the elements (Double tap the screen to override)
  • Does not rely on a full Linux OS with full desktop
    • Qt has been cross compiled with EGL allowing the interface to run directly from the console
  • External Web Server for remote viewing of Temperature and Setpoint data
Cross Compiling Qt for Raspberry Pi
Cross Compile Qt 5.15.8 for Raspberry Pi 64bit Using Docker
https://github.com/TyrantUT/RaspberryPi64CrossCompile

Building the Brewery Interface
GitHub - TyrantUT/brewberryPi_Public: Qt Homebrew interface for Raspberry Pi

Building the Web Host for Remote Viewing of Temperature Data
GitHub - TyrantUT/brewberryWeb_Docker

Continued Design and Additions
  • More robust brewery tools to the second swipe page
  • Options for pumps / additional relays (Right now they are just manual flip switches)
  • The 4th temperature probe is for a secondary Mash probe. (One for the outlet before the pump, and one inside the Mash Tun) - Tap the text 'Mash Tun' on the main interface to change to the Mash 2 Probe
  • Integrating the Brewery Timer to the Hop and Mash steps within the Recipe Sheet
    • I like to drink when I brew, and its easy to get lost in your scheduling. :)
  • The recipe sheet might look too familiar to another piece of brewing software so I will need to change this
  • Mobile App??
I have run the software through some stress testing and long term running - and everything seems to be running great. I have been running this on a Raspberry Pi Zero 2 W for hours at a time without any excessive heating.
There may be some need for an internal fan inside the control panel just to help disperse heat generated by the MAX31865 board as the BIAS is never brought low since I am running in automatic (continuous) conversion mode.

I am open to suggestions, and since I don't aim to make any money on the project I also included all the source code. I'll rely on donations if they happen to come my way, which can be pushed back into the community rather than into my pockets.

Screenshots

Main Screen
image.png


Brewery Tools / Timer
image-8.png


Recipe Sheet

image-9.png


Web Interface
image-10.png
 
Last edited:
For those interested, I have also added a step by step guide for how to cross compile Qt 6 for the Raspberry Pi. Not sure who is using Qt 6 just yet, but it does have promise for what it can do over Qt 5.4 (Might be outside the home brew community but figured I would share anyway)
With small modifications to the source code of this project, we can add nearly an unlimited amount of peripherals to include servos, level gauges, simple relays for heating and cooling, or any number of other input / output devices - all with individual Swipe pages within the interface for display and control. I am planning on building out additional features of the project as well, so if anyone has suggestions - i am very much open to hearing them.

In addition to the RPi which includes this fancy touch interface, I also have similar code running on the STM32 platform - similar to an Arduino, but using FreeRTOS, which allows much better processing and multi-threading for the newer ARM core chips. I have not published this code just yet because I have not tested the software with real hardware yet, only in simulation. However, the back end coding is nearly the same for the STM32 as the Pi, since everything is written in C/C++ and using Threading.

I hope this peaks interest in someone as much as it has for me. It has been my pet project since the beginning of COVID.

Here is the link to the Qt 6.4.0 cross compile steps
https://maketechsecure.com/cross-co...raspberry-pi-using-docker-step-by-step-guide/
 
Very cool stuff, we have been migrating a bunch of our code older 5.x to Qt 6 to help us keep up with a few things. We have some cross platform apps written primarily in Qt along with other C langue. One of the last things i expect to find away form work in the Brew forums was someone developing in Qt these days, the world is devolving into JS, let alone a cool brew wares! I'm gonna share your GitHub with a couple of the developers on my team I occasionally brew with. Perhaps we can contribute.
 
That would be awesome actually! My intention was to make this an evolving project and hopefully get some people involved in its development.

My next steps in this whole project, other than continued development and enhancements is to develop a core compact control panel using this interface. I have some design ideas and once I get some working examples I plan on sharing them out here as well.
 
I just happened across this, and while I don't need ANY more projects, QT looks promising. Going from FOSS development tools to subscription-based may be a big step for someone who doesn't do it for a living, but MAN, I would love to have someone to complain to when I find buggy core libs!

I have not come close to automating or even controlling my brew day yet, but I'll bookmark this to come back after I build a house and start setting up my brewery again.
 
Interested in building some automation into my electric brewery and ferementation. I do not have any RPi experience but want to learn. What's the best way to get started to learn all this? I'm very hands on and quick learner.
 
I do not have any RPi experience but want to learn. What's the best way to get started to learn all this? I'm very hands on and quick learner.
A Pi is a Debian-based hardware/software combination. Get yourself a Pi or use something like Oracle Virtual Box to start now with the Raspberry Pi Desktop in a VM. Then learn a little bash, then figure out which direction you want to go.

Qt is a development framework, but there are many examples out there of creating a full stack on Raspberry Pi's without it.
 
Back
Top