The week of Brewing…

Shortly, I have 8 full days off work! I booked the time originally so that I could go to the World Time Attack Challenge event in Sydney, which a few of my mates have competed in over the past few years. It’s always a good weekend of racing and shit-talking with the guys and of course working on fast-cars. Anyway, this year there was some rule changes, and now the guys aren’t running (one is rebuilding his entire car, the other is a soft cock).

Work’s been hectic for the past few months and I’m looking forward to having a few days off and getting a couple of double batches in fermenters. Currently, I have NO HOMEBREW! Except the double batch of dodgy Rye IPA I brewed which was underpitched – thanks 1272 – and doesn’t taste any good. Just tastes estery and crap, it didn’t get to the proper FG, and just tastes bad. I don’t think it’s infected, I don’t get any of the usual issues. Lag time was 3 days, which is far far too long, and I am certain I didn’t pitch enough yeast after the starter of 1272 I did erupted like a volcano and left the best (and most) of the yeast on the floor. Seriously, it was like thick peanut butter.

So I’ve got a few strains of yeast in the fridge now ready to go for the brewing over the next week. WY1272, WY3068 so I can bust out a double batch of a traditional Hefeweizen and WY1469 because I’d like to get some lower ABV Bitters or something like that into some kegs. Tomorrow I’m also getting two packs of WY1026 Cask Ale yeast and two vials of WLP090 San Diego Super Yeast – my absolute favourite yeast – which is kickass for IPAs. The Cask ale yeast is for a Barrel Mocha Porter project I’m involved with along side a few of the guys from SABC.

As part of this – I need more fermenter space. I have two fridges currently, however one has been my hop freezer/lagering fridge, but now that my lagers have been bottled, entered into comps and the remainder of the kegs consumed, the fridge is now only being used for hops. So, I’m going to purchase a small freezer, and use that for my cold storage for hops, and reclaim that fridge as a fermentation fridge.

To do that, I either need to wire up my second STC1000 (which I can do) or finish my damn RasPi controlled fermentation controller. That may be a tall order to get the software developed and tested by next weekend – and I will be on holidays afterall – so STC1000 may have to do!

I’ve also had my nose in the ‘Yeast’ book by Chris White and Jamil Zainasheff. I already knew yeast health and quantity is vitally important to quality beer (I have the results to show for it!) but I genuinely thought this 1272 starter would be OK with the amount of yeast that was in it – even though I know I lost a lot out the top. I know now that it really wasn’t OK. I’ve now realised I need to to KNOW i’m pitching the right amount of yeast – and that means doing cell counts. Ebay has a number of microscopes available at reasonable prices, yeast don’t need a million times zoom, so what I can get for a couple hunge will do the job. Will also need a hemocytometer – which is essentially a slide with a grid on it which allows you to count the yeast cells. Based on known quantities of liquid and the count of the cells in the hemocytometer you can work out exactly how much yeast you have.

Also, because of that ‘incident’ I have been considering how I will do starters. I’ll stick to doing the first step on the stir-plate in a 5L flask (for a double batch I usually make about 3L of wort) but when I want to do another step that is when the shit hits the fan (or floor in this case). I was talking to Carty over at SOBS Blog who’s been working in the Campus Brewery about what they do for commercial pitches. They do their first step in an aerated Corny keg. That made a lot of sense, and I usually have a spare Corny around. So, when I want to step up again, I’m planning on looking at doing it in a Corny. The plan is that it can then have the gas post with a gas disconnect used as a blowoff tube, running into a cup of sanitiser, and a sanitary air line hooked up to the beer post. They then run sanitised air into the culture so that it has oxygen for generation of yeast cells. Leave it two days, to ferment out and drop back into the spent-wort, then transfer to either the batch of beer itself, or to a sanitised glass flask if I want to decant the spent wort.

Either that, or I’ll look for some larger (10L?) vessels with a flat bottom that will work on a stir plate. Perhaps a shaker plate is the go? Perhaps I’m going overkill, again?!

Anyway, a big week coming up. See how much I can get done.

ArduFerm and OpenBrew

Well, there’s been little progress on either of these projects recently πŸ™‚ I work as a software developer, and usually my desire to write more software after hours waxes and wanes, depending on how busy I am at work. I’ve been real busy at work the last couple of months, actually working on stuff I’ve been enjoying, so when I get home I have little desire to write more code – especially in C/C++ which I’m still learning as I go.

So, enough excuses, I’m on Christmas Holidays now! πŸ™‚ So, for the next 3 weeks, my days will be booked solid but I’m hoping I can get a few afternoons to work on the code for these projects.

ArduFerm
I have run out of time to order the hardware I need to finish the fermentation controller, with the christmas rush and people on leave it’s unlikely I’ll receive anything before my holidays finish. I really only need the 4 10A 240v Relays for the controller, and a power supply (but I know I can get that at Jaycar). The relays Jaycar have are expensive too. Otherwise I have just about everything I need, bar a few other odds and ends such as power plugs etc.
I’ve uploaded the latest version of the code to GitHub: https://github.com/vortexau/ArduFerm Be aware it may not even work for you πŸ™‚

