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 include 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.

Image of Raspberry Pints taplist
 
(note, I’ve since moved to SimplePints)

Tags: , , , , ,

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.  

 

Tags: , , , , ,

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.

Day 1

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

Day 2

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.

Day 3

Break.  Need to actually get things done around the house.

Day 4

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

Day 5

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
hdmi_drive=2

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.

 

Tags: , , , ,

I’m diving in to sour beers headfirst. Since I don’t have a clue how any method will turn out I figure I might as well try 4 methods on the first attempt. I mean why not? 

Upfront is the plan for the beers (30a, b, c, and d). Below that are various questions or bits of information I ran across when trying to figure out what I’m getting myself into.  Along the way I discovered Milk the Funk and the Mad Fermentationist that have turned out to be invaluable. 

 

Base Recipe

The base recipe is based on the Rare Barrel golden recipe. I’ve upped the OG  to 1.060 so the pre-boil will be 1.051 for the raw beers (30a and 30b), will mash at 148, and will add first wort hops to 3 IBUs.  After 5.5G taken for the raw beers, I’ll will add water to drop actual OG to 1.052 and add ~25 IBUs.   The water profile will be Brewers Friend’s Water Calculator Balanced Profile water.  

I plan to sit on these for about a year before thinking about any blending ideas.  Any thoughts of adding fruit to anything will be determined after sampling and more research (which I’ll have time to do). 

30a & 30b

This will be a raw beer with lacto.  Then 1/2 will be 30a which will be clean fermented and then Brett added . The other 1/2 will be Brett only.

Here are a few more plans for these beers

  • pasteurize in kettle:  155 @ 15 mins
  • transfer out 5.5G and cool to 90
  • pre-acidify drop to 4.5   (est 1mL 88% to drop 0.1 pH)
  • add lacto – goodbelly straightshot
    – Need starter: no need for starter
    – monitor for 2-3 days
  • Add hop tea (~22 IBUs) and wait 24 hours
  • Transfer 1/2 to 2.8G carboy and add Brett (30b)
    • Imperial Yeast W15 Suburban Brett
  • add sacc yeast (US-05) to 30a 
  • Xfer after high krausen to 2.8G carboy and add brett

beer 30c

The third beer will be ~5.5G and will be a Pedio/Brett fermentation 

  • Pedio:  Bootleg Biology Sour Weapon P BBX0089
  • Brett: Bootleg Biolofy Funk Weapon #3 BB0022
  • Create a Brett starter 1.5 weeks out
    • About 500ml starter per 25 liters of wort seems to be the current best practice.
    • Data from Thomas Hübbe supports that the initial pitching rate doesn’t have a great effect on the final cell count in pure Brettanomyces starters or beer, indicating that Brettanomyces is fairly forgiving in regards to small initial cell counts (MTF)
    • An alternative to the second approach is to use a stir plate on a very low setting so that only a very small “dimple” of a vortex is formed (with foil covering the top)
  • Transfer the chilled wort to 5G carboy
  • Expect 3/4″ rise from fermentation
    –need to worry about time on yeast cake?  No.

beer 30d

The fourth beer will be ~5.5G and will be primary fermented Sacc then Brett (I know this isn’t a sour, but should be fun anyhow) 

  • Transfer to 6.5g carboy
  • Add sacc
    — clean or belgain yeast? US-05
  • Just after high krausen tranfer to 5G to secondary
  • Add pedio and Brett

New gear

I’m a bit freaked out about all of these e\new bugs so here is a list of new gear that I think I’ll need.

  • Stoppers
  • Use old autosiphon
  • Bottle bucket And bottle filler
  • Wine thief

Use extra caution cleaning

  • pH meter
  • Hydrometer 
  • Cylindrical beer sampler (hydrometer testing) 
  • Glass carboys
  • Airlocks

Other random notes

 

Here are a few other random notes I captured while looking into this idea.  It isn’t cleaned up.

http://jeffreycrane.blogspot.com/2015/06/blending-calculator-ph-abv-and.html?m=1

 

