Software Install Guide

The recommended install procedure has been changed. We now recommend to use docker to deploy BrewPi. You can read how on our wiki at

So you got your Raspberry Pi, BrewPi Spark and peripherals. Now it is time to install the software.
This guide will take you through the install and configuration process step by step.

The Raspberry Pi comes with an SD card pre-loaded with NOOBS, which let’s you select an operating system to install.
Take the small SD card out of the big SD card and put in the Raspberry Pi.

Then connect a micro USB power supply, a keyboard and a HDMI monitor or TV. The monitor and keyboard a temporary, just to get though the install process.

You will be presented with this screen:

Select Raspbian, the first option with the spacebar. With L and 9, select your preferred language and keyboard layout. I prefer English (US), even though I am Dutch. Using English as system language will make it easier to find help if you encounter problems. Finally, press i to start the install.

The install will take about 20 minutes to complete. Press enter to reboot when you see this screen:

When the pi has fully rebooted, it will show a configuration menu. You can also manually start it by running sudo raspi-config.

Expanding the file system has already been done if you installed from a NOOBS SD card.
Change the password for better security. The default password for the pi user is raspberry.

Under option 4, change the time zone to your location. This will give you the correct local time.

Click ‘Finish’ to complete the setup.

Now let’s configure the network settings.
By default, the Raspberry Pi automatically gets an IP address via DHCP.

It also has zeroconf/bonjour installed which will announce the Raspberry Pi on the local network to make it available as http://raspberrypi.local.
If zeroconf is not installed, you can install it with

sudo apt-get install avahi-daemon

Under advanced settings in raspi-config, you can change the hostname. The zeroconf address is http://hostname.local and raspberrypi is the default hostname. So if you do not change the hostname, the address is http://raspberrypi.local

If you do not which to use ZeroConf, it is recommended to give your Raspberry Pi a static IP address. This step is optional. You can skip to SSH if you want to keep the automatically assigned address.

To set up a static address run:

sudo nano /etc/network/interfaces

My /etc/network/interfaces file looks like this:

auto lo
iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
  wpa-ssid "YOUR_SSID"

It is recommended to pick a static Ip address that is outside of your router’s DHCP range. (usually .100-.200)
The right IP addresses depend on your home network setup. I have used Google’s public DNS server.
Exit nano with CTRL-X and say YES to saving changes.

Finally, you will need to restart the networking service for these changes to occur:

sudo service networking stop
sudo service networking start

Check that you now have network connectivity by pinging google:


Exit with CTRL-C.

Now that you have network, we can do the rest of the setup over SSH, so you can easily copy/paste commands.

Logging in via SSH

For Windows users, install Putty. Mac and Linux users can just type ssh pi@ (or whatever your IP address is). You can also use your Zeroconf address (defautl raspberrypi.local) instead of the IP.

In Putty, fill in your IP, leave port at 22 and press ‘Open’. Log in as user pi, which your previously chosen password or the default password raspberry.

Now let’s first make sure that our Raspberry Pi is up-to-date. Upgrade all programs by running:

sudo apt-get update
sudo apt-get upgrade

Finally, let’s also update the pi’s firmware, with rpi-update:

sudo rpi-update

Reboot after the firmware update is done (sudo reboot), wait until they pi has booted and connect with ssh again (right mouse on putty, restart session)

Installing BrewPi
Installing BrewPi is very easy with our install script. The only 2 commands you need to run are to get the install script:

sudo apt-get install git
git clone ~/brewpi-tools

And to run the install script:

sudo ~/brewpi-tools/

If you want to update your BrewPi later, you can run:

sudo ~/brewpi-tools/

Configuring BrewPi
(currently writing this)


Will this software install guide also work for the Rasberry Pi 2?
Thank you,

I think it will. I can’t think of a reason why it won’t.

Thanks for the quick reply. This community is very cool.

Awesome! Thanks for posting this, I will be going through the setup this weekend. Hopefully it is noob friendly as most of this stuff is over my head. Is setting up the wifi included in this guide? Or do you just plug it in and it works?

Nice, I received my BrewPi Spark yesterday, but I couldn’t figure out how to get it in temperature controller mode. Hope you’ll update the guide soon.