OpenBrew
I’ve played a little with the BeagleBone board, and I have a shell on the device from my workstation. I have Debian GNU/Linux on my workstation now, so I have another fast Linux box for working on. Previously I’d developed in Eclipse on my Macbook Pro, but (in my experience) getting the project to build on the OSX shell was a pain, probably because I’m using all GNU tools to build it. I couldn’t be bothered getting that working on OSX so I put Linux on my main workstation (which I wanted to do again anyway).
I’ve uploaded the latest version of the code to GitHUb: https://github.com/vortexau/OpenBrew Be aware it does not yet do anything even remotely brewing related πŸ™‚

ArduFerm Display

I managed to drop into Jaycar today, and pick up a couple of bits I needed to get the 4×40 LCD displays up and running. Just needed some IDC headers and plugs, plus some ribbon cable so the backpacks can be changed out if needed.

4x40 Display

After a minor stumble, I assumed because the example TWILiquidCrystal sketch didn’t set the cursor location, that the display would act as one big display and wrap the text. That didn’t happen, so there was some head scratching, checked all the pins, all ok, then bonehead me sets the cursor correctly, and it worked as expected!

Upgraded the ArduFerm code to work with the 4×40 LCD, and it worked great!
ArduFerm Display

If you’re wanting to do this too, here’s where to get the bits:
Display: http://www.ebay.com.au/itm/200545027053?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_3788wt_1097
Backpack: http://store.akafugu.jp/products/33
Library: https://github.com/akafugu/twilcd/tree/master/TWILiquidCrystal

ArduFerm & RIMS Brewery Build Planning

I haven’t had much time to put into the ArduFerm build; truth be told I’ve been mulling over the RIMS build in my head and it’s getting more and more complex by the day.

Initially I thought a standard Arduino Uno would do the job of running the home-brewery – but it simply doesn’t have the program flash memory available. Just 32k of flash for the sketch. ArduFerm is getting close to that already. Without implementing things like PID control it should come in under the 32k, but for a Brewery build which WILL have PID control, plus the Wire library for I2C, ethernet library (yeah.. the brewery will be connected to the network!) and the sheer amount of code required for the display and menu system, I think it will be real flash-space trouble. GPIO on the Uno is probably enough, 14 digital pins, plus 6 analogue (which can be used as digital) this should be enough. Freetronics have an 8 relay controller shield which works over I2C, that would be enough relay control space.

Above that is Sanguino, which is what BrewTroller is based on, it’s 64kb stock but I think I read on the BrewTroller site it has more again – quite likely, there is a signifigant amount of code on GitHub for the BrewTroller project.

Moving up the list again is the Arduino Mega. This could work, more than enough GPIO pins, 128kb Flash, 54 IO pins. Still, it’s an 8-bit Arduino (like the Sanguino, and the Uno). I can get a Freetronics MegaTen locally for about $120. Quite expensive for what it is, however it does have Ethernet built in.

I’ve also been considering Raspberry Pi. Everyone into any kind of Linux or related subject knows of the Raspberry Pi. It’s cheap, super cheap, and a great platform with 700Mhz ARM CPU, 256MB RAM, 10/100 Ethernet, HDMI, USB etc etc. It’s a full computer. Totally different class to Arduino, but around the same price point. Its major downside is that is only has 8 GPIO pins. Being a ‘proper’ single board computer, it’s 32bit and runs GNU/Linux, which I’m very comfortable with. I need to do some further research on using I2C devices with this board, however it’s certainly an option. I have one running an XBMC Media Center right now and it’s rock solid.

Also along these lines are the various Cortex based processor units on the market at the moment. One other such board I like the look of is the Beagle Board, specifically the BeagleBone. It’s a 700mhz ARM Cortex-A8 CPU so quite similar to the RasPi in some ways. It’s aimed at the hobbyist and DIY type guy so right up my alley. Naturally, it runs Linux, and the SD-Card with Linux is included (not that it’s a real problem setting that up anyway). It has a similar concept to Arduino in that there is a range of plug-in expansion boards (shields in Arduino language) called ‘Capes’, one such cape is a 7″ TFT display which would look good mounted in my control-box πŸ™‚

I should also mention here that Arduino have a 32 bit ARM board under development, due to be released any day now, call the Arduino Due which certainly sounds nice. Google have also released a version of this board as the 2012 ADK/Android Developer Kit, so there are some out there. It’s a much slower platform than the other ARM boards mentioned, as it’s just a tick under 100Mhz. All the details are yet to be seen, but it could be an option.

