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.
Stewart194, I'm sorely tempted to suggest the painful test of unhooking Arduino and plugging USB to a PC, downloading and running a One-Wire discovery sketch and One-Wire sensor reading sketch, just to independently check those sensors (example )

You know, just to independently test the arduino and temp probes without any BrewPi intermediary
 
I also just tried reprogramming the Arduino which went fine, then ran the fix permissions script which also ran just fine, but these sensors still do not show up. If any one has any more ideas I would greatly appreciate it! I'm close...but something is clearly not right.
 
FYI - I also uninstalled all of the devices under device list by setting them all to "None" and am no longer getting dual 5(Act2) entries.

Also, if I set up my Cooling Chamber under 6(Act1), should I be able to at least turn the fridge on constant? If so, that isn't working either. But I'm guessing that nothing will work if the temp sensors aren't getting a temp reading. And even when I try to assign anything to the device list, like the fridge or the heater...it always says inactive under "Value".
 
If I'm remembering this correctly, with no temperature sensors functioning you can't get BrewPi to do anything with actuators.
[edit] Also, the actuator "value" reflects whether BrewPi has set the actuator "active" or "inactive".
It doesn't really reflect connectivity per se.
Eg: right now my cooling actuator is active while the heating actuator is inactive.

Could you maybe take a good close-up picture of your hardware setup?

Cheers!
 
Stewart194, I'm sorely tempted to suggest the painful test of unhooking Arduino and plugging USB to a PC, downloading and running a One-Wire discovery sketch and One-Wire sensor reading sketch, just to independently check those sensors (example )

You know, just to independently test the arduino and temp probes without any BrewPi intermediary

Thanks balrog, I might end up doing this.
 
If I'm remembering this correctly, with no temperature sensors functioning you can't get BrewPi to do anything with actuators.
[edit] Also, the actuator "value" reflects whether BrewPi has set the actuator "active" or "inactive".
It doesn't really reflect connectivity per se.
Eg: right now my cooling actuator is active while the heating actuator is inactive.

Could you maybe take a good close-up picture of your hardware setup?

Cheers!

Thanks day_trippr. I just took a photo of it but you can't really see anything. It just looks a mess of wires. I used all black jumper cables to eliminate as much soldering as possible. Microcenter had a pack of 10 female cables with pins included to make them male...so I used those and everything looks the same from the camera perspective. But I did retrace every cable this morning, and everything is going to the right place.

There were portions that I did have to solder some wires together but I think I did a decent job of that also. I basically did the jumper wires so that I wouldn't have to solder anything directly to any of the boards.

One thing though, is that the jumper cables are super small diameter wise. I just measured them and they appear to be 18 gauge. I used that size for everything except the high voltage stuff...which I used another spare power cable to create those. Those are 10 gauge.
 
Thanks day_trippr. I just took a photo of it but you can't really see anything. It just looks a mess of wires. I used all black jumper cables to eliminate as much soldering as possible. Microcenter had a pack of 10 female cables with pins included to make them male...so I used those and everything looks the same from the camera perspective. But I did retrace every cable this morning, and everything is going to the right place.

There were portions that I did have to solder some wires together but I think I did a decent job of that also. I basically did the jumper wires so that I wouldn't have to solder anything directly to any of the boards.

One thing though, is that the jumper cables are super small diameter wise. I just measured them and they appear to be 18 gauge. I used that size for everything except the high voltage stuff...which I used another spare power cable to create those. Those are 10 gauge.

It might be time to take everything apart as they said and try just the probes. Rehook the probes up and download the Arduino IDE here
http://arduino.cc/en/Main/Software.

Hook your probes(One at a time) up to Digital Pin 10(not Analog 4)

Then plug in your arduino to that PC, and it should get detected and installed.
Then open the Arduino software up and goto File->Examples->OneWire->DS18x20 Temperature

Under Tools->Board select the Arduino Uno, and under Tools->Serial Port it should already show COM1 or whatever serial port it is using for the Uno connected to your PC. If Serial Port is greyed out, it didnt detect your Uno properly, try rebooting.

If all thats right, there is an Upload button, click it and allow the script to upload. Under tools, select Serial monitor...it should start spamming values to the window. If your getting the same value over and over or no value at all your probes may be bad. If the sensors are just wired wrong sometimes they will spam out 0C or -185F ive found.

Others have been getting bad sensors, and apparently a bad sensor can screw up the entire OneWire bus, so test them one at a time to see if one of them is good and one is bad possibly.
 
Geezanet thanks for sharing it. I found some on eBay but most did not list the voltage requirement. A lot are 220V and 200W. I found one mentionning it' a us plug but did not work @ 110V!?!

It seems really interesting for the price. So I asked question about US plug and 110V. Let you know.


Here is the answer :)


