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.
No just using cat5 for my pinouts. It may also be the fact that I bonded all the 5v and gnd pins on all 4 arduinos. Or the relay boards are drinking up too much voltage. I still haven't built in the 5v psu for the relay boards so they are just running off arduino power for now…
 
It could also be interference from the refrigerator itself since I have to run past the condenser coil to get my cable to where it hooks in…
 
I'll have to tackle it tomorrow. It actually looks like I need to rework how I have my power hooked up to the relay board. I'm seeing a bit of voltage where it shouldn't be. The LEDs are showing that they are getting a very small amount of current, currently they are so dim you can barely tell, but they are staying on, so I definitely have a short. Or I need to do a better job cleaning the solder paste off. I'm not as good as I'd like to be at soldering up peg boards. I've been thinking about designing the boards I need and having them fabricated…
 
No just using cat5 for my pinouts. It may also be the fact that I bonded all the 5v and gnd pins on all 4 arduinos. Or the relay boards are drinking up too much voltage. I still haven't built in the 5v psu for the relay boards so they are just running off arduino power for now…

Yeah, that is NOT how you do it.

I don't know how you are connecting all your Arduinos, but I suppose they all plug into a USB hub. They are powered via the hub. Do not connect all 5V lines.

Do not tie the output of different voltage regulators together. They will be fighting each other resulting in high currents.

It is okay to connect grounds, and often this is required even.

It is a much better idea to use a 7-12V supply to the Vin pin of each Arduino and use the on board regulator.
 