https://www.homebrewtalk.com/forum/threads/best-cleaning-method-after-sour-beer.529378/

You can try:
a) PBW – to dissolve any particles. Clean before and after with soap and water and a dedicated sponge.
b) 1 gallon of water + 1 ounce bleach + 1 ounce of vinegar (added to the water, not the bleach directly). Let it sit 5 minutes then dump out and air dry. [this is the sanitize concentration, and may not kill all bacteria]
Follow up with 
c) Iodophor – 2 minute contact time, then air dry.

(You can use Hydrogen Peroxide or One Step in addition – it kills with Oxygen).

No need for new bottling equipment, use glass and just clean really good.

 

Raw Beer Notes

Raw beer watch out for DMS creation and pasturize before starting

DMS temp (Milk the Funk):
The primary source for DMS in beer (as well as cooked vegetables) is caused by the decomposition of SMM into DMS. This decomposition is caused by heat above ~80°C.(176°F)
Allow the beer to age longer, particularly if it contains Brettanomyces. Studies in lambic brewing have shown that DMS will volatilize over time if left in the fermenter.

DMS forming temp/time (Homebrew talk)
Conversion happens around 70C. Rapid conversion happens around 80C. I’ve seen information that says the conversion of SMM to DMSO occurs “above 60C.” Brewing: science and practice – Google Books

Anticipated issues to overcome, and how I resolved them (Experimental Brewing)
1) No-boil = DMS
Not necessarily. My understanding is that DMS is produced at 180 degrees, which explains why true no-boil berliner’s don’t have a DMS profile. As long as the mash and mashout stay below 180, it won’t be a problem.

2) No-boil = no sanitation
Again, not necessarily. Pasteurization occurs at 160 degrees in just a few seconds, so as long as the mashout is above 160, no problems.

If need more Beer 1a to blend in with  then this fastest beer to turn around

 
Raw beer watch out for DMS creation and pasturize before starting

Need new bottling equipment.   Glass just clean really good.

 

DMS temp (Milk the Funk):
The primary source for DMS in beer (as well as cooked vegetables) is caused by the decomposition of SMM into DMS. This decomposition is caused by heat above ~80°C.(176°F)
Allow the beer to age longer, particularly if it contains Brettanomyces. Studies in lambic brewing have shown that DMS will volatilize over time if left in the fermenter.

DMS forming temp/time (Homebrew talk)
Conversion happens around 70C. Rapid conversion happens around 80C. I’ve seen information that says the conversion of SMM to DMSO occurs “above 60C.” Brewing: science and practice – Google Books

Anticipated issues to overcome, and how I resolved them (Experimental Brewing)
1) No-boil = DMS
Not necessarily. My understanding is that DMS is produced at 180 degrees, which explains why true no-boil berliner’s don’t have a DMS profile. As long as the mash and mashout stay below 180, it won’t be a problem.

2) No-boil = no sanitation
Again, not necessarily. Pasteurization occurs at 160 degrees in just a few seconds, so as long as the mashout is above 160, no problems.  

Tags: , , , , , , , , ,

2016 Beers

I’m finding that I don’t have the time to write about each beer. So I think I’ll just start doing an annual post of the beers that year.  If anyone reads this besides me let me know what you think of the format.  

In 2016 I made 933 12 ounce beers though most of it went into kegs.  This is about double from the previous year.  The majority of it was made on a 3 day brewing bender when Lisa took the boys to California.  It was exhausting brewing that much, but well worth it.

Companies such as Booze Up in London, UK offer same day alcohol delivery and can take them to your home.

Beer Name Brew Day
#16 – Dapale 4/10/2016
#17 – The Axe v3 5/13/2016
#18 – Kate The Great 5/14/2016
#19- Daddy’s Milk 5/14/2016
#20 – DreWster 5/15/2016
#21 -Persuasion Saison 8/6/2016
#23 – The Backcountry Homebrew Club Whisky Barrel Aged Imperial Brown Ale 9/5/2016
#22 – Change Up 11/19/2016

 

Beers