Seller : It is original with US plug. And it works with both 110V and 220V.

Me : Thanks, what's the rated power at 110V?

Seller : It is 200W.

So I bought it! 11.40$ !!!

http://www.ebay.ca/itm/Portable-War...t=LH_DefaultDomain_0&var=&hash=item258e432c3d

Thanks Geezanet!
 
It might be time to take everything apart as they said and try just the probes. Rehook the probes up and download the Arduino IDE here
http://arduino.cc/en/Main/Software.

Hook your probes(One at a time) up to Digital Pin 10(not Analog 4)

Then plug in your arduino to that PC, and it should get detected and installed.
Then open the Arduino software up and goto File->Examples->OneWire->DS18x20 Temperature

Under Tools->Board select the Arduino Uno, and under Tools->Serial Port it should already show COM1 or whatever serial port it is using for the Uno connected to your PC. If Serial Port is greyed out, it didnt detect your Uno properly, try rebooting.

If all thats right, there is an Upload button, click it and allow the script to upload. Under tools, select Serial monitor...it should start spamming values to the window. If your getting the same value over and over or no value at all your probes may be bad. If the sensors are just wired wrong sometimes they will spam out 0C or -185F ive found.

Others have been getting bad sensors, and apparently a bad sensor can screw up the entire OneWire bus, so test them one at a time to see if one of them is good and one is bad possibly.

Thanks Fuzze. What color wire on the probe do I plug into digital pin 10? Do the others need to be plugged in somewhere?
 
Thanks Fuzze. What color wire on the probe do I plug into digital pin 10? Do the others need to be plugged in somewhere?

Your data pin should be on Digital 10, the others you can wire up like you normally would to 5V and Ground with the resistor between the data pin and 5V
 
Your data pin should be on Digital 10, the others you can wire up like you normally would to 5V and Ground with the resistor between the data pin and 5V

Thanks man! I don't see a OneWire option though under File - Examples. There is an option that says 06.Sensors but it doesn't list this style. It has ADXL3xx, Knock, Memsic2125, & Ping.
 
On the very first post, the tab on the plug is broken on only one side, correct....
 
Thanks man! I don't see a OneWire option though under File - Examples. There is an option that says 06.Sensors but it doesn't list this style. It has ADXL3xx, Knock, Memsic2125, & Ping.

I had to download the one wire lib to get one wire examples on the arduino
 
I downloaded the Arduino software to my PC, downloaded the One Wire package and moved it into the Libraries folder and now have that option. I wired up everything and it does detect that it's an UNO, only mine is on COM3 and not COM1 which I assume is fine.

I upload the code and watch it ping it through the Serial Monitor, but it says "No More Addresses" over and over. I wired up the 2nd temp probe and it does the same thing. Should I try replacing the resistor? That is one thing that they both have in common...using the same resistor for this test.

Any other thoughts or ideas?

Thanks again to everyone helping me with this!
 
I just unplugged EVERYTHING except the Arduino itself, and ran this test. Got the exact same thing. "No More Addresses". Do you think I really have 2 bad sensors?
 
I just unplugged EVERYTHING except the Arduino itself, and ran this test. Got the exact same thing. "No More Addresses". Do you think I really have 2 bad sensors?

Your sure its a 4.7k resistor? What are the color codes on? It should be Yellow - Purple - Red in that order, the last silver/bronze band doesnt matter.

Before we say its your probes lets try this software
http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

You already have the OneWire lib, so get the DallasTemp lib and the Address finder. Unzip the address finder and open the PDE file in the Arduino software.

Then plug your probes in and the data goes to Digital Pin 3.

When you upload this and go to the serial monitor it should print out the OneWire address's of anything it finds. If it finds nothing your probes arent hooked up right or are just bad...

If they were premade that sucks, but it seems quite a few people here have struggled with bad probes so maybe you just got super unlucky.
 
Your sure its a 4.7k resistor? What are the color codes on? It should be Yellow - Purple - Red in that order, the last silver/bronze band doesnt matter.

Before we say its your probes lets try this software
http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

You already have the OneWire lib, so get the DallasTemp lib and the Address finder. Unzip the address finder and open the PDE file in the Arduino software.

Then plug your probes in and the data goes to Digital Pin 3.

When you upload this and go to the serial monitor it should print out the OneWire address's of anything it finds. If it finds nothing your probes arent hooked up right or are just bad...

If they were premade that sucks, but it seems quite a few people here have struggled with bad probes so maybe you just got super unlucky.

Thanks Fuzze. I ordered the resistors that you recommended, it was a pack of 25 or something like that. It is Yellow, Purple, Red, & Gold. I've tried two of these so far.

But I will try this and let you know how it goes.

Thanks again!
 
Alright, SO...I followed your advice and it did in fact find my "1 wire device". It says the address is : 0x28, 0xFF, 0x42, 0x7e, 0x11, 0x14, 0x00, 0xA9.

