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.
I've been building my own shield, I've got the One Wire on the A4 pin and when I test it with a sketch, it works ok, BUT, it only works if I have the Analog Side of the board connected. Meaning if the 0-13 side of the board is not connected.

So the serial port can be outputting:
ROM = 28 FF BE 18 63 14 2 AB
Chip = DS18B20
Data = 1 A0 1 55 0 7F FF C 10 F2 CRC=F2
Temperature = 26.00 Celsius, 78.80 Fahrenheit
No more addresses.

ROM = 28 FF BE 18 63 14 2 AB
Chip = DS18B20
Data = 0 0 0 0 0 0 0 0 0 0 CRC=0
Temperature = 0.00 Celsius, 32.00 Fahrenheit
No more addresses.
(Right here I connected the other half of the board)
No more addresses.

No more addresses.

If I again pull those pins out the temp sensor works again. Seems like one of the pins 3-13 when connected makes the One wire stop working!

PIN 3 - Beep/Alarm - I've heard it beep, so this is probably good.
PIN 4 - (empty)
PIN 5 - Actuator 2 (disconnected)
PIN 6 - Actuator 1 (disconnected)
PIN 7 - Rotary (disconnected)
PIN 8 - Rotary (disconnected)
PIN 9 - Rotary (disconnected)

PIN 10 - SR
PIN 11 - SR
PIN 13 - SR

Running the Rev-C Hex, my LCD is also working, which shows me pins 10,11, 13 are working. So, does the rotary have to be connected??

When I goto add devices in the BrewPi Device configuration, there is no "detected device" on pin A4 - my one wire.

I assume this is because the same problem is occuring in the circuitry when running the sketch and when running the HEX.

But what could be wrong with that side of the circuit ? I don't even have the actuators or rotary connected?!?!?
What would cause the one wire to stop working when the other half gets plugged in. ?
 
I've been building my own shield, I've got the One Wire on the A4 pin and when I test it with a sketch, it works ok, BUT, it only works if I have the Analog Side of the board connected. Meaning if the 0-13 side of the board is not connected.

So the serial port can be outputting:
ROM = 28 FF BE 18 63 14 2 AB
Chip = DS18B20
Data = 1 A0 1 55 0 7F FF C 10 F2 CRC=F2
Temperature = 26.00 Celsius, 78.80 Fahrenheit
No more addresses.

ROM = 28 FF BE 18 63 14 2 AB
Chip = DS18B20
Data = 0 0 0 0 0 0 0 0 0 0 CRC=0
Temperature = 0.00 Celsius, 32.00 Fahrenheit
No more addresses.
(Right here I connected the other half of the board)
No more addresses.

No more addresses.

If I again pull those pins out the temp sensor works again. Seems like one of the pins 3-13 when connected makes the One wire stop working!

PIN 3 - Beep/Alarm - I've heard it beep, so this is probably good.
PIN 4 - (empty)
PIN 5 - Actuator 2 (disconnected)
PIN 6 - Actuator 1 (disconnected)
PIN 7 - Rotary (disconnected)
PIN 8 - Rotary (disconnected)
PIN 9 - Rotary (disconnected)

PIN 10 - SR
PIN 11 - SR
PIN 13 - SR

Running the Rev-C Hex, my LCD is also working, which shows me pins 10,11, 13 are working. So, does the rotary have to be connected??

When I goto add devices in the BrewPi Device configuration, there is no "detected device" on pin A4 - my one wire.

I assume this is because the same problem is occuring in the circuitry when running the sketch and when running the HEX.

But what could be wrong with that side of the circuit ? I don't even have the actuators or rotary connected?!?!?
What would cause the one wire to stop working when the other half gets plugged in. ?

I think I found the problem.. I had 2 extra pins in my header which were intended for an LED on this board this may have been grounding out the arduino?!

badrail.jpg
 
Ok after reading all 3000+ post I'm going to give this a shot. Hopefully some of the parts will start to get here tomorrow.
 
Ok after reading all 3000+ post I'm going to give this a shot. Hopefully some of the parts will start to get here tomorrow.

Its really not that difficult, there are some things that happen during the install of the software that sometimes seem to screw people up but everyone gets there eventually :):mug:
 
