• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

HOWTO - Make a BrewPi Fermentation Controller For Cheap

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Status
Not open for further replies.
Anybody have the 0.2.11 hex for arduino? Need to calibrate my sensors and that doesn't work in 0.2.10.
0.2.10 is the last version that supports arduino as the pulled a lot of the arduino code out in 0.2.11 as part of the decision to only support spark moving forward.

I did "roll my own" hex file that merged in the two bug fixes that never made it to the arduino builds, but I customised the LCD text to suit my non standard setup, so probably won't suit yours (Fridge -> Glycol, Door open -> WARNING: Pump off!).

I can roll you one with standard text if it's just the bug fixes you are after?

Cheers,

Kal

screen_20181121-082833.png
 
Last edited:
To my knowledge, 0.2.11 was only available for the Spark and not for Arduino. I think Elko stopped updating the Arduino branch once the Spark came out.

You can get the temp probe calibration feature by migrating to Fermentrack, though. @Thorrak built that functionality into the software.

I think there is also a way to do it outside of the hex, but I'm at work and don't have my notes available on that.

Thanks [emoji4]
I'll have a look at fermtrack. Is it just as good as brewpi?
Too bad they stopped supporting Arduino since it works fine and I don't want to spend a bunch of money on the new brewpi yet. Bought three new sensors from brewpi and one is off by about 1 °C so would be nice to calibrate it.
 
0.2.10 is the last version that supports arduino as the pulled a lot of the arduino code out in 0.2.11 as part of the decision to only support spark moving forward.

I did "roll my own" hex file that merged in the two bug fixes that never made it to the arduino builds, but I customised the LCD text to suit my non standard setup, so probably won't suit yours (Fridge -> Glycol, Door open -> Pump off).

I can roll you one with standard text if it's just the bug fixes you are after?

Cheers,

Kal

View attachment 598675

That would be awesome if you could do that [emoji3]
 
Thanks [emoji4]
I'll have a look at fermtrack. Is it just as good as brewpi?
Too bad they stopped supporting Arduino since it works fine and I don't want to spend a bunch of money on the new brewpi yet. Bought three new sensors from brewpi and one is off by about 1 °C so would be nice to calibrate it.
Fermentrack is an updated web interface that uses the Brewpi hardware and scripts to run. When you are between brews, give it a try.
 
Still not able to calibrate the sensors. Maybe I'm missing something. Im running

sudo screen /dev/ttyACM0 57600
h{v:1}
U{i:0,j:-1.0}

ctrl a, then k and y
sensors reading the same......
 
Those steps look correct. Does your log file show the calibration steps?
It's been so long since I did BrewPi probe calibration I can't remember if the log file shows anything happening with each input.

As requested, here's a patched version of the 0.2.10 hex (containing the two bug fixes for 0.2.11 that never made it to the arduino build)
brewpi-uno-revC-patched.hex (MD5 Checksum: ac1bd3b7ea2beff2363cf06068e65e93)

What were the two bugs that were fixed, please?

Also, does your firmware include the automatic LCD refresh code that someone here came up with years ago?

Cheers!
 
Those steps look correct. Does your log file show the calibration steps?
It's been so long since I did BrewPi probe calibration I can't remember if the log file shows anything happening with each input.



What were the two bugs that were fixed, please?

Also, does your firmware include the automatic LCD refresh code that someone here came up with years ago?

Cheers!

As with most "bugs" it was a couple of typos:

Fix for bug in setting calibration offset

PHP:
-  def->calibrationAdjust = fixed4_4(parsedVal)>>(TEMP_FIXED_POINT_BITS - CALIBRATION_OFFSET_PRECISION);
+  def->calibrationAdjust = fixed4_4(parsedVal>>(TEMP_FIXED_POINT_BITS - CALIBRATION_OFFSET_PRECISION));

Fixed ncorrect capitalization (BrewPi.h instead of Brewpi.h) in OneWire.h

