HOWTO - Make a BrewPi Fermentation Controller For Cheap

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.
Status
Not open for further replies.
Do I need it to start the installation or can I buy and add it later? I already have an 20x4 I2C LCD currently connected directly to my RPI.
You can always add the shield and an LCD later. For the 20x4 I2C you do not necessarily even need the shield. It does make hooking some things up a lot easier, I find it easier to use DuPont jumpers than bailing wire and bubblegum (I'm looking at you 4k7 resistor!) but definitely not needed.
 
You can always add the shield and an LCD later. For the 20x4 I2C you do not necessarily even need the shield. It does make hooking some things up a lot easier, I find it easier to use DuPont jumpers than bailing wire and bubblegum (I'm looking at you 4k7 resistor!) but definitely not needed.

Thanks for the info! I will be using other parts like Solid State Relays and an PCB experimental board so I will be using DuPont jumper wires to connect everything together. Maybe in a later stage I will try the new shield.

As already mentioned I'm pretty new here and I still need to read a lot of information but if you can tell me were I can find some more information on how to connect the I2C LCD without the shield I would appreciate it a lot.

Wim.
 
Thanks for the info! I will be using other parts like Solid State Relays and an PCB experimental board so I will be using DuPont jumper wires to connect everything together. Maybe in a later stage I will try the new shield.
Just out of curiosity, why SSDs? The ones I have seen seem to cause more problems than they solve. They typically don't have the power capacity the relays have.

As already mentioned I'm pretty new here and I still need to read a lot of information but if you can tell me were I can find some more information on how to connect the I2C LCD without the shield I would appreciate it a lot.
Well ....the right answer should be docs.brewpiremix.com however I've not yet updated them for I2C. I also have a fairly extensive hardware prep writeup here (also not updated for I2C, but still a good starting point). My assumption was the majority of folks would use a shield if using an LCD and there the setup using a shield is pretty obvious. However, one of the benefits of the I2C is NOT needing a shield, so your question is a reasonable one.

@100amps is working on an updated I2C diagram when he has time, but in the meantime, I think I can describe it fairly well:
  • Most importantly, use the I2C firmware, not RevC
  • Data in for the OneWire goes to A0 instead of A4
  • The I2C LCD connects to:
    • GND <-> GND
    • VCC <-> 5V
    • SDA <-> A4
    • SCL <-> A5
I think that's it ...
 
Just out of curiosity, why SSDs? The ones I have seen seem to cause more problems than they solve. They typically don't have the power capacity the relays have.
A colleague advised me to use SSR instead of relays because mainly for power consumption but they are triggered at low voltage instead of the relays so I probably need to find a solution for that. And because I've already bought them so I prefer to use them instead of relays.

Well ....the right answer should be docs.brewpiremix.com however I've not yet updated them for I2C. I also have a fairly extensive hardware prep writeup here (also not updated for I2C, but still a good starting point). My assumption was the majority of folks would use a shield if using an LCD and there the setup using a shield is pretty obvious. However, one of the benefits of the I2C is NOT needing a shield, so your question is a reasonable one.

@100amps is working on an updated I2C diagram when he has time, but in the meantime, I think I can describe it fairly well:
  • Most importantly, use the I2C firmware, not RevC
  • Data in for the OneWire goes to A0 instead of A4
  • The I2C LCD connects to:
    • GND <-> GND
    • VCC <-> 5V
    • SDA <-> A4
    • SCL <-> A5
I think that's it ...

Many thanks for this info I will try it out and keep you posted.
 
Last edited:
Hello been following this thread for a long time now with very keen interest. Had a NUC lying around so installed Debian 9 and tested the BrewPiRemix install script which worked faultlessly (thank you LBussy) and have now ordered all the other bits to go with it.

My question is can we use an extra temp probe for a second FV in the same chamber and have the averages smoothed between the 3 probes? So normal chamber probe (one of) and one probe in each of two FV with the same brew or at least expecting the same temp schedule.

And another question is where can you get good starting data for a particular brew? I can find a lot of instructions for xyz lager or abc ale with mash steps and boil times, hop additions, etc. but they all seem to lack proper temp schedules for fermenting.

Thanks to everyone for all the effort you have put into this so far, you really must love mucking around with this type of stuff. :)
Cheers,
 
- There is no support for more than one chamber, one beer, and one room temperature probe.
- I'm guessing you're looking for Beer Profiles. There've been a few attempts to gather BrewPi profiles over the years here but frankly there never was much traction. Tbh I suspect most folks don't use profiles and instead just manually change temps as fermentation progresses...

Cheers!
 
Hi Dotball. Glad the install went well for you. That's the intent of course, but its a big world with lots of variables.

day_trippr is exactly right, of course. I'd like to elaborate while I wait for my coffee to brew:
And another question is where can you get good starting data for a particular brew? I can find a lot of instructions for xyz lager or abc ale with mash steps and boil times, hop additions, etc. but they all seem to lack proper temp schedules for fermenting.
I think 95% of this is technique and research rather than software. The first place to go for the proper fermentation temps is the yeast supplier. If you look at White Labs' page for WLP001 California Ale Yeast, you'll see that proper temps for this particular yeast are 68°F - 73°F. If you skip over to Wyeast's most popular yeast in the same category, you'll see that the 1056 American Ale yeast prefers temps in the 60°F - 70°F range. So, where you might choose 70°F for a middle-range setting for the WLP001, it would be at the top end of what's okay for the 1056. Even though I've been brewing since '91 (I prefer not to do the math on how many years that is anymore) and a judge since '95, me choosing the temp you should be fermenting your beers is a responsibility I do not want. So, the quick answer is to ask the yeast guys. All of the suppliers I have used will have this data on their website. That's where you should be looking.

You mention temp profiles too and this is a subject to which I've been directing a few brain cells as of late. It's easy as humans to say "Hold it at 70°F till fermentation is finished, then ramp it up to 75°F for 3 days, then cold crash at 55°F. My question about such an algorithm is: "When is it finished fermenting?" Time is a bad judge as we all learn sooner or later. One batch will go gangbusters and be 90% attenuated in two days. The next will take four days to do the same work. So, time is out.

What about the specific gravity? Taking my "house ale" as an example, it's an American Amber which starts at 1.042 (yes that's low, it's intended to be a session beer.) I use Wyeast 1056 for this which has an attenuation rate of 73-77% - in the lab. That means if I do my part right, the FG will be 1.113-1.097. As a human, it's easy for me to watch the gravity curve (especially with a Tilt which I think everyone should have!) and see if it's "done." When I do so I'm not really looking at the number so much as the flattening of the curve indicating my yeasties are finished. Computers do not really look at shapes, they look at numbers. There's a 0.006 point gravity range in there where my beer might be done (again, that's assuming I have perfect conditions.)