I'm starting to encounter an issue where at least once every day or two, Brewpi is telling me the arduino needs to be reprogrammed. It began about 4 days ago and I'm not sure of the cause since nothing in my setup has changed. Sunday I had to do it three different times...

I'm running on a PC with a Sainsmart uno, and supplied usb cord. This is how my setup
has been for awhile now and didn't have any issues before so I'm not sure what has happened. I'm going to change the usb first and see if that makes a difference

Edit: And two more times tonight, reprogramming was necessary. I will buy a new cable tomorrow and post the results.
 
I'm starting to encounter an issue where at least once every day or two, Brewpi is telling me the arduino needs to be reprogrammed. It began about 4 days ago and I'm not sure of the cause since nothing in my setup has changed. Sunday I had to do it three different times...

I'm running on a PC with a Sainsmart uno, and supplied usb cord. This is how my setup has been for awhile now and didn't have any issues before so I'm not sure what has happened. I'm going to change the usb first and see if that makes a difference.

If you do get a new USB cord get one with ferrites built in, its quite easy for noise to get on the USB line and screw things up if you keep the cord anywhere near your AC power lines or your fridge/freezer condenser when it cycles.
 
Time for a stupid question; if I built a BrewPi with the Arduino and Raspberry PI 2 combo could the Raspberry Pi do dual duty as both logging for BrewPi and driving RaspberryPints?

-Anyone else doing this currently?



Adam
 
Yes, some of us are doing RaspberryPints and BrewPi on the same RPi.
And multi-channel temperature loggers and motion sensors and musical greetings at the keezer.
Probably some more stuff I left out.

Even a lowly RPi 1 Model B can handle all that with ease.
It's real failing is the graphics engine. It's awful. And the RPi 2 uses the same engine.
So as long as you're not playing RPGs these things have plenty of power...

Cheers!
 
Success! 7.5v Uno wall wart eliminated, everything's running on a single 5VDC 3A brick.

Pics:

The offending circuit that would tie a directly-connected 5V supply to the USB socket pins on the R3 Uno by Sainsmart. Not a good thing. Removing that fet solves that problem.

Then there's the fet - before and after.

There's an unused pin on one of the Uno headers that is now an extra 5V pin.

And there's now a big chunk of open space where the wall wart used to be, that will be home to a low speed 60mm 5VDC fan...

Cheers!

Hey Day_Tripper,

I think I'm having voltage drop problems with my Uno being powered thru the usb from the R-Pi. I want to have a direct V+ from the power supply to the Uno. From what I understand, connecting a power supply to the Uno will backfeed voltage into the usb and you removed that tiny FET to eliminate that, correct? After that, how exactly did you power the Uno?
 
Hey Day_Tripper,

I think I'm having voltage drop problems with my Uno being powered thru the usb from the R-Pi. I want to have a direct V+ from the power supply to the Uno. From what I understand, connecting a power supply to the Uno will backfeed voltage into the usb and you removed that tiny FET to eliminate that, correct? After that, how exactly did you power the Uno?

You have that all correct.
Then, I connected 5V & ground from the power supply directly to the Uno's header pins...

Cheers!
 
OK cool, thanks. The only thing is I'm just using a plain old wall wart mini usb charger for the RPi, not an actual power supply like yours. I suppose I could just cut that cord and splice in another pair of wires to go to the Uno right? I'm not super familiar with the pin out of usb but on a charger like that there's just the typical 2 wires (1 +, 1 -) right?
 
Yes, I would expect there's just power and ground leads in that style wart.
Splicing in a pair of wires should work fine...

Cheers!
 
It was an unused pin. The red wire was soldered from the 5 volt pin to the unused, giving him a second 5v pin
 
Ok I have a ? which hex file do I use I know it's on here some where but I really don't wana have to go back tho all these post lol
 
Dang for the life of me I can't figure how to down load the hex file did the brewpi update that let me choice one choice uno rav c. Then say can't be found. I thank im to tired for this right now lol
 
It may not be obvious, but the web gui for reprogramming the Arduino has a button you have to click on to pull up a file browser.

brewpi_programming.jpg