PHP:
-  #include "BrewPi.h"
+  #include "Brewpi.h"

I just manually corrected both of those in the 0.2.10 firmware, I didn't incorporate any other features but could if anyone wanted to supply them (I'm a bit time poor at the moment and not actually a Software Engineer just know enough to be dangerous).

Cheers,

Kal
 
Thanks! And wow, even with both pairs of lines right there it took awhile to see the actual errors.
Not surprised those snuck by :D

Cheers!
Yeah, it's amazing the trouble a closing bracket and capital h can get up to if left to their own devices...
 
I want to build a sous vide for my wife who is a trained chef. I can't follow the original post because so many links and photos are missing. I will likely go about it by researching all I can find and design my own method. I will likely do it similar to the cooler based MLTs I have made, using a PID for control.

What I don't get is why is there a need for a arduino or Raspberry Pi?

I don't need internet control or to graph my temps. I just want to be able to control my water temps within a few degrees, would a PID controlled immersion water heater be able to do that?
 
I would hope a PID controlled immersion water heater would do something so simple.

The Raspberry Pi provides web access for display, configuration and high-level control, while the Arduino runs the code that actually controls cool and heat "actors". If you don't need web access for display, configuration or control, there's no real need for any computer. And if you're going to buy an off-the-shelf PID, there's no need for an Arduino...

Cheers!
 
I want to build a sous vide for my wife who is a trained chef. I can't follow the original post because so many links and photos are missing. I will likely go about it by researching all I can find and design my own method. I will likely do it similar to the cooler based MLTs I have made, using a PID for control.

What I don't get is why is there a need for a arduino or Raspberry Pi?

I don't need internet control or to graph my temps. I just want to be able to control my water temps within a few degrees, would a PID controlled immersion water heater be able to do that?
I use my stc1000+ to control a crock pot. You can use an aquarium air pump to help move the water around. Not my setup https://www.homebrewtalk.com/forum/threads/stc-1000.464348/https://cookingcircuits.com/home/2014/1/22/25-sous-vide-controller
PB080030.jpg
 
Still going i see, good! Been super busy with Baby 2.0 and havent had any time to brew lately, soon i hope!
Hello there, Let me first start by offering a big "Thank you" for starting this thread. I've studied your post on creating a DIY brewpi. Working largley off your instructions I've had some success. I've been able to connect my "BrewPi" build and see my temperature probes and read temperatures correctly. I'm having some difficulty seeing and confirming that my relays are working. I've checked the connections and I think they are correct and solid. However, when I set the brewpi to constant beer and set a beer temperature above or below the probe temperature I don't hear the relay kick in nor do I see any LED light on the relay board. Any suggestions? Thanks in advance to anyone that can provide feedback.
 
What make/model relay board are you using?
And did you go through the Device Manager to assign its channels to the proper digital IO pins, Chamber and functions?

Cheers!
 
What make/model relay board are you using?
And did you go through the Device Manager to assign its channels to the proper digital IO pins, Chamber and functions?

Cheers!
Hello! Thank you very much for your response! I'm using the following relay board. https://www.amazon.com/gp/product/B0057OC6D8/?tag=skimlinks_replacement-20
I thought that I gone into the Maintenance Panel within the BrewPi web application and tried to set up this correctly following the instructions given by FuzzyWuzzy below

  • Under DETECTED DEVICES you will see quite a few devices, find the one on Arduino Pin 5(Act2) and one on Arduino Pin 6(Act 1), these are your relay switches.
  • Set them to Chamber 1, and Chamber Device for their assigned values. You also need to set the Pin Type to inverted if you followed my wiring diagram and used the left and middle pins of the Relay output. Also make sure to hit apply for each device after you have set them up properly. After you do this for both of them and they show up as installed they should be listed as Switch Actuators.
    BrewPi-DeviceConfig6.png
    BrewPi-DeviceConfig7.png
    .