To get my five gallons of American Amber to the style-appropriate 2.3 volumes of CO2, if I were bottling I would use ~107g of corn sugar. That equates to roughly 0.002 in specific gravity. I think you can begin to see the issue here. If I tell a computer that my beer is done fermenting at 1.010 but it could really have gone to 1.097, I might cold crash a beer that's not fermented out with 0.003 points of SG to go. Then if I add in my 107 grams of corn sugar I've now got a surplus of 0.005 which equals about 5.1 volumes of CO2 when it's bottled. That's not quite a bottle-bomb, but it's a fizzy gusher and not what you are looking for.

There are other projects which have begun to add in gravity-based temperature profiles, but I think you can see the issue here now that I have put some numbers to "paper." Teaching a human to judge "done" and a computer to do the same is a pretty different prospect. The results are important and despite a computer being "precise", it could lead to a widely varying result.

One way is to do some math and figure out that the gravity drop has levelled out and at some arbitrary level of change over time, determine it "done." As you begin to peel back the layers of the onion, however, you see that the original problem hides several others. For instance, the gravity will bounce up and down even sitting in water. Remember that 0.002 is the level at which I would carbonate, so a variance of 0.001 even would make a difference. So now I have to add some form of smoothing (something that humans do well, but computers have all sorts of ways and choices for formulae, all offering different results.)

Then, of course, remember that there are points where we might want to make changes for which gravity is the only determining factor. So now I would have two different choices - a schedule that takes pure attenuation into account, plus the "shape of the curve." If I coded that, how much time would I spend explaining it?