Just installed my Raspberry Pi 2 like described here. It worked just fine.

My Rasberry Pi is all set up and ready to go. Awaiting the BrewPi Spark configuration guide.


How did it go? I was able get the RasberryPi 2 up and running this past weekend. Let me know how I can help. I’ll try to help if I can.

The WiFi dongle turns off after some time. I don’t remember exactly as I am away from home right now, but by inserting a line in a config file, I was able to prevent loss of the WiFi signal from the Rasberry Pi.

Let me know…


Works great on RPi2, much faster than the old pie as well. Literally the exact same instructions for setup as long as you update everything to the beta firmware for the spark as well as the dev branch for the brew pi. I had to invert my pins in the mant panel for my sainsmart 2 relay module for it to work.

1 Like

When running ~/brewpi-tools/ I get the following:

Checking Arduino hex file version...
Unable to connect to Arduino, perhaps it is disconnected or otherwise unavailable
Make sure to check for the most current version and upload via the BrewPi web interface
Your Arduino is not up to date, Fetching available version list...
[0] brewpi-leonardo-diy.hex
[1] brewpi-leonardo-revA.hex
[2] brewpi-leonardo-revC.hex
[3] brewpi-leonardo-simulator.hex
[4] brewpi-uno-revA.hex
[5] brewpi-uno-revC.hex
[6] brewpi-uno-simulator.hex
[7] Skip updating the hex file

Which one do i have to choose? I have the BrewPi Spark.

Choose 7 (skip) and upload via the web interface. I am currently working on that part to make it spark compatible.

Configuring BrewPi
(currently writing this)

Please provide brief write up on Configuring BrewPi.

Thank you.



The start post is now a wiki. Feel free to improve it.

For configuring BrewPi, please refer to the device configuration page of the docs for now:

1 Like

Great! I look forward to some early adopters fleshing out the user documentation for us.

Please include lots of pretty pictures :smile:

BrewPi Spark install help.

I’ll admit, I know much less than I would like, and I’m willing to learn, but I can’t find where to start. I have a RaspberryPi set up with BrewPi and my BrewPi spark just arrived, but I cannot figure out how to set it up. The screen currently displays a hardware test and has no problem reading the sensors, but when I try to set it up on the dashboard, I get an error “Error while receiving device configuration: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data”

I have no idea where to go or what to do, and I can’t find it in the community.

Any help would be greatly appreciated, and thank you in advance.

Theres a good bit of updating to do for the Spark to connect. Did you update the BrewPi software?

Hi everyone,

I just received my Brewpi Spark and I’m having a hard time making it work.

  1. Couldn’t get a Core ID via Node.js so I went for factory reset. I could then connect the core via Node.js but the LCD was white so I reinstalled Brewpi firmware (thanks to this guide Spark setup problems [SOLVED]).
  2. Now I’m back to Hardware Test page but Spark Core is not connected anymore. How exactly do I configure Brewpi to access the GUI?

When I use putty via COM I can’t type anything without getting some log:

The LCD screen on the Brewpi shows Hardware Test page and If I snuck a temperature sensor I can see It get recognized and shows temperature.


I did as much as I know how.

I get this far, and then I’m at a loss:

The update script can automatically check your Arduino version and program it with the latest hex file from the BrewPi server, would you like to do this now? [Y/n]:y
Stopping any running instances of BrewPi to check/update hex file…
Your version of pstuil is 0.5.0
BrewPi requires psutil 2.0 or higher, please upgrade your version of psutil.
This can best be done via pip, please run:
sudo apt-get install build-essential python-dev python-pip
sudo pip install psutil --upgrade

pi@raspberrypi ~ $ sudo apt-get install build-essential python-dev python-pip
Reading package lists… Done
Building dependency tree
Reading state information… Done
build-essential is already the newest version.
python-dev is already the newest version.
python-pip is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 47 not upgraded.
pi@raspberrypi ~ $ sudo pip install psutil --upgrade
Cannot fetch index base URL
Could not find any downloads that satisfy the requirement psutil in /usr/lib/pymodules/python2.7
No distributions at all found for psutil in /usr/lib/pymodules/python2.7