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.
Same. Mine is the B+ and solid red/green only. I'll probably build an STC controller for now so I can get brewing and revisit this when time and patience allow. Sounds like it will only be fixed by replacing vital parts and using profanity. Will try the SD card first though, thanks for the advice. Cheers.
 
Initially. It sounds to me like you may have a corrupted SD card. As you know pulling the power is not a good idea.

If you have a spare SD card you can try a fresh install of Raspbian to see if it's a card or board issue.

I have a Raspberry Pi B+ that won't boot up and I'm about to toss it and get a Pi 3. I only get solid red/green LED's and I'm not sure what the issue is.


Always check the power supply first.
 
Always check the power supply first.

Doesn't getting solid lights on the Pi indicate it's getting power or do you mean something else? thx.

I just ordered a new card adapter and microSD. Will check out my current SD card and if needed install fresh and see how it goes.
 
Same. Mine is the B+ and solid red/green only. I'll probably build an STC controller for now so I can get brewing and revisit this when time and patience allow. Sounds like it will only be fixed by replacing vital parts and using profanity. Will try the SD card first though, thanks for the advice. Cheers.

Check this link: https://raspberrypi.stackexchange.com/questions/24664/what-do-the-leds-on-the-b-mean

Red PWR LED

on if power OK
flashes (or goes out) if the power drops below about 4.63V

Green ACT LED

steady on if no SD card during boot

irregular flashes for SD card access
 
Always check the power supply first.

While I suppose it doesn't eliminate the Power Supply as the culprit, it's the same power supply I've been using for a couple of years prior to it crapping out. Also, everything I've read says that the solid red PWR LED indicates adequate power. It's the solid green ACT LED that indicates an SD read failure. (Which is why I suggested the same for @Anticlimaddox)

Since I've tried formatting and using multiple cards that have worked in a Pi zero (with said Power Supply), I'm leaning towards a hardware issue.

@Bigdaddyale posted a helpful link, but mine is a B+ (MicroSD) so I'm not sure if its the same process. I thought they fixed the sloppy SD mount on the B+.
 
Getting power doesn't mean you have sufficient power... I just bought a pi zerow from canakit… with the full kit. it comes with a 1a power supply. which is plenty of power for a zero. guess what happened when I plugged in my 3d printer while the wifi was active…. So now it's on a 2.5a psu. guess what? my lights lighted up and everything… last year my router went out… nope it was the power supply…. That new 8tb USB3 hdd I bought over Christmas but just opened 2 weeks ago and it didn't power on… bad power supply…. The HD-pvr I've had running for 6 years straight no issues that just stopped recording last month… take a guess what fixed it?
 
As an update - I'm back up and running. Was a bad microSD card. I bought an adapter to reinstall and a new 16gb card as a backup (both were only $10). Installed clean and so far so good. Thanks to all that chimed in with suggestions. Much appreciated.
 
Getting power doesn't mean you have sufficient power... I just bought a pi zerow from canakit… with the full kit. it comes with a 1a power supply. which is plenty of power for a zero. guess what happened when I plugged in my 3d printer while the wifi was active…. So now it's on a 2.5a psu. guess what? my lights lighted up and everything… last year my router went out… nope it was the power supply…. That new 8tb USB3 hdd I bought over Christmas but just opened 2 weeks ago and it didn't power on… bad power supply…. The HD-pvr I've had running for 6 years straight no issues that just stopped recording last month… take a guess what fixed it?

@wbarber69

I would love to come back on here and tell you "I told you so", but I can't. I reluctantly plugged the pi into my computer (figuring it would be the most stable, reliable source of power). And it worked flawlessly.

I guess that solid red LED (and the internet) can be wrong!

Thanks for the recommendation.
 
Has anyone tried using Blynk (www.blynk.cc) yet with their BrewPi?

"Blynk is a Platform with iOS and Android apps to control Arduino, Raspberry Pi and the likes over the Internet.