#16 – Dapale  (4/10/2016)

  • Style: American Pale Ale
  • OG/FG:  1.056  / 1.012
  • ABV:6.1%
  • Batch Size / Beer Made: 16G / 12G
  • Batch cost per 12oz:  $0.60  

This was a Dale’s Pale Ale clone.  It wasn’t exactly like DPA, but pretty darn good none-the-less.  One of the main thrust for this beer was that I wanted just an easy drinking hoppy-ish beer, but didn’t want to make an IPA where the hops would fade so fast.  The previous summer DPA was by go to beer so this seemed like a good choice to clone and possible become a regular rotation in my beers.  Also, this was the yeast starter for the next three beers.  

#17 -The Axe v3 (5/13/2016)

  • Style: Cross between an American Red and Irish Red Ale
  • OG/FG:  1.070  / 1.012
  • ABV: 8.2%
  • Batch Size / Beer Made: 11G / 10G
  • Batch cost per 12oz:  $0.59  

This was the first of 4 beers made in the 3 day brewing spree.  It is also the third variant of this recipe, which is an original recipe by me.  This was pretty close to what I’ve been aiming for.  I don’t think I ever wrote any tasting notes, but I tend to recall that I want to make the next version slightly less bitter.  

#18 – The Empress

  • Style: Russian Imperial Stout
  • OG/FG:  1.099  / 1.022
  • ABV: 11.2%
  • Batch Size / Beer Made: 11G / 11G
  • Batch cost per 12oz:  $1.06  

This is a Kate the Great (KtG) clone beer and the first big beer that I’ve made.  With living in CO, I finally had space to store this beer for ~6 months to let it age out.  I bottled 5G and kegged 5G of this beer.  I tapped the keg on 11/30/2016 and today, 10/17/2017, I still have the same keg going.  You don’t drink a whole lot of an 11% beer at one time.    The real KtG is placed in port barrels so I soaked oak spirals in port.  At one time I looked in the bag and it had spilled so I placed more port on the spirals.  I’m pretty sure I didn’t get any oak out of the spirals. Finally, I poured the port all into the beer.   I think the port is over powering, but the beer is still well received and I like too.

#19 – Daddy’s Milk

  • Style: Sweet/Milk Stout
  • OG/FG:  1.061  / 1.015
  • ABV: 6.3%
  • Batch Size / Beer Made: 8.25G / 8.3G
  • Batch cost per 12oz:  $0.05

This is my first partygyle beer to make.  It was made from the second runnings from #18 – The Empress.  This beer was practically free; the grain came from batch #18 – The Empress, the yeast came from #16 – Dapale, and the water was basic tap water.  The only thing I paid for was the propane and the minuscule 2.6oz of hops. The basis of the beer was to be a Left Hand Milk Stout clone.  With the grain already set from #18, I mimiced the lactose and hops profile to end up with my beer.  I was able to fit the wort in what is normally my HLT and boil this the same time I was chilling down #18.  In the end it only extended my brew day a couple of hours to get a second beer. Ignoring the cost this was a really good beer and definitely made me want to try this again.   

#20 – DreWster

  • Style: Belgian Golden Strong Ale
  • OG/FG:  1.086  / 1.007
  • ABV: 11.1%
  • Batch Size / Beer Made: 11G / 11G
  • Batch cost per 12oz:  $0.73 