However, I think something might be wrong at this stage since, after clicking the "apply" button the relays did not sow up as "Actuators" I think they showed up as "digital pin" or something like that.

Also, I'm concerned that there may be a software compatibility issue since I don't think the software on from the brewpi site(https://wiki.brewpi.com/getting-started/raspberry-pi-docker-install) supports the Arduino Uno microcontroller any longer.

Finally, I have a bit of a foolish question. Right now I have my build connected by USB and am only using the USB for power. Do I need to power the board using a DC adapter instead?

Thanks again for any help that you can offer.
IMG_3720.JPG
IMG_3719.JPG
IMG_3717.JPG
 
Last edited:
Here's the Device Configuration from one of my full-blown BrewPi systems (3 probes, cool/heat/fan relays and a door sensor).
You can see that the only devices that actually "talk back" are the probes - none of the other devices actually have any way to identify themselves as they are simply controlled with single digital IO pin states.

Make sure all installed devices have all fields selected as shown...

bp_devices.jjpg.jpg

As for powering the Arduino, all of my BrewPi Unos have dedicated 9V 1A wall-warts or equivalent powering through the barrel socket. While it's possible to power them via the USB receptacle it's not as reliable a solution for all configurations. In my case the Unos for three of my BrewPi systems are remote units connected via Bluetooth - no host USB available - so a wall-wart was needed anyway, might as well make it the more reliable solution...

Cheers!
 
Thanks again for the help and the information. I configured all my devices as you showed. I have two temperature probes. So I configured one as chamber1;Beer1; Beer temp. The other probe I configured as chamber1;chamber device;chamber temp. Finally I configured pin A5(act 2) and A6 (Act 1) as you have. Of course I don't have the other devices that you have. Of course I also assigned devices slots as 0,1,2 and 3 respectively. I clicked "apply". I then set the the brewpi software to "beer constant temp" mode. However, although the beer temp was set lower than my room temperature (both probes out on my desk) the status of the controller just sat at "Idle" so the algorithm apparently was not attempting to actuate the relays. I let it sit for some time with no luck.

However, I did notice some interesting things. First, your software seems a little different form mine. Within the maintenance panel I see that you have a button labeled "Reprogram Arduino" whereas the same button in my control panel is labeled "Reprogram controller". Likewise, in the device list, your devices appear as "Arduino Pin" and mine appear as "Controller Pin". The reason I mention this is becuase I have downloaded the brewpi software from the brewpi website and I'm I thought that I read some where that this no longer supports the Arduino Uno board. Also, I noticed that none of the algorithm parameters are populated in the Advanced Setting tab for the controller algorithm. Should these be populated already with some default constants? I also have found that when I stop the brewpi script from the web interface i cannot restart the script and it will only restart again after I re-program the arduino with the brewpi hexfile (arduino revision C from github).

I'm thinking that my hardware set up is fine and that there is a software issue but that I may need the legacy software for brewpi that is compatible with the Arduino Uno. How recently have you built your BrewPi system using the Arduino Uno? Any advice on software issues? Thanks!
 
@Tulock, when setting up the Brewpi, you should have chosen the legacy branch from git. I believe this used to be done using the --ask parameter. Do you remember doing so? Otherwise, you would have installed the most current software, which no longer supports the arduino. I believe you can check out the legacy version by running the update and using the --ask parameter. (see image below from the DIYBrewPi Wikia page)

Did you install on a raspberry pi?


Screenshot_2018-11-30 Setting Up Your RPI.png


And it may be that the legacy version is not supported at all. This is partially why I am going to be moving over to Fermentrack.
 
Last edited:
I believe the version I'm running is 0.2.10 - which I think was the last version with Arduino support. Elco was maintaining a legacy branch for Arduino support but I just spent 15 minutes trying to find signs of the legacy code on Github and came up empty. Not good...
 
Status
Not open for further replies.
Back
Top