Put the hex file on whatever system you're using to run the BrewPi gui, click on the Choose File button, and use the file browser to find it...

Cheers!
 
Dang for the life of me I can't figure how to down load the hex file did the brewpi update that let me choice one choice uno rav c. Then say can't be found. I thank im to tired for this right now lol

http://dl.brewpi.com/brewpi-avr/stable/

Go there, find the Uno Rev C hex file, right click on it, and click on save link as.. and then pick where you want to save it, then upload it as day_trippr said.

If you just click on the hex file it opens it up, which is just a bunch of numbers.
 
OK got a problem.

I can't seem to flash my uno board.

I down loaded the Uno Rev C hex file.

maintance tab; Uno Re C.hex, No to restore preferences, I select Uno for the board type.

Reprogram.

The final error message confirms that the version of my Uno could not be confirmed due to possibly it being an old version and that I should reprogram with a newer version of brewpi.

The board I have is

http://hobbycomponents.com/boards/5...rduino+Compatible+R3+Revision+3+UNO&results=7

I tried with selecting

ATmega328

same problem

Wrong board? wrong Hex? what say you
 
OK got a problem.

I can't seem to flash my uno board.

I down loaded the Uno Rev C hex file.

maintance tab; Uno Re C.hex, No to restore preferences, I select Uno for the board type.

Reprogram.

The final error message confirms that the version of my Uno could not be confirmed due to possibly it being an old version and that I should reprogram with a newer version of brewpi.

The board I have is

http://hobbycomponents.com/boards/5...rduino+Compatible+R3+Revision+3+UNO&results=7

I tried with selecting

ATmega328

same problem

Wrong board? wrong Hex? what say you

Is this a totally fresh Uno, or have you already uploaded other sketches to it from other projects?

Regardless, download the Arduino IDE, create a "blank/bare minimum" sketch that has nothing but a setup and loop function and flash that to your Arduino.

There are cases where if you have a sketch on there already that is polling/pushing to the serial port it can screw up the BrewPi flashing.
 
Open terminal type "lsusb" and copy and paste that to this thread. Then type "ls /dev/" and see if there is a listing for ttyusb. If there is then you need to change some stuff in your config file. Also a printout of your log file will help out a lot more. I assume you have a line in there that says avrdude..... out of sync..... Meaning you could have a weird usb controller on that board or you might have to unplug it and plug it back in. Or it's a usb cable problem or your arduino is dead. Have you tried flashing the arduino with ide to see if it even works?
 
Here is a copy of the log when i try to flash

Mar 27 2015 17:03:06 Notification: Script started for beer 'My First BrewPi Run'
Mar 27 2015 17:03:48 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
**** 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 %(a)s. 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

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 221, in program
if not self.flash_file(hexFile):
File "/home/brewpi/programArduino.py", line 584, in flash_file
boardsFile = loadBoardsFile(arduinohome)
File "/home/brewpi/programArduino.py", line 152, in loadBoardsFile
return open(arduinohome + 'hardware/arduino/boards.txt', 'rb').readlines()
IOError: [Errno 2] No such file or directory: '/usr/share/arduino/hardware/arduino/boards.txt'
Mar 27 2015 17:45:07 Notification: Script started for beer 'My First BrewPi Run'
Mar 27 2015 17:45:49 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
**** 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 %(a)s. 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

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 221, in program
if not self.flash_file(hexFile):
File "/home/brewpi/programArduino.py", line 584, in flash_file
boardsFile = loadBoardsFile(arduinohome)
File "/home/brewpi/programArduino.py", line 152, in loadBoardsFile
return open(arduinohome + 'hardware/arduino/boards.txt', 'rb').readlines()
IOError: [Errno 2] No such file or directory: '/usr/share/arduino/hardware/arduino/boards.txt'
Mar 27 2015 17:55:06 Notification: Script started for beer 'My First BrewPi Run'
Mar 27 2015 17:55:48 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
Mar 27 2015 18:12:05 Notification: Script started for beer 'My First BrewPi Run'
Mar 27 2015 18:12:47 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
Mar 27 2015 18:15:06 Notification: Script started for beer 'My First BrewPi Run'
Mar 27 2015 21:04:59 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
**** 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 %(a)s. 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

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 221, in program
if not self.flash_file(hexFile):
File "/home/brewpi/programArduino.py", line 584, in flash_file
boardsFile = loadBoardsFile(arduinohome)
File "/home/brewpi/programArduino.py", line 152, in loadBoardsFile
return open(arduinohome + 'hardware/arduino/boards.txt', 'rb').readlines()
IOError: [Errno 2] No such file or directory: '/usr/share/arduino/hardware/arduino/boards.txt'
Mar 27 2015 21:08:09 Notification: Script started for beer 'My First BrewPi Run'
Mar 27 2015 21:08:51 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
 
