Zero to IPA, sw (kickstart)

Peter Marton edited this page Mar 23, 2014 · 9 revisions

When you sit in a tube with full of shit, please just read this and use a double of hops. It will make your day, I promise.

Please update this documentation after every install.

01 - Format the SD card

With formatter:

It doesn't require any information but if you have to select the format please use the FAT (MS-DOS).

With the OSX disk utility:

OSX Disk Utility is also capable of formatting the entire disk (select the SD card volume and choose "Erase" with "MS-DOS" format)

02 - Download the OS

Last time we used the NOOBS (v1.3.4)

03 - Copy the OS to the card

Yes, you can use cp.

cp -r ~/Downloads/NOOBS_v1_3_4/* /Volumes/UNTITLED

04 - Install OS

You have to connect your PI to a display, because it is needed to select which OS do you want to install.

The installation require ~40 minutes.

(May you can choose the automatic installation. In this case you have to modify the config files. We didn't have time to test it.)

05 - Connect to the PI

Connect directly to the router

ssh pi@ip.of.the.rpi (pass: raspberry)

OSX via ethernet:

Plug in the ethernet cable and share your internet connection.

ssh pi@ (pass: raspberry)

Internet sharing:

06 - Install softwares

Upate your apt

sudo apt-get update
sudo apt-get upgrade


sudo apt-get install git-core


This can handle the DS18B20 digital temperature hw device. It will provide a cat style reading.

git clone git://
cd wiringPi

Example: After the installation you can read the temperature from your DS18B20 device.

# init the devices
sudo modprobe w1-gpio
sudo modprobe w1-therm

# you should see your devices (ex. 28-0000048f07fd  w1_bus_master1)
ls /sys/bus/w1/devices
# and read it the result should looks similar like this:
# 56 01 4b 46 7f ff 0a 10 d1 : crc=d1 YES
# 56 01 4b 46 7f ff 0a 10 d1 t=21375
cat 28-0000048f07fd/w1_slave


This will provide the PWM functionality on your Pins for the npm lib.

git clone
cd pi-blaster
sudo make install

After the installation you should see the actual state of the pins.


It's tricky because you can use the sudo apt-get install nodejs but it will install a v0.6 node which is non supported by the most of the actual npm libs.

So you have to find an another way to get a newer version. compile you own node (it will take ~2 hours) use a precompiled version

install precompiled node

sudo mkdir /opt/node

tar xvzf node-v0.10.2-linux-arm-pi.tar.gz
sudo cp -r node-v0.10.2-linux-arm-pi/* /opt/node
nano /etc/profile

# extend profile with this
export PATH
# you have to logout-in to get your node

07 - WiFi

We have a TP-Link TL-WN725 v2.

// TO DO

# add third party repo to the apt-get
deb wheezy main
sudo wget -O /etc/apt/sources.list.d/
wget -O - | sudo apt-key add -
# install driver
sudo apt-get install rtl8188eu
# load the driver
sudo modprobe 8188eu

09 - Install our stuff

Install the brewing software.

git clone
cd brewpi
npm install --production

# you have to copy your bower files into app/components or
npm install
bower install

Run the code

NODE_ENV=production node app

10 - upstart scripts

PI have to run some initialization scripts after boot. Like start the brewing software.


// TO DO: r&d with PM2



chmod 755 /etc/init.d/nodeup
update-rc.d nodeup defaults


update-rc.d -f nodeup remove

Content of the /etc/init.d/nodeup:

export PATH=$PATH:/usr/local/bin
case "$1" in
  sudo -u pi NODE_ENV=production forever start --sourceDir=/home/pi/Desktop/pwm/ -p /home/pi/Desktop/pwm_logs app.js
  sudo -u pi forever stop /home/pi/Desktop/pwm/app.js
  echo "Usage: /etc/init.d/nodeup {start|stop}"
  exit 1
exit 0
  • Emergency

When it wasn't started automatically.

Emergency start:

Init temperature device

sudo modprobe w1-gpio
sudo modprobe w1-therm

Start the SW

NODE_ENV=production forever start ~/brewpi/app.js
Emergency stop
forever stop 0
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.