The point being, there's a sort of diminishing return here. How many hours to do this, versus the hours I need to allocate to do the Python 2.7 to 3.x uplift which is becoming more mandatory every day? There are few people who really use the temp profile the way it was originally intended I think. I personally use it when I am ready to ramp a large change. For instance, when I think it's done, I might crash 10°F over 24 hours. Until that point, I use Beer Constant.

Long story short: Select a Beer Constant temp that your yeast supplier recommends, and then you be the judge of when the beer is done in order to cold crash or whatever else you will do. Someone else's curve might not be the right one for your recipe, your equipment, your process and your yeast. Using temp control to keep what the yeast supplier recommends will be a large improvement in your process and your beer. The last 0.1% you might get from automating that last part is likely not something to which I'll be devoting a lot of time. Who knows though? I love a challenge.
My question is can we use an extra temp probe for a second FV in the same chamber and have the averages smoothed between the 3 probes? So normal chamber probe (one of) and one probe in each of two FV with the same brew or at least expecting the same temp schedule.
So now I have my coffee in hand and I thought about this while pouring a cup. There are two issues here I believe:
  1. Let's say you have one fermenter that's really taken off and the second has not yet. The first will be generating its own heat, that can be 3-5 degrees maybe if it really gets going. The second one will be very close to the chamber temp until it starts going well. If you lower the chamber temp based on an average, you will also be chilling down the one that's not fermenting as well yet, further slowing it down. The strength of a temp controller like this is the ability to keep a fermenting liquid +-0.1°F or so. If you average between two fermenters you're removing that advantage and honestly making it worse. My recommendation for that scenario would be:
    • Get a larger fermenter and do it in one vessel; or
    • Use a second fermentation chamber and control both correctly; or
    • Use chamber constant and at least know that the chamber is being well controlled. That's an "average" of sorts, and will at least not penalize the second fermenter based on the activity of the first. A fan in the chamber will really help here.
  2. Program Space - the Arduino Uno is severely limited and the last change I made necessitated me going through alk the code and finding a way to remove 27 characters of string storage (27 letters that were in messages) so I could get it to run without crashing. Adding new functionality in the controler itself is unlikely without switching to a new platform.
Yikes, that's a lot of typing. It was an interesting set of questions though which present some challenges that are likely not well/optimally solved by computers. I enjoyed "talking" it out.
 
After receiving my 3th arduino uno (first was a clone, second never arrived and the third found in a local store),
I finally got my own working BrewPi Remix with I2c LCD and 2x SSR.
Can't wait to tried it with my next brew.

Just a small question about the LCD, the brightness drops after 40sec.
I can get is back on by restarting the script but is there another way? Or can I change the time?
 
After receiving my 3th arduino uno (first was a clone, second never arrived and the third found in a local store),
I finally got my own working BrewPi Remix with I2c LCD and 2x SSR.
Congratulations!
Just a small question about the LCD, the brightness drops after 40sec.
I can get is back on by restarting the script but is there another way? Or can I change the time?
With I2C firmware, if you are not using a rotary encoder (pressing the knob turns the backlight back on normally) you can short pin D7 to GND and it will disable the backlight timer (after a reset). If you are using the shield, you can jumper PSH and GND on the encoder pins.

With RevC firmware, there's a backlight jumper on the board above the trimmer to do the same thing. You jump it to PB for the encoder, or ON for no timeout.
 
Congratulations!

With I2C firmware, if you are not using a rotary encoder (pressing the knob turns the backlight back on normally) you can short pin D7 to GND and it will disable the backlight timer (after a reset). If you are using the shield, you can jumper PSH and GND on the encoder pins.

With RevC firmware, there's a backlight jumper on the board above the trimmer to do the same thing. You jump it to PB for the encoder, or ON for no timeout.

Great shorten pin D7 to GND worked fine for me. Thanks again!
 
So, after building my BrewPiRemix, and completing my RIMS controller, I did my first brew since December.

It's fermenting now (actually on the ramp-up to finish it out), but I'm seeing unexpected behavior from the BrewPi. When BrewPi says that it should be "Idling" it has the cooler outlet energized. This doesn't seem right to me. FWIW, I have the heater relay COM fed from the NC side of the cooling relay to prevent both from running simultaneously. I've attached the plot from the chamber and my chamber device settings.
Any thoughts?

BREWPI RAMP UP Annotation 2019-08-20 105410.jpg BREWPI SETTINGS Annotation 2019-08-20 105714.jpg
 