So along every step of the way I have struggled with this project and this is no exception. With help from day_trippr and wbarber69 I finally got my BrewPi up and hosting the websites for 2 arduinos. With FuzzeWuzze and the rest I finally got my arduinos programmed (Mega 2560's). Now I am having issues assigning my relays in the device table. Nothing looks like the screen shots FuzzeWuzze attached. I don't get any pin assignments and I don't get a temp reading on my temp probes. On one arduino the temp probes appear to be 9 degrees f. Different. Any ideas on what I have messed up this time?
 
Never seen what comes out of the mega once it's programmed. You may have to manually assign each pin, but without at least some screenshots I can't really understand what you're looking at…
 
Disconnected the contiguous 5v rail. Didn't help attempting to bake and clean the breadboard to eliminate ghost traces.

EDIT:
Well back to the drawing board. Almost convinced of line interference as everything stays connected just fine until the cooling cycle starts up. After around 2 minutes of cooling the temp probes start dropping off.

I may end up having to break out each arduino separately and just deal with the fact that it's gonna take 12 wires to do so.
 
The problem disappears if I eliminate the long run cable. If I move the arduinos within the length of my prototyping leads I have no issues. Now to determine just how long I can go…
 
OK, I bought all the parts and assembled the Pi. Got an Arduino Uno Rev C. I installed BrewPi and am attempting to program the Aurduino from the web interface. Here is the output...

Code:
**** Arduino Program script started ****

Settings will not be restored

Devices will not be restored

Checking old version before programming.

Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Loading programming settings from board.txt

Checking hex file size with avr-size...

Program size: 25766 bytes out of max 30720

Programming Arduino with avrdude: /usr/share/arduino/hardware/tools/avrdude -F -e -p atmega328p -c arduino -b 57600 -P /dev/ttyACM0 -U flash:w:"brewpi-uno-revC.hex" -C /usr/share/arduino/hardware/tools/avrdude.conf

result of invoking avrdude:
avrdude: stk500_recv(): programmer is not responding

avrdude done. Thank you.



avrdude done!

Giving the Arduino a few seconds to power up...

Back up in 5...

Back up in 4...

Back up in 3...

Back up in 2...

Back up in 1...

Back up in 0...

Now checking which settings and devices can be restored...

Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Resetting EEPROM to default settings

Warning: Cannot receive version number from Arduino after programming. Something must have gone wrong. Restoring settings/devices settings failed.


Sep 22 2014 02:19:02 New program uploaded to Arduino, script will restart

Then something about wlan0 (even though I'm on eth0 - couldn't get the wireless working yet).

Any ideas? When I first got the Arduino and plugged it in, the LED was blinking. I ran the clear EEPROM script that I successfully loaded via the Arduino IDE. I verified its on ttyACM0. I'm not sure what else to try...
 
Get a better USB cable

And if you still have the wifi dongle plugged in remove it.
 
Get a better USB cable

And if you still have the wifi dongle plugged in remove it.

Thanks for the help. I'm using the USB cable that came with the Uno. Since I can write to it using the Arduino IDE, could it still be the issue?

The Wifi dongle has been unplugged the whole time.

Any other ideas??
 
I got the same error when I was using the ****ty belkin USB hub.
 
Put power to the arduino itself and see if it helps. Any power supply with 7-12v and at least 700ma.
 
Thanks all for info on this thread! It certainly helped me out a lot. Took me a number of months working on this in my spare time, but it is now done! I just put my first ever brew into my chamber. Been running for just over 24 hours now. :rockin:

I needed to keep my whole project cheap (wife insisted) :p So I made a modified version of the Son of a Fermentation Chiller; but controlled it with BrewPi. I already had an the Arduino, and an old HP Mini netbook just sitting around not doing anything useful, so I decided that's what I'd use instead of an actual RaspberryPi. I also had a handful of resistors, transistors, and old computer parts; so the only things I had to buy were the temperature probes, the 2" sheet of foam for the chamber, and a can of spray insulation for the edges.

Since I had to be really cheap, I couldn't buy a relay for the fan controller, so instead used a transistor and diode to control it from the Arduino. I then cut to size a project board I had and made my own shield for the Arduino. Not pretty, but it worked.

Attached are some pics of my setup along with the crude sketch of my wiring schematic. Some of the details I'm sure changed from when I sketched that to the finished product, so probably not a good idea to copy it directly.

IMG_20140706_161154.jpg


IMG_20140706_162524.jpg


IMG_20140706_161719.jpg


IMG_20140706_161302.jpg


IMG_20140921_101141.jpg


IMG_20140921_100944.jpg
 
So here is what I got with both probes setting on the same spot on a table in my basement (guessing around 65 degrees F).

I am also having difficulty finding out how to get the relays to show up. The screens that I have are nothing like what FuzzeWuzze posted in post 1.

Temp probe.png


devices.png
 
So here is what I got with both probes setting on the same spot on a table in my basement (guessing around 65 degrees F).

I am also having difficulty finding out how to get the relays to show up. The screens that I have are nothing like what FuzzeWuzze posted in post 1.


You have to assign the devices...
 
I can and have assigned them to the pins that FuzzeWuzze posted in the first post. I am still unable to get a temp read out of the probes or any think to change in the function drop down. There must be something I am missing.
 
Then you haven actually read fuzze's original post. You have to assign each device a number and a function then hit apply. Then use the refresh devices list while you have read values ticked.
 
I can tell your probes are there bufford you didnt click the read values box before refreshing, I know they are there because I can see the top two devices detected one wire addresses.

You need to assign their functions, one to beer temp and one to fridge.
 
I really appreciate the help. I gave it another try and ended up with this. While it is closer and I did select the read values button. I still am unable to chose a function and I can not find where my relays are as there is no pin address.

temp2.png
 
I really appreciate the help. I gave it another try and ended up with this. While it is closer and I did select the read values button. I still am unable to chose a function and I can not find where my relays are as there is no pin address.


Did u upload the hex file you made or the one elco made?
 
I used the .hex file that FuzzeWuzze posted.


I looked through the hex file code and couldn't really find anything that stood out as a problem with the mega. But I compiled one from my project and maybe it will work for you.
https://www.dropbox.com/s/4wlyiwy0htj0jv7/brewpi_mega2560_avr.hex?dl=0

This is a standard revC build with added support for ds2413 actuators. All I did was make sure some of the default pin assignments were true and set the device to mega. Of it doesn't work we might need to take a look and see if all your python scripts were downloaded properly…
 
Elkoe, seriously. Put a donation button up and I will give you my money. This project is worth everything I've paid for it so far :)

I would also like to contribute on the heater side, too.

And if you are ever in the Bay Area, CA, you're welcome to come by for beer :mug:
 
I'm doing my first batch now with a custom BrewPi shield, and apparently something went wrong with the chamber sensor. It started reading a null value, and the cooling completely stopped.

Is it possible to hook up multiple chamber sensors and have them average, or just use the one that is working in case one fails? I couldn't find info about this in the documentation, but maybe it already does that?
 
So I tried the new .hex that wbarber69 posted. I end up with the same results. It indicates no installed devices and everything appears to operate in the same manner. wbarger69 you mention exploring some python script. Any suggestions?
 
Send me your stderr.txt file

bufford at walterbarber dot com
 
If the EEPROM format is updated, it will not store anything untill an EEPROM reset command is received. This is protect old data in the EEPROM from being overwritten before it is backed up.
The programming script does this for you, but you can also do it manually by sending E over the serial port.

If your devices are not stored (don't stick), this might e the problem.
 
Elkoe he isn't able to assign any devices… he cannot choose a pin or a function. So he hasn't been able to store any devices yet. There must be something we're overlooking.

It reminds me of when I was trying to use a relay shield and needed to move the pins around. After I compiled my own hex file I wasn't able to change the door pin until I edited pinlist.py but I don't think he is having the same issue.
 
The screens bufford was showing were missing an entire field for the "digital" devices - namely, the digital pin association. Assuming he didn't randomly whack the BrewPi code I suspect there's some disconnect between what the AVR is sending in response to a "Show Devices" command and what the BrewPi JS code wants to see...

Cheers!
 
Either the avr code is totally borked for megas or something is seriously wrong with his install…
 
Status
Not open for further replies.

Latest posts

Back
Top