It's a digital dashboard where you can build a graphic interface for your project by simply dragging and dropping widgets.

It's really simple to set everything up and you'll start tinkering in less than 5 mins.

Blynk is not tied to some specific board or shield. Instead, it's supporting hardware of your choice. Whether your Arduino or Raspberry Pi is linked to the Internet over Wi-Fi, Ethernet or this new ESP8266 chip, Blynk will get you online and ready for the Internet Of Your Things. "

I'm going to try it out on a weather reporting/travel time to work reporting project I'm working on.
 
@wbarber69



I would love to come back on here and tell you "I told you so", but I can't. I reluctantly plugged the pi into my computer (figuring it would be the most stable, reliable source of power). And it worked flawlessly.



I guess that solid red LED (and the internet) can be wrong!



Thanks for the recommendation.


The solid red light means that you have 4.6-5.1V coming in. there is no way for the pi to determine if the power supply can handle the necessary amperage needed to connect to wifi or control USB equipment. amperage can only be drawn through the power supply it's not a supplied thing. if the current draw is too much the pi may freeze up or reboot, this is the only indication you will get of an under powered wall wart. I was actually surprised to see that the pizw requires almost as much power as the pi3 when the wifi and bt are active. took me a couple days to figure out as I also had a problem with the first pizw I had (broke a component removing a case iteration that was too tight). once the new one came in. I hooked everything up and used the new power supply that came with it (5.1v 1a). And as soon as I plugged in the 3d printers USB cable the pi rebooted…. I pulled the wart from the wall and noted that it was only 1a. I personally can't believe this hasn't been discussed more online, since the pizw is way more accessible than the original zero was.
 
I've had my beer going for about 8 days now and it seems to be doing decent. today it spiked way higher and recorded the beer as 10 degrees higher than set point and then brought it back down. Not sure whats going on.

weird spike.png


weird.png


weird2.png
 
So, I'm having an issue, too. I brewed a Berliner Weisse and we put it in the conical while still at about 212*F and let the heat from the beer sanitize the conical. Anyway, to get the thing down to temp, I had to adjust my BrewPi a great deal. Now, I'm brewing a Belgian Dubbel. I had tweaked the BrewPi before the Berliner Weisse, but I don't remember the settings...just know they weren't "factory settings." Anyway I tried to readjust the settings and now my freezer and heater are cycling way too often. Can someone help me? Also, if there could be a sticky about optimal settings for different heating/cooling setups, that would be awesome.

20170606_brewpi-screen-BelgDubbel.jpg
 
I've had my beer going for about 8 days now and it seems to be doing decent. today it spiked way higher and recorded the beer as 10 degrees higher than set point and then brought it back down. Not sure whats going on.

Looks like a fluke and bad reading from the probe, theres no way it spiked that high and came back down that fast. Any chance you or someone was doing something near/in the chamber around that time and bumped the probe or RPI somehow?
 
So, I'm having an issue, too. I brewed a Berliner Weisse and we put it in the conical while still at about 212*F and let the heat from the beer sanitize the conical. Anyway, to get the thing down to temp, I had to adjust my BrewPi a great deal. Now, I'm brewing a Belgian Dubbel. I had tweaked the BrewPi before the Berliner Weisse, but I don't remember the settings...just know they weren't "factory settings." Anyway I tried to readjust the settings and now my freezer and heater are cycling way too often. Can someone help me? Also, if there could be a sticky about optimal settings for different heating/cooling setups, that would be awesome.

Have you tried just resetting them all to default? You may want to restart the RPI as well just to make sure its taken.

Off the top of my head the setting that may cause this is the PID Maximum setting. It should be 18F by default.
 
Hey all, is there any way to add to the BrewPi arduino coding? I have a magnetic co2 solenoid that I'd like to use to vent fermenter pressure when it reaches a set amount (via a pressure sensor). I've poked around a little, but what I've found in the repositories for the arduino code is beyond my beginner level.
 