here is the Isusb result

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 045e:00dd Microsoft Corp. Comfort Curve Keyboard 2000 V1.0
Bus 001 Device 005: ID 1532:0002 Razer USA, Ltd
Bus 001 Device 008: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 007: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)

here is the ls /dev/ result

autofs loop4 ram10 tty tty3 tty51 vcio
block loop5 ram11 tty0 tty30 tty52 vc-mem
btrfs-control loop6 ram12 tty1 tty31 tty53 vcs
bus loop7 ram13 tty10 tty32 tty54 vcs1
cachefiles loop-control ram14 tty11 tty33 tty55 vcs2
char MAKEDEV ram15 tty12 tty34 tty56 vcs3
console mapper ram2 tty13 tty35 tty57 vcs4
cpu_dma_latency mem ram3 tty14 tty36 tty58 vcs5
cuse memory_bandwidth ram4 tty15 tty37 tty59 vcs6
disk mmcblk0 ram5 tty16 tty38 tty6 vcs7
fb0 mmcblk0p1 ram6 tty17 tty39 tty60 vcsa
fd mmcblk0p2 ram7 tty18 tty4 tty61 vcsa1
full mmcblk0p3 ram8 tty19 tty40 tty62 vcsa2
fuse mmcblk0p5 ram9 tty2 tty41 tty63 vcsa3
hidraw0 mmcblk0p6 random tty20 tty42 tty7 vcsa4
hidraw1 net raw tty21 tty43 tty8 vcsa5
hidraw2 network_latency root tty22 tty44 tty9 vcsa6
input network_throughput serial tty23 tty45 ttyACM0 vcsa7
kmsg null shm tty24 tty46 ttyAMA0 vcsm
log ppp snd tty25 tty47 ttyprintk vhci
loop0 ptmx sndstat tty26 tty48 uinput xconsole
loop1 pts stderr tty27 tty49 urandom zero
loop2 ram0 stdin tty28 tty5 vc-cma
loop3 ram1 stdout tty29 tty50 vchiq
 
You need to install Arduino

sudo apt-get install arduino
 
I have one for you guys...


I have a new install here..

Can see my probes, can assign them. However when I click refresh devices, they go back to unassigned. File permission issue?

Thanks
 
edit.. fat fingered.

That was the fix! cheers!
 
Happy to help.

A little concerned that there's a trend here. We went a whole year before this issue reared its head and now it seems to be afflicting nearly all new builds...

Cheers!
 
Here is a sneak peak of 1 of the 2 fermentation chambers I built this for..

10446717_553749871434284_1834868172489310584_n.jpg
 
Happy to help.



A little concerned that there's a trend here. We went a whole year before this issue reared its head and now it seems to be afflicting nearly all new builds...



Cheers!


Maybe some kernel update or something similar broke something. But I have seen the issue appear in a regular Debian install under vm. And I believe it is a problem with usb devices because I have not currently been able to re-create the issue over bluetooth.
 
Perhaps whatever changed occurred after you had your wee machines already programmed?

I dunno what happened, but it seems pretty clear something happened somewhere.
I wonder if avrdude got up-revved without sufficient regression testing...

Cheers!
 
It hasn't been an issue with pi2. Or my old b+. And I first noticed it with an older programmed uno with debian that hadn't been ran for months.
 
Me and queequeg where having the same problem fixing it now I knew it was something I was forgetting lol thanks a lot for the help every one
 
I never had that issue with any of three B's and a 2, nor with any of the (counts fingers) 6 Uno's I've deployed.

Weird...

Cheers!
 
Status
Not open for further replies.
Back
Top