Article by:
Date Published:
Last Modified:

Child Pages

  • RP2040
  • Overview

    The RaspberryPi is a family of cheap, fully-functional micro-computers.

    The RaspberryPi while testing.
    The RaspberryPi while testing.

    Quick Setup

    www.raspberrypi.com has released software called NOOBS (new out-of-the-box software), which makes it really easy to setup the RPi. Just download NOOBS (which was just over 1GB at v1.2.1), format (go here) then unpack NOOBS onto the SD card, and your good to plug the SD card into the RPi and power up (NOOBS will present you with various operating systems to install on start-up).

    At the bare minimum, you’ll also need a USB keyboard, mouse (hard-outs may be able to forgo this) and either an HDMI or composite screen.

    Default username:pi
    Default password:raspberry

    Longer Setups

    You can also write images directly to the SD card. The recommended tool for this is the open source program Win32DiskImager.

    Operating Systems

    There are many operating systems that are compatible with the RPi.

    A list of some of the supported operating systems and downloads for them can be found here.


    A port of the Raspian OS by Adafruit industries which makes the OS more hacker friendly. It provides hardware SPI and I2C support, Realtek RTL8188CUS WiFi support (a common chipset used in USB WiFi modules).


    URL: http://pidora.ca/

    Pidora is a mod of Fedora for the RPi.


    URL: http://www.raspbian.org/

    A Debian-based (Ubuntu-like) operating system optimised for running on the RPi. It is one of the most popular operating systems for the RPi. Provides a config menu the first time you boot, where you can change settings such as the password, enabling SSH, expanding the file system to use the entire SD card, and configuring the keyboard/mouse.

    You can bring up the config menu at any time by typing the command sudo raspi-config.

    To load up the GUI from the command-line, type startx.

    To shutdown the GUI from the command-line, type sudo shutdown "now" (this also shuts down any other processes).

    The nano text editor comes pre-installed, type nano to load it.


    URL: https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi

    A version of the RISC OS (a operating system dating back to 1987 for 32-bit ARM chips) for the RPi.

    Music Orientated

    Pi MusicBox

    Supported Music Sources
    • Apple AirPlay
    • DLNA streaming from phone/tablet
    • Google Music
    • MP3/OGG/FLAC/AAC (on SD Card, USB or Network)
    • Spotify
    • Soma FM
    • SoundCloud
    • Subsonic
    Supported PlatformsRaspberry Pi
    StructureMopidy (which itself is MPD)
    LicensingOpen Source


    Supported Music SourcesApple Airplay
    Supported Platforms
    • Cubox
    • Beaglebone Black
    • Raspberry Pi
    • Udoo
    LicensingOpen Source


    Volumio began as the RaspyFi project in December 2012. It then expanded to support many embedded platforms including the Udoo and BeagleBoard. IMO, Volumio looks more polished than the Pi MusicBox.

    RPi Store

    There is an official RPi store that offers applications and games (some cost, some are free) for the RPi.

    Video Output

    The RPi has two native video outputs, HDMI, and RCA/composite. **You cannot use both at the same time. **Converting any of these two to VGA is rather expensive.


    The RaspberryPi also has a DSI output connector (the 15-pin connector that is not on the edge of the board), which is a high-speed, differential, serial point-to-point bus designed by the mobile industry to connect a host controller up to a graphics display device (normally an LCD screen). However, it is very difficult to use these on the RaspberryPi, as the pins are controller by the GPU, which is controlled by closed software written by Broadcom. I don’t know of anyone who has managed to connect anything to this 15-pin connector!

    Controlling The GPIO

    Understanding Outputs explains the GPIO pins on the RaspberryPi really well.

    Check out the Quick2wire Python API repo, this allows to to control the RPi’s GPIO from a python script.

    There is also the pi-gpio module for controlling GPIO with nodejs. Good for when you are wanting to control the RPi GPIO from across a network (remotely).

    I used a single LED connected up to one of the RaspberryPi's GPIO pins for basic testing.
    I used a single LED connected up to one of the RaspberryPi's GPIO pins for basic testing.


    The RPi has one hardware PWM output (yes, only one, this isn’t a microcontroller). Unfortunately this is shared with the audio system, so you can’t use the PWM and listen to audio through the 3.5mm jack at the same time. Other GPIO can be bit-bashed with software PWM.

    How To Change Keyboard Layout

    The default keyboard layout is British, so you might find yourself getting a pound sign when you really want a dollar sign (and other quirky differences). To change the keyboard mapping, open the file etc/default/keyboard with a text editor like nano.


    Assuming you have an internet connection, run:

    sudo apt-get update
    sudo apt-get upgrade


    You can log into a RaspberryPi from another computer using SSH. Type the following command into a terminal:

    ssh -l pi

    where you replace with the IP address of the RaspberryPi (this is the RaspberryPi’s local address, which is only accessible via another computer on the intranet). The flag -l pi tells SSH to login with the username pi, not the default username of the calling terminal.

    Useful Packages To Install

    # GIT repo engine
    sudo apt-get install git
    ## Advanced make-like compiler
    sudo apt-get install scons
    ## GCC/G++ compilers and additional tools
    sudo apt-get install build-essential
    ## C++ wrapper for the perl-compatible regex engine (PCRE)
    sudo apt-get install libpcre++-dev
    ## API for XUL embedders and Gecko applications (the main engine for Mozilla
    # programs such as Firefox)
    sudo apt-get install xulrunner-dev
    ## The boost library
    sudo apt-get install libboost-dev libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev


    Node.js will work with the hard-float version of Raspian Wheezy. It takes aggggeeeesss to compile from the source code, but luckily, there is a pre-compiled binary available for the ARM processor which will work on the RaspberryPi.

    You can install Node.js on Wheezy by just typing sudo apt-get install nodejs. See below for the harder way.

    sudo mkdir /opt/node
    wget http://nodejs.org/dist/v0.10.2/node-v0.10.2-linux-arm-pi.tar.gz
    tar xvzf node-v0.10.2-linux-arm-pi.tar.gz
    sudo cp -r node-v0.10.2-linux-arm-pi/* /opt/node

    Then Node.js has to be added to your PATH variable, to do this, type

    nano /etc/profile

    And add the following lines before the export variable

    export PATH

    This great tutorial on the Kitware blog easily explains how to remotely access the RPi using nodejs. Once you have installed Node.js, it also pays to install npm (node package manager), by typing:

    sudo apt-get install npm

    Playing An MP3 Through The Audio Jack

    You can use the omxplayer program to play mp3’s from the RaspberryPi:

    omxplayer -o local path_to_sound.mp3

    If you want to loop a single sound file, you can add the option --loop:

    omxplayer -o local --loop path_to_sound.mp3



    The RPi is great for educating people about computers, as it is cheap and readily available.

    Home Automation

    QW Home Automation

    Website: http://qwhomeautomation.com/ Works with Insteon products.


    Geoffrey Hunter

    Dude making stuff.

    Creative Commons License
    This work is licensed under a Creative Commons Attribution 4.0 International License .

    Related Content


    comments powered by Disqus