Hey all, is there any way to add to the BrewPi arduino coding? I have a magnetic co2 solenoid that I'd like to use to vent fermenter pressure when it reaches a set amount (via a pressure sensor). I've poked around a little, but what I've found in the repositories for the arduino code is beyond my beginner level.

Short answer: No

The original Arduino code is no longer supported. But if you really want to get into it you have three options.

1 Fork the Arduino code on GitHub then hack on it yourself. People who want that feature can then use your GitHub instead of the original one.

2 Take a look at pocketmon's project or Thorrak's project which use an ESP8266 module instead of an Arduino. Their code is more up to date than the original, and may be easier to set up and get support for.

3 Take a look at my Python project, which replaces the Arduino with a Python script. Hacking on that might be easier because there is no compile-and-program-the-Arduino step.

However, what you describe sounds like a task for a dedicated Arduino. Read the pressure sensor then decide to open or close the valve. Rinse. Repeat.
 
Short answer: No

The original Arduino code is no longer supported. But if you really want to get into it you have three options.

1 Fork the Arduino code on GitHub then hack on it yourself. People who want that feature can then use your GitHub instead of the original one.

2 Take a look at pocketmon's project or Thorrak's project which use an ESP8266 module instead of an Arduino. Their code is more up to date than the original, and may be easier to set up and get support for.

3 Take a look at my Python project, which replaces the Arduino with a Python script. Hacking on that might be easier because there is no compile-and-program-the-Arduino step.

However, what you describe sounds like a task for a dedicated Arduino. Read the pressure sensor then decide to open or close the valve. Rinse. Repeat.

Thanks for giving me some direction to go in. I have a long flight next week, so it looks like I'll have some reading material.
 
Hey all, is there any way to add to the BrewPi arduino coding? I have a magnetic co2 solenoid that I'd like to use to vent fermenter pressure when it reaches a set amount (via a pressure sensor). I've poked around a little, but what I've found in the repositories for the arduino code is beyond my beginner level.

This has been done but on a separate arduino, so an entirely different project all together. Unfortunately the forum the code is located on has just migrated software platforms and I'd rather wait to provide links when things are a little more stable and settled.

Could the code be integrated with the current Brewpi set? I don't know, and I'm not sure of pin conflicts etc, however I don't think code space would be an issue.
 
Wow, reading about pocketmon's BrewPiLess project has really sent me down a rabbit hole.
 
running BrewPi through Oracle VM VirtualBox & when I updated to Windows 10 1703 Creator's Update it deleted the VirtualBox Host-Only Network adapter from the network devices

VBox won't even open.

instructions here say uninstall, reinstall the latest version of VM VBox. https://forums.virtualbox.org/viewtopic.php?f=6&t=82574

let you know how that turns out

EDIT: not such a chore (so far) network settings had to be boofed with, but so far so good

EDIT2: sheesh. all that worry for nothing.
 
I am getting to use my brew adriano setup for the first time and have attached my graph. I am attempting to figure out what those spikes are caused from in the beer temperature.

During this time the heater wasn't even plugged in (wanting to ensure my blow off tube is working correctly and not leaking before I leave the heat on to work as needed).

I am using a brew bucket with a thermowell to get the beer temp as well. This is a 5 gallon batch and the graph starts at about 20 hours after pitching the yeast. It should be slowly letting it raise from 66 to 68 degrees over the first 3 days.

I am thinking it is a settings issue but instead of trial and error wanted to see what others are doing.

Thanks in advance,
Jeff

Screen Shot 2017-06-18 at 6.50.56 AM.png
 
I am getting to use my brew adriano setup for the first time and have attached my graph. I am attempting to figure out what those spikes are caused from in the beer temperature.

During this time the heater wasn't even plugged in (wanting to ensure my blow off tube is working correctly and not leaking before I leave the heat on to work as needed).