So, if I go for one of the 32 bit Linux boards, i’m heading down a complex path. Clearly Linux can handle doing all that is required, But, I would also need to build a more complex interface to do justice to the hardware (touch screen control would be nice!). There’s one thing for sure, it would be fun πŸ™‚

ArduFerm, Custom PCB

Today i’ve spent some more time playing around with Eagle and this link, seeing how hard it was to design a custom Arduino Shield PCB for the fermentation controller.

Here’s a pic of the circuit diagram from Eagle:
arduferm_schematic

Well, admittedly, I don’t really know what i’m doing, but it’s been fairly easy following the guide and building a PCB. It lacks a bit at the end though when it comes to exporting Gerber files (which is what a PCB manufacturer expects) so I’m kind of stuck for now; but i’ll do some more research later and find out what I need to do.

There are a number of relatively inexpensive manufacturers of custom PCB’s around on the net, so I’m thinking of ordering some just to see how they come out. Might even use one πŸ™‚

ArduFerm progress.

Last week I was home looking after a crook kid (and not 100% myself) but I figured I would make use of the time to work on my Arduino Fermentation controller. I have been coding on it every now and then when I have spare time, and plugging in the Arduino when I can to test it on there.

Last week I also received my 4 OneWire temperature sensors from China. They’re perfect for the job, and with only a little work should do what I need.

ArduFerm OneWire

Single sensor connected only here, had two going as well in the test program no worries during the day. Should handle all 5 πŸ™‚

Honestly I don’t know for sure if I can get everything working properly, I read that solid state relays require only a digital pin each (will need 4), All temp sensors only need a single pin, LCD uses 6 pins (not using the buttons, that needs another pin), Ethernet 4 pins, going by the number of pins I have on the Arduino, I should have a couple spare. I’m sure there’s something I don’t know or haven’t factored in as yet – but see what happens I guess.

Interesting playing with this stuff, though!

Arduino Fermentation Controller

So, my Arduino PWM controlled stir-plate didn’t quite happen. At least it hasn’t happened yet. Anyway, I still have a couple of Arduino’s here so I may as well use at least one of them.

Kind of just thinking out loud (if it can be called that while i’m actually just typing) but the plan is to replace my STC-1000 temp controller with an Arduino-based temp controller. I was actually thinking about using a Raspberry Pi, but I think I’ll have a hell of a time getting hold of one, when they eventually are available after all the pre-orders have been filled! Plus, It would be a waste for this. It’s tiny, but it’s way too powerful to do this πŸ™‚

I may be getting another fermentation fridge soon as well, and while I do have another STC-1000 here ready to use for that – I want something a bit more flexible. I want to be able to log and track the temps, and even ramp the temps inside the fridges automatically for diacetylΒ rests etc. (On that subject I smacked a pack of Hella Bock today, it’s over 6 months old and still had fair viability! It’s now in a flask on the stir plate right now..)

Dot point ideas:

  • Multiple fridge control
  • Control Heating and Cooling cycles of both fridges independently. SSR per device%.
  • Ethernet. I have Ethernet in the garage already, and a free point. Will just have to run a cable over the top of the door to the fridge.
  • Arduino to offer data in an easily parseable format for external graphing (Cacti or custom RRDTool graphs from a VM)#.
  • Temperature sensors for each fridge – one for wort temp (in thermowell), one for fridge internal temp (for each fridge) and an external ‘ambient’ temp sensor as well. Each will be graphed remotely.
  • OneWire temp sensors for simplicity and easy of use. 4 of these already ordered:Β http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&item=150847294674#ht_2821wt_979
Ramping control:
Again, just thinking out loud on this. So that I can ramp fermentation temps properly (ideally remotely) the Arduino needs to have the target temp for each fermentation fridge to be set to at a specific time. I’m not sure I can trust the Arduino to keep time (but it may, I actually don’t know), so it may require a script running on one of our VMs to set these temps, and the Arduino just gets it’s target temps from the script, say every hour or so. A simple web interface would allow a schedule to be programmed, say 18c for the first X days, then allow the ferment to raise to 22c (for example) at the end so that the yeast clean up properly. This should also have the ability for this rise to be a ‘free rise’ where the Yeast are generating the heat, rather than a heater pad in the fridge itself.
I know I could set an STC-1000 manually to do all this, but what can I say, I’m lazy! And a sucker for technology.

# A JSON library exists, but aparently it’s large (for an Arduino program) and may cause memory issuesΒ on certain Arduino hardware. A simpler format may be required – but because i’ll only be outputting basic information such as current temp it should be good enough to output something like: %FRIDGE1#23.5#18.5#0#0%FRIDGE2#22.1#12.5#1#0% (device, temp one, temp two, cool state, heat state) which would be super easy to parse using a PHP script in two steps. Split the line by % to get each device, then split by # to get each value.

% A quick read shows it’s super easy to control a SSR with an Arduino. Hopefully that is true! I’ll know soon enough πŸ™‚