This means that this 1st temp probe I'm testing is OK correct?

But when I open up the Dallas Temp Tester it says "Locating devices...Found 0 devices.
Parasite Power is: OFF. Requesting Temperatures...DONE. And repeats that line over and over.
 
What is the Dallas Temp tester? Its entirely possible looking on a different pin then the One Wire Address Finder...you can look in the code and near the top they should define what Pin they are using.

If it pops up in the Address finder though that means the probe is good.
Do nothing else to the circuit but swap the data over to A4, and upload the BrewPi Rev-C image to it and see if it reads it properly now in the Device Config?
 
What is the Dallas Temp tester? Its entirely possible looking on a different pin then the One Wire Address Finder...you can look in the code and near the top they should define what Pin they are using.

If it pops up in the Address finder though that means the probe is good.
Do nothing else to the circuit but swap the data over to A4, and upload the BrewPi Rev-C image to it and see if it reads it properly now in the Device Config?

It's part of that files that you told me to download. After you do that, unzip them, and copy them to the libraries folder then it becomes an option in the Arduino software menus. It's supposed to tell you what the temperature is that the probe is reading...but I bet you're right, and that you're supposed to plug it into another pin.

But are you suggesting that I fire up BrewPi and see if it reads it now? Or are you saying that I can somehow upload the the Rev-C Hex file to the Arduino through this Ardunio software?
 
Yea hook it up to your Brewpi system, push the BrewPi RevC image to it and swap the data to Pin A4...you know the circuit you have now works so do as little too it to possible except swapping the data pin...
 
Yea hook it up to your Brewpi system, push the BrewPi RevC image to it and swap the data to Pin A4...you know the circuit you have now works so do as little too it to possible except swapping the data pin...

Damn man. Now BrewPi won't recognize the Arduino at all and it says "script not running". When I try to reprogram the the Arduino with the Rev-C hex file it says all kinds of fun stuff like "could not open port /dev/ttyACMO: [Errno 2] no such file or directory. Script will exit. device reports readiness to read but returned no data (device disconnected?)

The TX light on the Arduino board is flashing constantly also which I'm not used to seeing. No amount of rebooting or running the /home/brewpi/utils/fixPermissions.sh script corrects the problem. Not sure where to go from here.
 
Just unplugged the sensor to see what happens and get the same thing...so nothing cross wired or anything like that. I don't think I fried the Arduino when I tried changing the temp sensor wires (data and ground) around the other day. It seemed just fine after that and while testing it with my PC just a few seconds ago. I know I had it wired up right initially also. I'm about ready to rebuild my Debian machine from scratch at this point.
 
Did you plug it into the same USB port? I'd try rebooting first.

Also on the Debian machine with the Arduino plugged in type (its LS lowercase)

ls /dev/ttyA*

It should list your serial/usb ports. It SHOULD list out ttyACM0, im guessing it wont though because your getting that above error.

Check that first, and make sure that something shows up. Dont worry about the light flashing, its only because of the other program you have flashed onto the Arduino that is transmitting data...it shouldnt affect anything.

Hopefully something shows up, like ttyACM1 or ACM2...if thats the case we can modify some of the config files.
 
Did you plug it into the same USB port? I'd try rebooting first.

Also on the Debian machine with the Arduino plugged in type (its LS lowercase)

ls /dev/ttyA*

It should list your serial/usb ports. It SHOULD list out ttyACM0, im guessing it wont though because your getting that above error.

Check that first, and make sure that something shows up. Dont worry about the light flashing, its only because of the other program you have flashed onto the Arduino that is transmitting data...it shouldnt affect anything.

Hopefully something shows up, like ttyACM1 or ACM2...if thats the case we can modify some of the config files.

Hey Fuzze -

Typing the ls /dev/ttyA* it DOES list it as ACMO

I just tried different USB ports though and it didn't make a difference. When I hit the "Start Script" button it doesn't do anything either.

Looking at the code closer after hitting the Program button while trying to load the Rev C hex file, it says things like "Line 331, in ser.flush. File "/usr/lib/python2.7/dist-packages/serial/serialposix.py line 491 in flushself.drainOutput. Line 565 in drainOutput termios.tcdrain(self.fd). Termios.erro:(5, 'Input/Output error')
 
I should also mention, that when I first built this Debian machine I didn't know ANYTHING about this stuff. I still don't, but I was trying to manually install Python, Apache, and all kinds of other things because I didn't know that the brewpi script installed them. I would get all kinds or errors that said things like "This package depends on "such and such" a package" and would fail.

If you think we can save this let's do it! But if you think I should just start over I gladly will. I took good notes and can eliminate all of those other mistakes.

