After many nights stretched over a few years, I’ve finally finished the preliminary design for my Raspberry Pi Brew Controller. All the circuits appear to work and now I’m ready to buy some parts to breadboard the design. I’m sure things will change along the way, but getting to the point where I can purchase things has been a huge hurdle for me. Expect to see many more posts as the prototyping comes along and hopefully I’ll get to a real brew controlled some time in the future.
Beer related projects such a new tools, equipment, or process
I had been using Raspberry Pints ported over to my windows server for a while. Getting it installed was a hack job and the database calls never worked right. After upgrading my database and PHP, my Raspberry Pints install stopped working and a reinstall didn’t work either (I was hoping that my upgrades eliminated the need for my hacks, but no luck). Raspberry Pints hasn’t been updated in a few years so rather than figuring out how to do another hack install, I started searching for other options. I came across Kegerface which looked nice and rather than using database is just reads simple csv file. This worked out of the box, but I kind of liked the Raspberry Pints display better. This inspired me to mix the simplicity of Kegerface with the display of Raspberry Pints. I started with the raspberry pints code base. Then I cut out the database calls and added in a file read scheme. With a few more tweaks the first working version is online. There is more to do. The code is still messy with old code commented out and random test lines also commented out. Also, I’d like to change up the style.css a bit, but I’m also happy with what is working now. I’ve named it Simple Pints and posted to github.com to share just in case there is someone else who might find it useful. Here is my running version.
I have my own bar coasters! I don’t know why, but this seems so much fun. I was fortunate enough to have a few beers reviewed on The Brewing Network’s Dr. Homebrew podcast from which I won a gift certificate to GrogTag. After looking at the various products I settled on getting bar coasters. I spent way too much time thinking about this. I think I received the gift card in February and then thought about it for a good six months. When I actually sat down to make something I spent several nights working on various designs. In the end I settled on a somewhat modern theme loaded things with Easter eggs about my background. Can you find everything?
I will have to say when I sent this to get printed I suspected the print quality wouldn’t be that great. Much to my surprise everything looks fantastic. Below is a photo of the real coaster
And finally here are all the easter eggs exposed
- ViaSat-2: The last satellite I help build at Boeing. I helped design several of the unique digital payload units.
- Silhouette of Engineer Mountain as seen from Purgatory: Purgatory is where I grew up skiing
- Iron Cross 360 with a grab: I’m still trying to land my dream trick from Tommy Mosley’s 1998 gold medal Olympic run
- A Zia symbol: New Mexico state symbol as a look back to where I was born and raised
- Delta Chi: My college fraternity
- A pull down circuit: A reflection of my EE background. Also this is a variant of what I designed into my future brewstand controller
- My family: two boys, my wife, and I
- Palm Trees: These are the plam trees that could be seen from our old Hermosa Beach balcony
- NMSU: where I attended undergrad
- Standford: where I completed my masters’ degree
- My mash paddle: Not really and Easter egg, but this corner got charred one brew session when I left it too close to the burner and later cut it off
- Norte Dame!!!!!
- Soccer ball: I’ve been playing since a kid, still play, and am having fun teaching the boys to play
- Abbey of St. Peter in Oudenburg: Abbey founded by St. Arnold, commonly referred to as the brewer’s saint
In playing around with the Raspberry Pi and Craftbeerpi, I came across a project called Raspberry Pints. This project is intended to enable a single screen behind a bar show what is on tap. It has fancy features to monitor the kegs if you add flowmeters and stuff. Somewhere along the way I read that someone noticed that this can be ‘ported’ to work on a normal apache/php/mysql server. So I thought, I have one of those (the website that you are reading) and decided to give it a whirl.
Turns out the project is kind of dead or at least stalled for a while, but I managed to learn that the 2.0.1 zip file was a good start. I kicked off the install and ta-da it said everything was a success. So I went to the main page and immediately ran into several errors.
Error 1: I think the install script running on my server didn’t update config files for the username and passwords that I was asked for in the install script. There are a few files this had to be updated.
Error 2: The main page didn’t recognize some variables setup in a few include files. I’m pretty not php savy, but it seemed that if I setup a variable as a global things went fine.
Error 3: Some of the includes were missing from the admin page to get into the mysql database. Simple adding the inlcude files to the files that generated errors seemed to overcome this.
Once I was past that I was in and able to set things up. Quickly I discovered that I need to learn how to use this better. It seemed like some pages were overwriting information about beers when I didn’t think they should and subsequently mixed up the data on the beers. After a bit of trial and error I was able to get my info added.
I then made a few updates. I wanted a way to jump back to my wordpress site added to the display. The logo on the top left normally takes you to the admin page, but I changed this to go back to my own page. This took some effort as I didn’t realize how the project was converting the mysql data into php variables. Several hours later I discovered an include file was doing this magic. Simply adding my new variables to this and adding the data to the mysql database got this all going. I tried to make an Admin link right below the logo, but my random attempts to update the php and css files failed. So instead I setup and Admin link on the left header in a ugly way.
So there we go I have my digital taplist up and going. Now I can get back to my brewstand controller design, but at some point I need to create my own logo.
5/10/2018 Update: I figured out how to add some PHP code that will convert a snapshot of my current raspberry pints webpage to an image using khtmltoimage and add it to this post and my homepage rather than using iframe. This allows the image to size correctly in my post.
Once I was able to get into my Rasberry Pi (RPi) I started to think about how I was going to use it. I was pretty far along on my Ardunio controller and circuit schematics that I started to think that I would connect the serial cable to the Ardunio and build upon my existing design.
So I started to look at Craftbeerpi which seemed to have a pretty solid start on what I wanted. The more I looked it seemed to not have support to read from an Ardunio to the pre-made widgets. So I started scheming ideas to make my own program. For better or worse I was leaning towards a Python development. My brief time using Python wasn’t too great and I hated the tabbing format for block commands (if statements, loops, etc). However, after looking around it seems to be one of the more popular languages and something I should probably be more familiar with. From what I could see Django was about my best option as it looked like I would be able to get something up and running quickly. If I could follow instructions better I would have Django setup in about 20 mins, instead I spent a day fumbling with errors before I re-read the instructions.
With Django setup I started to wonder if I was making this too hard. So tonight I re-visited my I/O needs from my Arduino controller vs what RPi offers. Turns out RPi can fully support my needs and I don’t have to deal with interfacing with the Arduino a bit more. With that simplifcation, Craftbeerpi is now back to being my quickest way to getting a Brewstand Controller working. I think I’d still like to make my own program, but given that I tend not to have much free time (unless it is late at night) I seriously doubt that will ever happen once I get a controller working with Craftbeerpi. So now I just need to tweak the circuits a bit to adjust for 3.3V outputs and watching the currents.
I’ve been toying around with an idea to make my own brewstand controller. Over the past year or so I’ve been designing a front panel and circuits with plan to connect to an Ardunio for future semi-automation with an Android app. The more I’ve been kicking around ideas it started to seem like a web interface would be nice rather an Android app so that I could control it from any device. For my birthday I got a Raspberry Pi (thank mom and dad) to do just that. Here is a quick post about getting setup.
Took about 30 mins to find a microSD card and another 20 mins to find the adapter to fit into the normal SD card slot on my laptop. Great start! I followed the simple directions to format, download, and install the NOOBs file to the card. Setup the RPi with an HDMI cable to my laptop and powered it on. Nothing. When trying to switch over the screen to the HDMI input it kept telling me not HDMI input detected. After googling a bit I came across the idea to reinstall the Alienware On-Screen Display (OSD) program. So I did that and didn’t notice that it was the Win 8 version instead of Win 7. So that uninstall the version I had working. I stopped the night with my function keys on the keyboard not working and still hadn’t turned on the RPi
Found a Win 7 version of the Alienware OSD and got my keyboard working again. Decided to try getting things going headless with help from this post. So I re-installed the RPi software with SSH on. Then I plugged in a network cable from the RPi to my computer. After many different attempts I couldn’t figure out what IP address the RPi was on and could never connect to it.
Break. Need to actually get things done around the house.
Moved the RPi close the router and plugged it in to the LAN. I was able to see the device on the router screen and then SSH into the device for the first time! With this I was able to see the wireless cards MAC address and then configure the router to set the RPi to a fixed IP address. From there I was able to remove the network cable and still connect to the RPi over the wlan. Progress! I updated programs, added personal user account, and took sudo privledges from the default ‘pi’ username. Next, I set out to get X11 working so I could see program windows on my laptop rather than just a terminal window using Xming. I was able to get X11 working, but only for a program at a time (never the background desktop). And that is where I left things
Found another other ideas to get X11 sharing the desktop. This was to create a shortcut with the following Target:
C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
This worked and I can now see the full desktop! Then found some more ideas why the HDMI wasn’t working and made some setting changes the the RPi.
Add these two lines to
/boot/config.txt and reboot Raspbmc:
hdmi_force_hotplug=1 sets the Raspbmc to use HDMI mode even if no HDMI monitor is detected.
hdmi_drive=2 sets the Raspbmc to normal HDMI mode (Sound will be sent if supported and enabled). Without this line, the Raspbmc would switch to DVI (with no audio) mode by default.
Success, I can now see the RPi through the HDMI! So there we go after 5 days I finally can see my RPi. At this point I think I’m ready to start moving toward setting up things to start some coding.
I felt as if my hops weren’t getting saturated enough in bags. When I tried the no bag approach I either had stuck filters or a lot of hop matter in the fermenter. So after a bit of research, I made a hop spider primarily based on the thread at homebrewtalk.com.
It was about the easiest DIY brew project to do and cheap too. Its been great handling the trub and I no longer have to worry about cleaning out several muslin sacks. I highly recommend this approach if you are having similar issues.
Here is a photo of my nearly complete brewstand. To finish I still need to clean up the electrical wiring (and to think I’m licensed in something like this), build my circuit board, build the HERMs pot, program an Ardunio and paired Android app. Besides that I can do large batches 15+ gallons of infusion mashing brewing. More photos at the end.
When we lived in CA I was able to get some brewing equipment off of Craigslist that would let me do at least 15G batchs. The problem with that is that I didn’t think it to be a good idea to lift 10+ gallons of boiling water above my head to pour into the mash tun.
Since I had everything in the garage which was incredibly over packed the initial stand had to be very compact. I knew the pump wasn’t self priming and came up with an idea to solve that…suction start. I tried a few concepts before I figured out how to make things work the way I intended it too. Here is a photo of that stand for batch #12.
With a pump in hand I started day dreaming of a better brewing setup. I spun up some ideas for a single pump HERMS system and created some basic Visio drawings to help make sense of it. I posted my ideas on homebrewtalk, but didn’t catch the attention of anyone. By this time we had moved to CO and I continued to press on with my idea. In a panic to make my back-to-back brew days while Lisa and the kids were out of town I slapped together my concept. Needless to say the brews day didn’t go well. Switches didn’t work, power supply died, liquid wouldn’t transfer through the tubing, and all sorts of other things.
I learned a lot on the failed brew session and went back to the drawing boards. With more space to work in CO I dreamed up a real brewstand. A 2 tier, all wood, and pretty simple to assemble brewstand. I use some grid paper to get my the concept put together and then used Google SketchUp to complete the design. One theory for my failed liquid transfers was too much back pressure and suction on the tubing. So I simplified the tubing and added in a gant before the pump. I got one brew day on this setup for batch #16. The day went well, but I figured out a few more tweaks to make. I then had a 3 day brewing marathon to make 40G in 4 beers. The brew day was success and I’m quite pleased with my brewstand.
Next update for the brew stand I hope to have the HERMs system up and running with a decent looking control panel and Android app.
This post is long overdue, but here is a quick recap of my AC replacement.
About a year ago the window AC unit in the fermentation chamber went out when I was making batch +8. I’m pretty sure this is the reason that batch ended in bottle bombs. I wasn’t too disappointed in the AC failing because I felt that it was working more than it should. It appeared to let a lot of cool air out of the unit itself causing it to kick on more than I thought it should. So I decided I’d reuse the guts of a small cube fridge. In hindsight, I wish I had used a bit larger of a cooler as it appears that I can only hold a 35 degree temperature difference. This is sufficient for fermenting, but not good enough to get a good cold crash when the garage is in the 80s.
Taking apart the mini-fridge was pretty easy once I bought a pair of sheet metal scissors. From there it was pretty easy to mount the cooling tray and add the insulation. I certainly didn’t sand and paint as good as I did in the original build, but it works. Finally, I added a pc fan to continually blow across the cooling tray; without it I noticed that it would ice up when trying to cool. I’m seeing a bit more condensation that I expected and have a towel to catch things. I’m trying to limit the amount of times I open and close the fridge for now, but this is something I’ll have to keep an eye on. All in all, it works and I’m back to brewing!
I’ve been working to understand my various volume measurements throughout brew day and wonder how Trub and other material is handled. For instance, from my batch sparging I have an idea how much grain absorption and MLT losses to expect, but I know when I do a pre-boil volume measurement there is a fair amount of material in there that is going to add to the measurement.
Also, when doing a, lets say, 5g recipe I assume the is the amount of wort into the fermenter. Is this correct? I know that the amount of trub carried into the fermenter various by beer and beer maker so how does one account for the variations?