This beer has 4 fun stories to it.  The first is that the yeast from this beer comes from the dregs of four North Coast’s PranQster Belgian Golden Strong beer.  I kept the dregs and slowly built up the yeast to get a pitching rate that would support this beer.  The beer fermented down as far as I was hoping making for a really dry beer.  Second part to this beer, it that I transferred this beer to two 5G carboys nearly to the top.  After aging this for a while I transferred 5G to a keg.  The beer tended to pour foamy, but I was trying to get the CO2 volumes high so that it could fit the style.  The beer had a great golden color and tasted pretty nice.  The second 5G I bottled about 3 weeks after I kegged the first 5G.  For some reason the beer had a purple haze to it.  Since this beer was from the same wort and yeast as the other 5G I ruled out many flaws.  With some help from the guys a Brew Hut we concluded that this was likely due to oxygen exposure.  I’m not sure how this would have had more oxygen than the other 5G, but I hesitantly tasted it and it tasted fine.  ).  So I went ahead to bottle it.  Since the CO2 volume on this beer is supposed to be so high I had to use the Belgian corked beers.  I borrowed a corker from a friend in the home brew club and bought several cases of bottles from Craigslist.  Turns out the bottles were really really dirty so I spent a night cleaning them.  In the process of cleaning one bottle I notice a huge amount of mold or something in the bottle as I got the crud out I looked at it a bit closer and almost vomited.  The crud as a decayed mouse.  There was a spinal cord and a fit of fuzz that separated when I poured it into my cleaning water.  Needless to say I threw that bottle out.  I also dumped all my cleaning water, cleaned the container, and finished cleaning the last few beer bottles.  Ugg, what a night of cleaning bottles.  I’ve since called this the Royal DreWster and shared it at a home brew crawl.  I don’t think it is as good as the golden version, but most seem to still like it. Finally, the last story to this is the name.  Most Belgian beers have a demonic name. With all the hard times we had had with Drew (mind you I was waking up for the day a 4:30 everyday with him and hiding in the basement until Lisa and Chase woke up too) I thought DreWster was quite fitting with capitalization having a nod towards the PranQster of which the yeast came from.  Oh, one last thing.  Since I went through so much effort to cultivate this yeast I looked into storing it for a long duration.  I read about freezing yeast in glycol and have done that.  I haven’t yet used the yeast again to see if it worked, but someday I’ll find out.

#21 – Persuasion Saison

  • Style: Saison
  • OG/FG:  1.064  / 1.004
  • ABV: 8.2%
  • Batch Size / Beer Made: 13.4G / 14G
  • Batch cost per 12oz:  $0.71 

I managed to actually do a separate post on this beer so go there for more info.

#22 – Change Up

  • Style: Kolsch
  • OG/FG:  1.048  / 1.013
  • ABV: 4.7%
  • Batch Size / Beer Made: 16.65G / 16G
  • Batch cost per 12oz:  $0.49 

This was the 3rd instantiation of this beer.  The I wrote up the first two in #9 – Kolsch and #13 –  Change Kolsch (16G).    I called this one Change Up as I had changed the hops around a bit to use some of things I had laying around in the 60 minute addition.  Therorically this shouldn’t have really changed the flavor.  It seemed like what I did the previous times, but I doubt if I made the same beer back to back it would taste the same anyways.  This started something that I’ve done for a few beer since in that I only wanted 10G for myself so I invited a friend over for the brewday and he took home 5G when it was all fermented out and bottled.  This is certainly  a beer to keep in rotation.

#23 -The Backcountry Homebrew Club Whisky Barrel Aged Imperial Brown Ale

  • Style: Imperial Brown Ale, aged in a second use Whisky Barrel
  • OG/FG:  1.077  / 1.016
  • ABV: 8.5%
  • Batch Size / Beer Made: ~60G / 55G
  • Batch cost per 12oz:  $0.89

As the name suggests this beer was made by my homebrew club.  We bought a used Whisky barrel from the Brew Hut / Dry Dock.  After getting the barrel we spun a few ideas around for a style and then iterated on a recipe until we called it good enough.  All the wort was brewed in one day on 3 systems to fill the barrel.  I didn’t get to help this day any only briefly swung by to drop off my carboy and to say thanks.  I think Kyle, Kirk, Jeff, and Dave did all the work.  After the beer fermented out it was transferred to the barrel and kept in Kirk’s basement where he would tease us with tasting notes and photos occasionally.  We kept the beer in the barrel for ~2 months and this split it out 11 ways.  I bottled my 5Gs.  A brown ale was the way to go on the beer as the barrel only contributed a slight whisky note.  Anything stronger that we had been considering like a RIS probably would have over powered the barrel flavors.  Kirk entered this in a competition once,but I forget what they said about it.   

Tags:

« Older entries § Newer entries »