That being said though, everything did appear to be working fine once I got it all figured out. So I'm not sure what to try next. I can test that 2nd sensor on my PC which I haven't done yet, but at this point it's probably not necessary since we know I have one good sensor.
 
Plus swapping those wires around on the sensors while trying to troubleshoot them...which caused the lights on my Arduino board to go from bright and shiny to dim then dead...I'm guessing is NOT good! Haha.
 
Plus swapping those wires around on the sensors while trying to troubleshoot them...which caused the lights on my Arduino board to go from bright and shiny to dim then dead...I'm guessing is NOT good! Haha.

Meh. Probably had power and ground connections swapped to the sensor and it crow-barred the Arduino's power supply. Unlikely to harm the Arduino in any case, and if the sensor passed that IDE script test then it survived as well...

Cheers!
 
Having something very weird and annoying happening to my BrewPi have never had happen before, all of a sudden i checked and my Fridge temp (the BrewPi internal setting, not the actual temp) is pegged at 85F(my max allowed) and my fridge has just been idling all day..luckily im just cold crashing my lager down so its not a huge deal but ill let you guys know the outcome from when i talk to the BrewPi guys.

No matter what i set it wont go down from 85F, UNLESS i set my BrewPi to fridge cooling mode, then it works. Im wondering if i have an old version and i need to update or something.
 
I figured it out, for those of you that are messing with PID maximum beware.

If you set it too high, and your Beer setting - PID maximum is less than 0, it will screw up and set your fridge setting to 77F and essentially turn off all cooling.

I noticed it when my fridge got down to 32F, i had changed my PID Max to 32, so when it hit there the fridge went to max temp and stopped chilling for a f ew hours today.

So if you plan to use your brewpi to lager or cold crash, make sure that you dont set the PID Max to more than 30F or so...or else you may cross the threshold..
 
First of all, this thread rocks. I bought a BrewPi shield from Elco, but also set up one this way and love it.

I'd love to hook up an LCD on my shield-less BrewPi. I believe the shield uses a shift register to drive the LCD. If anyone knows how it could be wired up and what components would be needed I'd love to see it. Really digging this project. Cheers!
 
So, i will start this post by saying Elco, _mdma, and Geo(i believe) are amazing at what they have created with BrewPi and continue to develop for free. Brewers are great in that they share nearly everything, and they are no different.

SCHEMATIC

This is a very basic sketch i threw together with my amazing MS Paint skills. The circles are the wire nuts.
BrewPiArduinoCircuit.jpg



Feel free to post here if i left anything obvious out and i’ll do my best to help!


Hello I'm trying also
tell me if I have done well by following your pattern virtually
reisstenza from 4k7 in parallel between + VCC and A4 signal of the temperature probe

IMG_20140701_203722.jpg


IMG_20140701_203715.jpg


Question. Hex shield version should I download for A or C
I have tried both but no I do not read the two temperatures

Where am I wrong?

ArduinoProgrammato.jpg


BrewPiSavioKo.jpg


Grazie
 
You have to flash the RevC image for the Uno, the RevA will not work.

What is that black thing your soldering to exactly?
 
Hello I'm trying also
tell me if I have done well by following your pattern virtually
reisstenza from 4k7 in parallel between + VCC and A4 signal of the temperature probe

IMG_20140701_203722.jpg

Grazie

Looks right to me. I would try CAREFULLY swapping data and ground on the Arduino and rescan for devices. I know there are some one-wire sensors out there that have those wires swapped.

If that doesn't work, load up the OneWire DS18x20_Temperature example and see if you can get temperature in the serial console.
 
The black thing is nothing more than a connector clamp step 5
I used so that I can change on the fly without weld probe
Place along side a photo

IMG_20140701_224331.jpg


IMG_20140701_224624.jpg


Nothing I've tried to reverse as recommended by A4 5V Arduino pin but does not read

I have not figured out how to do the test with OneWire example DS18x20_Temperature

Ok I programmed with C version but still no go: (

BrewPiSavioKo.jpg
 
I cant immediately see anything wrong with it, have you tried restarting the BrewPi/RPI/Debian side of things? Ive had my setup get a bit wonky before and not read sensors that were there until i rebooted.
 
I cant immediately see anything wrong with it, have you tried restarting the BrewPi/RPI/Debian side of things?

I disconnected and re-fed everything but nothing

Or should I restart with some command?

I checked the probes on another circuit as in the picture and as good as an suno that the cables are the correct color red + 5V GND Black Signal Yellow

IMG_20140701_235103.jpg


I also tried to raise doubts
Solder the wires to avoid false contacts as in the photo but nothing: (

IMG_20140702_005259.jpg


I doubt at this point that the PIN A4 my arduino is broken
It is possible to have a. Hex with Acquisition of temperature on Pin 7
 
Status
Not open for further replies.
Back
Top