BrewPi 0.4.2 - How to update

Hi, Just updated to 0.4.1 and my Spark Brewpi will not start (or beep) - just a white blank screen. When connecting it states on Raspberry that “Unable to connect to controller, perhaps it is disconnected or otherwise unavailable”?

I use an USB cable from the Raspberry to the Spark to power / connect.

Any thoughts on what I should do to get the Spark up and running?


Is it still in DFU mode, blinking yellow?
I released a hotfix 1 minute ago to hopefully prevent that from happening.

If that is the case, just unplug power to reset.

If that is not the case, please send me a copy of the terminal output in a PM.

You can always restore your BrewPi by booting in mode DFU (by holding the setup button when plugging in power until it flashes yellow) and running:
sudo python /home/brewpi/utils/

A darts arrow is great for pushing that button through the hole in the case.

Hi Elco,

I’ve installed the 0.4.0 and now 0.4.1 without succes. The webserver is running, but I can’t seem to program my Particle Photon. It starts flashing the firmware with flashDFU (photon blinking yellow), and tells me programming is done. But hangs when opening the serial port. Also tried the update ( too, with the same problem…

pi@raspberrypi /home/brewpi/utils $ sudo python /home/brewpi/utils/                                                              
Using dfu-util binary at /home/brewpi/utils/downloads/dfu-util                                                                                
Detecting DFU devices                                                                                                                         
Found 1 devices:  ['2b04:d006']                                                                                                               
Device identified as Particle Photon                                                                                                          
Downloading latest firmware...                                                                                                                
Latest stable version on GitHub: 0.4.1                                                                                                        
Firmware downloaded to /home/brewpi/utils/downloads/0.4.1/brewpi-0.4.1-photon.bin                                                             
Now writing BrewPi firmware /home/brewpi/utils/downloads/0.4.1/brewpi-0.4.1-photon.bin                                                        
dfu-util 0.7                                                                                                                                  
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.                                                                            
Copyright 2010-2012 Tormod Volden and Stefan Schmidt                                                                                          
This program is Free Software and has ABSOLUTELY NO WARRANTY                                                                                  
Please report bugs to                                                                                             
Filter on vendor = 0x2b04 product = 0xd006                                                                                                    
Opening DFU capable USB device... ID 2b04:d006                                                                                                
Run-time device DFU version 011a                                                                                                              
Found DFU: [2b04:d006] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash   /0x08000000/03*016Ka,01*016Kg,01*064Kg,07*128Kg"               
Claiming USB DFU Interface...                                                                                                                 
Setting Alternate Setting #0 ...                                                                                                              
Determining device status: state = dfuIDLE, status = 0                                                                                        
dfuIDLE, continuing                                                                                                                           
DFU mode device DFU version 011a                                                                                                              
Device returned transfer size 4096                                                                                                            
No valid DFU suffix signature                                                                                                                 
Warning: File has no DFU suffix                                                                                                               
DfuSe interface name: "Internal Flash   "                                                                                                     
Downloading to address = 0x080a0000, size = 85216                                                                                             
File downloaded successfully                                                                                                                  
Programming done, now resetting EEPROM to defaults                                                                                            
Opening serial port                                                                                                                           
Dec 13 2015 15:06:43   Opening serial port                                                                                                    
 Warning: Cannot receive version number from controller. Your controller is either not programmed yet or running a very old version of BrewPi.
 It will be reset to defaults.                                                                                                                
 Resetting EEPROM to default settings                                                                                                         
 INFO MESSAGE 15: EEPROM initialized               

I’m using a RPi2 with a Particle Photon (got several around the house, so I tought to give it a try)
I’ve tried several times, with limited succes, and different USB cables.

Best thing I got so far is some text in the web LCD telling me “** TESTING **” or “Cannot receiveLCD text fromPython script” or “Could not receiveversion from controllerPlease (re)programyour controller”

Anything I’m doing wrong? I haven’t connected any sensors to the photon yet.

I don’t think you have the latest version of the script. Can you run the updater and make sure you are on the master release (latest commit 2 days ago).

You can verify with git log in /home/brewpi.

The latest commit should be:

commit 970fda18bc5fb1f9f7a14b6bb6abc04d82c0babe
Author: Elco Jacobs <>
Date:   Sat Dec 12 13:42:00 2015 +0100

    Set back baud rate quickly after triggering reboot into DFU. If this is done later, for some reason when
1 Like

Yep, that fixed it… was on an older version (3/12). Right now the LCD reads the following:

Mode   ** Testing **
Beer    --.-  --.-°C
Fridge  --.-  --.-°C
Idling for     57m43

Thanks for the fix! Any guide on what pins to use on the photon? I’m currently using arduino, but want to rebuild it with the newer hardware.

Eh… You are using flashDFU and now you say you have an Arduino?
With the core/photon, we use a OneWire bus master and an level shifter for the outputs. It is not as DIY friendly as the Arduino and we do not support direct pin OneWire anymore, only via a bus master on the Photon.

Sorry for the confusion…

My current setup is a RPi model B with an arduino board. But with the new version, I wanted to update my setup to use some stuff I had around the house (PRi 2 and Photon). As you mentioned, the photon is a b#tch to get OneWire working. Going to have a look in your shop, do you offer those things to tinker with, myself?

Congrats on the awesome work btw.

You could buy just the bare board, with display and connectors, without Photon or enclosure.


First of all congrats for the amazing project!
two or three weeks ago i managed to install and run brewpi using a debian virtual machine. Saturday i finally got my raspberry pi 2 and run all the steps to install it. At first look everything is fine, but i noticed that something is changed, from my vm to my raspberry installation like the data under maintence / control algorithm.
Im using an arduino uno, in that way, i belive i should use the legacy branch of brewpi. Right? is th able do downgrade a fresh install? is there a way to install tight from the begining the legacy branch?

I got this message a system log and it is concerning me a bit :

Dec 14 2015 13:53:02 Opening serial port
Dec 14 2015 13:53:02 Notification: Script started for beer 'None’
Dec 14 2015 13:53:12 Checking software version on controller…
Dec 14 2015 13:53:12 Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revC shield on port /dev/ttyUSB0

Dec 14 2015 13:53:12 Warning: minimum BrewPi version compatible with this script is 0.4.0 but version number received is 0.2.10
Dec 14 2015 13:53:12 Warning: version number of local copy of logMessages.h does not match log version number received from controller.controller version = 1, local copy version = 2

Even with the controller working should i move back to legacy( taking in account that in no way i will be able to get my hands on a spark before and of january/16)?

Thanks in advance

Alessandro Sartor.

Yes, you should downgrade to the legacy branch. The instructions are posted above, under Arduino users.

Hey @Elco, I am not updated to 0.4.1 yet but am between beers and thought tonight be a good chance. I have set my controller up for remote viewing using much of what is mentioned in this thread:

I was going to run the updater but was wondering if I would have to go and reconfigure all of this stuff as well. If so, that is cool but I probably wouldn’t get myself into that tonight. Any thoughts?


I am doing this from the top of my head, so be careful and make a backup.

What I would do is commit that work into a new branch, called admin:

Create a new branch and check it out:
git branch admin git checkout admin
Stage the files with changes you want to keep.
Use git status to see which files changed.

Use git add <filename> to include them in the commit or git add -a to include all.

Create a new commit on your new branch: git commit
Then change back to master: git checkout master. And run the update script.

After the update script is done, switch back to your admin branch:
git checkout admin

And merge the changes of master in your admin branch.
git merge master

To understand what you are doing, I highly recommend this video that explains the basics of git.

It is called ‘git for ages 4 and up’.

1 Like

Thanks @Elco, I’m going to look over this closely and see if I can do it without screwing it up.

@mikmonken, have you updated?

@bryancm1 I’ve not updated and wasn’t planning on going to either as the set up I’m currently using is working perfectly.

For what sits worth though I have updated previous versions and the remote viewing function with the webpage password has been unaffected.


I finnally managed to get the raspberry pi working ok. Unfortunnelly with the virtual machice i was able upgrade and downgrade the software, but at raspberry PI i had to remove the actual software, clone both scripts and www part from git usinf the legacy option, and then fix permissions. I also had issues with the default www path that in both cases is /var/www/html and the install script always point to /var/www, it causes problems with permissions and also with the updates.

Anyway, i got everything working and i will brew my first batch with brewpi in the next week.

Thanks for the reply.

Ps.: If you ever consider to translate Brewpi to Brazilian Portuguese feel free to get in touch.


Would you mind posting a link on where to find it in the shop? Can’t seem to find it.


1 Like


We’ve just flashed to 0.4.1 our recently received BrewPi.
Everything works as expected (UI, Firmware, …) except one thing: configuring devices.

When I pick a configuration for a detected device, the json prints on the UI. Then, when I ask for a device detection again, the device is no more configured (not listed as ‘installed’). So, I can’t configure anything in fact :confused:

I’ve noticed that instead of ‘Hardware Sensor’, the device type shows as ‘None’. Also, in test mode, the temperature are well read.

Any hints on what might be happening?



Was an EEPROM reset executed during the update? You can do one manually in advanced settings --> reset factory defaults.

1 Like

Hey Elco, i’m havnig issues downloading the firmware to my super old brewpi, uno revA.

I switched to the legacy branch but it fails on download.

Checking current firmware version…
Dec 19 2015 09:34:36 Opening serial port
Current firmware version on controller: 0.2.4

Checking GitHub for latest release…
Latest version on GitHub: 0.4.1

Version on GitHub is newer than your current version, downloading new version…
Downloading latest firmware…
Downloading firmware failed

*** Done updating BrewPi! ***