We just went through this a week ago: you need to set both Heating and Cooling actors to INVERTED.
And make sure you don't have the GPIO for Heating swapped with the GPIO for Cooling...

Cheers!

Well, crap. And, here I was thinking that I was up on all the new posts ...
 
It's okay man ... we need easy ones once in a while. :)

There's LED's on the relay board which are VERY helpful in figuring this out.
 
It's okay man ... we need easy ones once in a while. :)

There's LED's on the relay board which are VERY helpful in figuring this out.

It's all in an enclosure, but I put in indicator lights wired directly to the switched outlets. Unfortunately, it's downstairs and headless, and the PC is upstairs.

Was Post #7768 back in April that last discussion of this?
 
We just went through this a week ago: you need to set both Heating and Cooling actors to INVERTED.
And make sure you don't have the GPIO for Heating swapped with the GPIO for Cooling...

It appears that, despite my carefully conceived color coding scheme, that I managed to transpose the leads for cooling and heating when I soldered up the stripboard shield. All(?) errors have been corrected and everything is running as I expected now.

Beer may have been involved ...

Thanks for the help!
 
Last edited:
It appears that, despite my carefully conceived color coding scheme, that I managed to transpose the leads for cooling and heating when I soldered up the stripboard shield. All(?) errors have been corrected and everything is running as I expected now.

Beer may have been involved ...

Thanks for the help!

lol - but good to see you're up and running.
Wrt history it appears the threadlette I referenced was elsewhere, so my apologies on that.
In my defense "BrewPi" and its descendent threads are all over the place now and its hard to keep track what got written where ;)

Cheers!
 
Hi Dotball. Glad the install went well for you. That's the intent of course, but its a big world with lots of variables.

day_trippr is exactly right, of course. I'd like to elaborate while I wait for my coffee to brew:

I think 95% of this is technique and research rather than software. The first place to go for the proper fermentation temps is the yeast supplier. If you look at White Labs' page for WLP001 California Ale Yeast, you'll see that proper temps for this particular yeast are 68°F - 73°F. If you skip over to Wyeast's most popular yeast in the same category, you'll see that the 1056 American Ale yeast prefers temps in the 60°F - 70°F range. So, where you might choose 70°F for a middle-range setting for the WLP001, it would be at the top end of what's okay for the 1056.

<snip>

Long story short: Select a Beer Constant temp that your yeast supplier recommends, and then you be the judge of when the beer is done in order to cold crash or whatever else you will do. Someone else's curve might not be the right one for your recipe, your equipment, your process and your yeast. Using temp control to keep what the yeast supplier recommends will be a large improvement in your process and your beer. The last 0.1% you might get from automating that last part is likely not something to which I'll be devoting a lot of time. Who knows though? I love a challenge.

So now I have my coffee in hand and I thought about this while pouring a cup. There are two issues here I believe:
  1. Let's say you have one fermenter that's really taken off and the second has not yet. The first will be generating its own heat, that can be 3-5 degrees maybe if it really gets going. The second one will be very close to the chamber temp until it starts going well. If you lower the chamber temp based on an average, you will also be chilling down the one that's not fermenting as well yet, further slowing it down. The strength of a temp controller like this is the ability to keep a fermenting liquid +-0.1°F or so. If you average between two fermenters you're removing that advantage and honestly making it worse. My recommendation for that scenario would be:
    • Get a larger fermenter and do it in one vessel; or
    • Use a second fermentation chamber and control both correctly; or
    • Use chamber constant and at least know that the chamber is being well controlled. That's an "average" of sorts, and will at least not penalize the second fermenter based on the activity of the first. A fan in the chamber will really help here.
  2. Program Space - the Arduino Uno is severely limited and the last change I made necessitated me going through alk the code and finding a way to remove 27 characters of string storage (27 letters that were in messages) so I could get it to run without crashing. Adding new functionality in the controler itself is unlikely without switching to a new platform.
Yikes, that's a lot of typing. It was an interesting set of questions though which present some challenges that are likely not well/optimally solved by computers. I enjoyed "talking" it out.

Thank you LBussy for the detailed explanation it all makes sense but some of the math is more than I really want to do just to brew beer. :) I do not enter comps and don't necessarily brew to style so for me missing SG by 0.001 probably won't be an issue and I am not sure I would notice with my taste buds.