I am using a brew bucket with a thermowell to get the beer temp as well. This is a 5 gallon batch and the graph starts at about 20 hours after pitching the yeast. It should be slowly letting it raise from 66 to 68 degrees over the first 3 days.

I am thinking it is a settings issue but instead of trial and error wanted to see what others are doing.

Thanks in advance,
Jeff

Those look like anomalies due to a connection issue or you're somehow getting a little bit of noise. 5 gallons of liquid can't change temp that quickly. In 6 of the 8 spikes it seems to correspond to when the cooling unit turns on or off.
 
  • Like
Reactions: JDL
stlbeer,

Thanks, not sure why that didnt click as a reason. It is still all out and about and using test wires and a breadboard. Hopefully that clears up once I put it all in a project box and solder everything together.

Jeff
 
stlbeer,

Thanks, not sure why that didnt click as a reason. It is still all out and about and using test wires and a breadboard. Hopefully that clears up once I put it all in a project box and solder everything together.

Jeff

You can test it by just moving your relay board as far away as possible from your arduino and temp probes. As others said, your fridge power is likely getting coupled onto the probe wire and causing it have this behavior. Mines not that far maybe 6-8 inches away, my guess is that yours are on top of eachother.
 
I have a Leonardo Pro Micro that I am trying to get working with brewpi. First off this board has no A4 pin so I figure I need to do custom firmware. Grabbed the source files, modified pins.h, compiled, got a hex file, and successfully flashed my Arduino. I then modified pinlist.py to match the new pinmap ( rev c shield, A4 became A3). Rebooted everything and the web gui doesn't detect any sensors. Same connection setup works if I run a find one wire sketch, so I know the connection is ok. Any ideas?
 
Check to make sure your sensors aren't in parasite mode. There's a sketch here a few pages back to do that. BrewPi won't work with parasite mode, but your one wire sketch would still find them.
 
...Rebooted everything and the web gui doesn't detect any sensors. Same connection setup works if I run a find one wire sketch, so I know the connection is ok. Any ideas?

Check to make sure your sensors aren't in parasite mode. There's a sketch here a few pages back to do that. BrewPi won't work with parasite mode, but your one wire sketch would still find them.

It's actually quite a few pages back. Luckily, I just found it and posted it in a different thread for someone who had the same problem.

So... Link to Parasite Test Sketch
 
...Rebooted everything and the web gui doesn't detect any sensors. Same connection setup works if I run a find one wire sketch, so I know the connection is ok. Any ideas?

Check to make sure your sensors aren't in parasite mode. There's a sketch here a few pages back to do that. BrewPi won't work with parasite mode, but your one wire sketch would still find them.

It's actually quite a few pages back. Luckily, I just found it and posted it in a different thread for someone who had the same problem.

So... Link to Parasite Test Sketch
 
CadiBrewer said:
Check to make sure your sensors aren't in parasite mode. There's a sketch here a few pages back to do that. BrewPi won't work with parasite mode, but your one wire sketch would still find them.

It's actually quite a few pages back. Luckily, I just found it and posted it in a different thread for someone who had the same problem.

So... Link to Parasite Test Sketch

Thanks CadiBrewer and gromitdj, found the sketch and ran it on my Leonardo Pro Mricro, confirmed that the sensors are working and NOT in parasitic mode. This leads me to believe that I have done something wrong in modifying the code.

From the 0.2.10 source code I modified pins.h in the \platform\avr\ folder as follows:

Code:
/*
 * Copyright 2012-2013 BrewPi/Elco Jacobs.
 *
 * This file is part of BrewPi.
 * 
 * BrewPi is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * BrewPi is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with BrewPi.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "Brewpi.h"

#if BREWPI_STATIC_CONFIG==BREWPI_SHIELD_REV_A
#ifndef beerSensorPin
#define beerSensorPin    A5 // OneWire 1
#endif

#ifndef fridgeSensorPin
#define fridgeSensorPin  A4 // OneWire 2
#endif

#ifndef coolingPin
#define coolingPin	6
#endif

#ifndef heatingPin
#define heatingPin	5
#endif

#endif

#if BREWPI_STATIC_CONFIG==BREWPI_SHIELD_REV_C

#ifndef oneWirePin
#define oneWirePin A3
#endif

#ifndef actuatorPin1
#define actuatorPin1 2
#endif

#ifndef actuatorPin2
#define actuatorPin2 5
#endif

#ifndef actuatorPin3
#define actuatorPin3 6
#endif

#ifndef actuatorPin4
#define actuatorPin4 A5
#endif

#endif 

#if BREWPI_STATIC_CONFIG==BREWPI_SHIELD_REV_A || BREWPI_STATIC_CONFIG==BREWPI_SHIELD_REV_C

#define doorPin		4
#define alarmPin	3
#define lcdLatchPin 10

// If you change the interrupt pins, you will also have to review the interrupt vectors of the rotary encoder
#define rotarySwitchPin 7 // INT6 on leo or PCINT23 on uno
#define rotaryAPin 8 // PCINT4 on leo or PCINT0 on uno
#define rotaryBPin 9 // PCINT5 on leo or PCINT1 on uno

#define BREWPI_INVERT_ACTUATORS 1

#elif BREWPI_STATIC_CONFIG==BREWPI_SHIELD_DIY

// pins
#define beerSensorPin    10
#define fridgeSensorPin  11

// Pay attention when changing the pins for the rotary encoder.
// They should be connected to external interrupt INT0, INT1 and INT3

#define rotaryAPin 2 // INT1
#define rotaryBPin 1 // INT3
#define rotarySwitchPin 0 // INT2


#define coolingPin 12
#define heatingPin 13
#define doorPin    A5

#define DISP_RS 9
#define DISP_RW 8
#define DISP_EN 7
#define DISP_D4 6
#define DISP_D5 5
#define DISP_D6 4
#define DISP_D7 3

#define BREWPI_INVERT_ACTUATORS 0

#endif

// You can use the internal pull-up resistors instead of external ones for the doorPin and the rotary encoder pins
#ifndef USE_INTERNAL_PULL_UP_RESISTORS
#define USE_INTERNAL_PULL_UP_RESISTORS 1
#endif

I then compiled it in Atmel studio, the only things that I changed in the project settings is the cpu to the ATmega32u4. I got a HEX file, but a few warnings that I do not think affect anything (unless I'm wrong....) Link to photo.

I then modified pinlist.py as follows:
Code:
# Copyright 2013 BrewPi
# This file is part of BrewPi.

# BrewPi is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# BrewPi is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with BrewPi.  If not, see <http://www.gnu.org/licenses/>.

import simplejson as json


def getPinList(boardType, shieldType):
    if boardType == "leonardo" and shieldType == "revC":
        pinList = [{'val': 6, 'text': ' 6 (Act 1)', 'type': 'act'},
                   {'val': 5, 'text': ' 5 (Act 2)', 'type': 'act'},
                   {'val': 2, 'text': ' 2 (Act 3)', 'type': 'act'},
                   {'val': 23, 'text': 'A5 (Act 4)', 'type': 'act'},
                   {'val': 4, 'text': ' 4 (Door)', 'type': 'door'},
                   {'val': 21, 'text': 'A3 (OneWire)', 'type': 'onewire'},
                   {'val': 3, 'text': ' 3', 'type': 'beep'},
                   {'val': 7, 'text': ' 7', 'type': 'rotary'},
                   {'val': 8, 'text': ' 8', 'type': 'rotary'},
                   {'val': 9, 'text': ' 9', 'type': 'rotary'},
                   {'val': 10, ' text': '10', 'type': 'spi'},
                   {'val': 0, 'text': ' 0', 'type': 'free'},
                   {'val': 1, 'text': ' 1', 'type': 'free'},
                   {'val': 11, ' text': '11', 'type': 'free'},
                   {'val': 12, ' text': '12', 'type': 'free'},
                   {'val': 13, ' text': '13', 'type': 'free'},
                   {'val': 18, 'text': 'A0', 'type': 'free'},
                   {'val': 19, 'text': 'A1', 'type': 'free'},
                   {'val': 20, 'text': 'A2', 'type': 'free'},
                   {'val': 22, 'text': 'A4', 'type': 'free'}]
    elif boardType == "uno" and shieldType == "revC":
        pinList = [{'val': 6, 'text': ' 6 (Act 1)', 'type': 'act'},
                   {'val': 5, 'text': ' 5 (Act 2)', 'type': 'act'},
                   {'val': 2, 'text': ' 2 (Act 3)', 'type': 'act'},
                   {'val': 19, 'text': 'A5 (Act 4)', 'type': 'act'},
                   {'val': 4, 'text': ' 4 (Door)', 'type': 'door'},
                   {'val': 18, 'text': 'A4 (OneWire)', 'type': 'onewire'},
                   {'val': 3, 'text': ' 3', 'type': 'beep'},
                   {'val': 7, 'text': ' 7', 'type': 'rotary'},
                   {'val': 8, 'text': ' 8', 'type': 'rotary'},
                   {'val': 9, 'text': ' 9', 'type': 'rotary'},
                   {'val': 10, ' text': '10', 'type': 'spi'},
                   {'val': 11, ' text': '11', 'type': 'spi'},
                   {'val': 12, ' text': '12', 'type': 'spi'},
                   {'val': 13, ' text': '13', 'type': 'spi'},
                   {'val': 0, 'text': ' 0', 'type': 'serial'},
                   {'val': 1, 'text': ' 1', 'type': 'serial'},
                   {'val': 14, 'text': 'A0', 'type': 'free'},
                   {'val': 15, 'text': 'A1', 'type': 'free'},
                   {'val': 16, 'text': 'A2', 'type': 'free'},
                   {'val': 17, 'text': 'A3', 'type': 'free'}]
    elif boardType == "leonardo" and shieldType == "revA":
        pinList = [{'val': 6, 'text': '  6 (Cool)', 'type': 'act'},
                   {'val': 5, 'text': '  5 (Heat)', 'type': 'act'},
                   {'val': 4, 'text': ' 4 (Door)', 'type': 'door'},
                   {'val': 22, 'text': 'A4 (OneWire)', 'type': 'onewire'},
                   {'val': 23, 'text': 'A5 (OneWire1)', 'type': 'onewire'},
                   {'val': 3, 'text': ' 3', 'type': 'beep'},
                   {'val': 7, 'text': ' 7', 'type': 'rotary'},
                   {'val': 8, 'text': ' 8', 'type': 'rotary'},
                   {'val': 9, 'text': ' 9', 'type': 'rotary'},
                   {'val': 10, ' text': '10', 'type': 'spi'},
                   {'val': 0, 'text': ' 0', 'type': 'free'},
                   {'val': 1, 'text': ' 1', 'type': 'free'},
                   {'val': 2, 'text': '  2', 'type': 'free'},
                   {'val': 11, ' text': '11', 'type': 'free'},
                   {'val': 12, ' text': '12', 'type': 'free'},
                   {'val': 13, ' text': '13', 'type': 'free'},
                   {'val': 18, 'text': 'A0', 'type': 'free'},
                   {'val': 19, 'text': 'A1', 'type': 'free'},
                   {'val': 20, 'text': 'A2', 'type': 'free'},
                   {'val': 21, 'text': 'A3', 'type': 'free'}]
    elif boardType == "uno" and shieldType == "revA":
        pinList = [{'val': 6, 'text': '  6 (Cool)', 'type': 'act'},
                   {'val': 5, 'text': '  5 (Heat)', 'type': 'act'},
                   {'val': 4, 'text': ' 4 (Door)', 'type': 'door'},
                   {'val': 18, 'text': 'A4 (OneWire)', 'type': 'onewire'},
                   {'val': 19, 'text': 'A5 (OneWire1)', 'type': 'onewire'},
                   {'val': 3, 'text': ' 3', 'type': 'beep'},
                   {'val': 7, 'text': ' 7', 'type': 'rotary'},
                   {'val': 8, 'text': ' 8', 'type': 'rotary'},
                   {'val': 9, 'text': ' 9', 'type': 'rotary'},
                   {'val': 10, ' text': '10', 'type': 'spi'},
                   {'val': 11, ' text': '11', 'type': 'spi'},
                   {'val': 12, ' text': '12', 'type': 'spi'},
                   {'val': 13, ' text': '13', 'type': 'spi'},
                   {'val': 0, 'text': ' 0', 'type': 'serial'},
                   {'val': 1, 'text': ' 1', 'type': 'serial'},
                   {'val': 2, 'text': '  2', 'type': 'free'},
                   {'val': 14, 'text': 'A0', 'type': 'free'},
                   {'val': 15, 'text': 'A1', 'type': 'free'},
                   {'val': 16, 'text': 'A2', 'type': 'free'},
                   {'val': 17, 'text': 'A3', 'type': 'free'}]
    elif boardType == "leonardo" and shieldType == "diy":
        pinList = [{'val': 12, 'text': '  12 (Cool)', 'type': 'act'},
                   {'val': 13, 'text': '  13 (Heat)', 'type': 'act'},
                   {'val': 23, 'text': ' A5 (Door)', 'type': 'door'},
                   {'val': 10, 'text': '10 (OneWire)', 'type': 'onewire'},
                   {'val': 11, 'text': '11 (OneWire1)', 'type': 'onewire'},
                   {'val': 0, 'text': ' 0', 'type': 'rotary'},
                   {'val': 1, 'text': ' 1', 'type': 'rotary'},
                   {'val': 2, 'text': ' 2', 'type': 'rotary'},
                   {'val': 3, 'text': ' 3', 'type': 'display'},
                   {'val': 4, ' text': '4', 'type': 'display'},
                   {'val': 5, ' text': '5', 'type': 'display'},
                   {'val': 6, ' text': '6', 'type': 'display'},
                   {'val': 7, ' text': '7', 'type': 'display'},
                   {'val': 8, ' text': '8', 'type': 'display'},
                   {'val': 9, ' text': '9', 'type': 'display'},
                   {'val': 18, 'text': 'A0', 'type': 'free'},
                   {'val': 19, 'text': 'A1', 'type': 'free'},
                   {'val': 20, 'text': 'A2', 'type': 'free'},
                   {'val': 21, 'text': 'A3', 'type': 'free'},
                   {'val': 22, 'text': 'A4', 'type': 'free'}]
    elif (boardType == "core" or boardType =="photon") \
        and (shieldType == "V1" or shieldType == "V2"):
        pinList = [{'val': 17, 'text': 'Output 0 (A7)', 'type': 'act'},
                   {'val': 16, 'text': 'Output 1 (A6)', 'type': 'act'},
                   {'val': 11, 'text': 'Output 2 (A1)', 'type': 'act'},
                   {'val': 10, 'text': 'Output 3 (A0)', 'type': 'act'},
                   {'val': 0, 'text': 'OneWire', 'type': 'onewire'}]
    else:
        print 'Unknown controller or board type'
        pinList = {}
    return pinList


def getPinListJson(boardType, shieldType):
    try:
        pinList = getPinList(boardType, shieldType)
        return json.dumps(pinList)
    except json.JSONDecodeError:
        print "Cannot process pin list JSON"
        return 0

def pinListTest():
    print getPinListJson("leonardo", "revC")
    print getPinListJson("uno", "revC")
    print getPinListJson("leonardo", "revA")
    print getPinListJson("uno", "revA")
    print getPinListJson("core", "V1")
    print getPinListJson("core", "V2")
    print getPinListJson("photon", "V1")
    print getPinListJson("photon", "V2")

if __name__ == "__main__":
    pinListTest()

Firing up BrewPi and looking at the logs I get the following:

Code:
 Jun 20 2017 23:30:05   Opening serial port
 Jun 20 2017 23:30:05   Notification: Script started for beer 'My First BrewPi Run'
 Jun 20 2017 23:30:15   Checking software version on controller... 
 Jun 20 2017 23:30:15   Found BrewPi v0.2.10 build unknown, running on an Arduino Leonardo with a revC shield on port /dev/ttyACM0

 Jun 20 2017 23:30:56   Installed devices received: []
 Jun 20 2017 23:30:56   Available devices received: [{"c": 1, "b": 0, "d": 0, "f": 0, "i": -1, "h": 1, "p": 22, "t": 0, "x": 1}, {"c": 1, "b": 0, "d": 0, "f": 0, "i": -1, "h": 1, "p": 5, "t": 0, "x": 1}, {"c": 1, "b": 0, "d": 0, "f": 0, "i": -1, "h": 1, "p": 6, "t": 0, "x": 1}, {"c": 1, "b": 0, "d": 0, "f": 0, "i": -1, "h": 1, "p": 23, "t": 0, "x": 1}, {"c": 1, "b": 0, "d": 0, "f": 0, "i": -1, "h": 1, "p": 4, "t": 0, "x": 1}]
 Jun 20 2017 23:31:01   stopScript message received on socket. Stopping script and writing dontrunfile to prevent automatic restart

From this I can see that the script is at least seeing that I have A Leonardo with a rev C shield, so the changes I made should work. However, I am at a loss as to why they are not. Did I miss something in my changes?
 
2 Things I never got to work right… modifying any of the analog pins in the code and using a pro micro. the nanos and minis work just fine but something about the micro, wouldn't work for me… 3 years ago so I don't really have a lot of notes on the subject… only that I can tell you, use anything but a micro.
 
Please help after 10 days the following error raised i have already restart the raspberyy ith no luck
line 3: 12435 Segmentation fault cvlc v4l2:///dev/video0 :v4l2-standard= :input-slave=oss://denull :live-caching=300 :sout='#duplicate{dst="transcode{vcodec=theo,vb=1024,channels=1,ab=128,samplerate=44100,width=320}:http{dst=:8084/stream.ogg}"}'

*******Update for uknown reason port 8084 was already in use i have chenge the port and all is back to normal again
 
Is the link in the OP first post still the most current and accurate information on this? I have extremely rudimentary knowledge of computers, but am willing to try this out. I just want to make sure I do not head down a path which is no longer effective due to software updates.
 
Wrt hardware and the basics it's a great resource to start with.
Not sure if the wiki has been updated to reflect some minor changes needed if running on a RaspberryPi (eg: the current version of the Apache2 web server wants files to live in /var/www/html instead of /var/www so some pointers have to be changed).

The latest firmware is version 0.2.10 which can be a challenge to get to but is available here.

Anyway, take a stab at it and the group will help you over the hurdles...

Cheers!
 
I know it has been a long time since I have posted but I just redid the BrewPi to make it a lot cleaner, and have connectors for everything so that moving it will be easier. Thought you all might like to see it.

Here is the 6 pin connector that I used. It was like $5 from sparkfun and worked really well. No issues connecting at all.
Connector.jpg

This is the thing all wired up and ready to go
Finished.jpg

All closed up with BrewPi on top
Box.jpg

And the wife approved setup
All done.jpg
 
Status
Not open for further replies.
Back
Top