Thank you also to Day_trippr, guess I'm just wanting something out of the ordinary. :)

Should also say all parts have arrived and I spent quite a long time playing around with it last night and think I have a reasonable grasp on the concept and how to achieve some of the requirements.

I had a devil of a time removing devices once I had assigned them to a slot and ended up flashing the board with
sudo echo -ne 'E\n' > /dev/ttyACM0
which meant I had to start from square one again.

What is the trick to remove a device please?

Thanks again
Cheers,
 
Thank you LBussy for the detailed explanation it all makes sense but some of the math is more than I really want to do just to brew beer. :) I do not enter comps and don't necessarily brew to style so for me missing SG by 0.001 probably won't be an issue and I am not sure I would notice with my taste buds.
I'm not suggesting that's the important part for homebrewers. I'm suggesting that such a scenario creates bottle bombs. That's something I think we can all agree is bad. :)

What is the trick to remove a device please?
Set the devices function to none, apply, and refresh.

https://brewpi-userdocs-rmx.readthedocs.io/en/latest/devices/index.html#uninstalling-a-device
 
Need help with a second esp8266 controller. I have a working controller and tested the build with that esp8266 and everything worked perfectly.

When it boots it runs through the test software that checks the sensors and turns on cooling/heating relays and such and completes with Done with tests.

I cannot connect to the board in anyway to flash the board at all, have tried a usb connector to a computer, tried to connect to its wifi but the captive portal does not appear.

To be honest I am not sure where I left off with the board last time I attempted to get it going as I had a 6 month break between working on it. I obviously loaded some software in it though since it runs through a brewing test.

For Device Address it says 27, my working one has the IP I gave it during setup.

I am sure I am missing something obvious here, any help is greatly appreciated. Until then I will keep looking through this and other posts on the subject.

Thanks,
Jeff
 
Thanks for pointing me in the right direction. Will post over there and start searching those for assistance.

Jeff
 
I had a hard time getting this to work. But worked through it.

RaspberryPints and BrewPi Remix

The process is

1. Install rpints via the rtlindne repository and choose your flavor

Code:
curl -L https://raw.githubusercontent.com/rtlindne/RaspberryPints/master/util/installRaspberryPints | sudo bash

2. Rename index.php to something else, like rpints.php. If you don't do this the brewpi installer will replace the index.php with a shortcut to the brewpi index.php

3. Install brewpi-rmx

Code:
curl -L install.brewpiremix.com | sudo bash

4. Enter a custom directory

During the brewpi install you will be asked to enter a custom directory. I only have one chamber, so I just used 'brewpi'

5. Rename php file index.php

This is optional. if you want to use IP or rpints.local instead of IP/rpints.php or rpints.local/rpints.php to access your taplist.

6. Now you can access RaspberryPints at rpints.local and brewpi at rpints.local/brewpi
 
Last edited:
As soon as there’s an heir apparent in the whole RPints mess, I’ll work with them to make it a little more user friendly.
 
I will tell you that running the install.sh script again (like adding a new chanber) will again overwrite your index.php so keep that in mind.
 
LBussy, I have been reading through this extensive thread as I am about to pursue a control system build for my fermentors. Before jumping in on such a quest of knowledge and potential pain I wanted to ask some hopefully simple questions that would assist me in a "Go!, No Go!" overall decision.

I believe from what I read and that this thread is currently active as of today that the "BrewPi Remix" project is still active and in modern development. I have reviewed the brewpiremix.com site and reviewed the hardware components needed to create a multi-chambered system. I thank you for your clarity and work toward outlining a system for people like me to start from.

As for my project, I am hoping to create a control system that would include the following goals using your system as a base.
- multiple fermenter control - currently 2 unitanks
- cooling and heating - currently only cooling needed
- cooling source - glycol chiller
- touchscreen interface for setting of temperatures and real time review of operation
- I will create an enclosure for wall mount in my fermentation area for the screen and all the given components, including the control screen, rasberry pi, mulitple Arduino unos and LCD's, connectors, USB hub, power distribution, and heat dissipation.

My current equipment includes 2 half barrel SSbrewtech unitanks with FTSS systems, a SSBretech glycol chiller.

I would like to migrate to a centralized control system from the independent SSBrewtech PID based FTSS controllers, using your outline as a base. Since your system is configured to use "chambers" using 120v outlets to cycle cold or heat, I may have to replace my existing 12v submersible pumps with 120v pumps unless you have an explanation on how I can use my existing 12v system. I like the use of multiple small pumps instead of building a full manifold system as it does not require me to have a constant running glycol pump and actuated solenoids. This may change in the future, but I don't always have beer fermenting and independent systems seem simpler.

I have some familiarity with rasberry pi, temp controllers and the like but not quite to this extent. I look forward to learning and sharing my experience with anyone that would like to do a similar build.

I believe that I have a good list of parts outlined from https://www.brewpiremix.com/brewpi-hardware/ but any further advise would be wonderful.

Thank you, and others, again very much for all your hard work to date on this concept and I hope that I can add to this project with my own take on it for people moving toward glycol based cooling systems.
 
Last edited:
I believe from what I read and that this thread is currently active as of today that the "BrewPi Remix" project is still active and in modern development.
I don't know about "modern development" but I'm doing my best. :)
My current equipment includes 2 half barrel SSbrewtech unitanks with FTSS systems, a SSBretech glycol chiller.
To be fair, right now you may find the min on/off times too long. I'd be happy to give you a version of the firmware with those zeroed, or with a "ninja switch" to allow you to bypass those minimums. I don't have a glycol setup here so if you'd be a guinea pig, I can help you get going. I'd want you to experiment with water in the fermenter first of course. I've wanted to support this but had no way to test.
I would like to migrate to a centralized control system from the independent SSBrewtech PID based FTSS controllers, using your outline as a base. Since your system is configured to use "chambers" using 120v outlets to cycle cold or heat, I may have to replace my existing 12v submersible pumps with 120v pumps unless you have an explanation on how I can use my existing 12v system.
You can use the relays with 12V, or use an SSR setup like this one. They don't look like this, but you'd wire it similarly:
SSR70A_Circuit.gif

Of course if you have a heater, you'll want to stick with the relays and do a similar thing using only COM and NO terminals.
I have some familiarity with rasberry pi, temp controllers and the like but not quite to this extent. I look forward to learning and sharing my experience with anyone that would like to do a similar build.
This is one of those things that makes more sense when you jump in. I'd encourage you to set it up on your workbench (without the pumps of course) and just play with it.
I believe that I have a good list of parts outlined from https://www.brewpiremix.com/brewpi-hardware/ but any further advise would be wonderful.
Aside from replacing the relay with the SSR (and you could use the relay for that matter), I think that's a pretty good start. You won't need the heat lamp as I think that the system has a mat? And the fan is likewise no use to you.
 
LBussy, thank you very much for your quick reply to my inquiry.

On your first point I am not sure what the minimums are for on off, but you are probably right if they are fairly short. To keep within my current 1 degree F of hysteresis my system currently will run for approximately 4-5 minutes glycol on when temp is within range and does not cause an over/under shoot.

The SSR link you provided doesn't work, is this close?: https://www.amazon.com/SainSmart-Ch...eywords=sainsmart-2+ssr&qid=1568849394&sr=8-1


As for heat, yes its a 12v DC pad... I never use them but its a feature that I would like to have optionally.

I am happy to be a guinea pig on this as I have the equipment, time and finances to make it all happen quickly.

Another question I had depending on the go no go answer was how to setup the arduino LCD, is it possible to use something like this: https://www.amazon.com/SunFounder-S...9Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=

that LCD sheild seems like with just a few jumpers it works... but I don't know if that is true as I have never worked with arduino's and LCD displays at all, nor if your software scripts would interface with this LCD correctly.



This is exciting if I can work with you to gather the proper hardware purchase list, I will happily get it all and have it bench tested quickly. Then setup H20 tests on one of my currently empty fermenters. I have a fermenting Oktoberfest lagering in my other tank for the next month. But I will only need the one tank for testing.

Thank you again.
 
Here are the fermenters and glycol system I am looking to control. The idea is to mount a touch display above the current glycol chiller on the left.
 

Attachments

  • Keystone Brewing Fermenters.jpg
    Keystone Brewing Fermenters.jpg
    2.4 MB · Views: 55
Status
Not open for further replies.
Back
Top