Raspberry Pi overview – 3.5 Watt Linux board


Raspberry Pi

Raspberry Pi is advertised as an ultra-inexpensive (~35 USD for model B) mini computer running Linux. That’s why I just had to give it a try 🙂 It is especially interesting because it opens up a lot of possibilities combining Linux + small footprint + low memory consumption + connectivity + reasonable price. This article refers to model B of the board.

Hardware – just as you see it

The board is about the size of a business card. Major visible elements include (top-left to bottom-right):

  • gold pin “connector” (do not touch unless you know what you are doing)
  • Composite video output (RCA/cinch)
  • 3.5mm stereo audio out jack
  • 5 status LEDs: storage activity (think: HDD LED), power, network full-duplex, network link activity, network 100 Mbps mode
  • SD/MMC card socket (at the bottom of the board)
  • DSI display connector
  • CPU/GPU chip
  • 2 USB ports
  • power input (micro-USB)
  • HDMI video output
  • CSI camera connector
  • Ethernet RJ-45 socket
Raspberry Pi photo

Raspberry Pi photo

Hardware – as the operating system sees it

The CPU:

pi@raspberrypi ~ $ cat /proc/cpuinfo 
Processor       : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS        : 464.48
Features        : swp half thumb fastmult vfp edsp java tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xb76
CPU revision    : 7Hardware        : BCM2708
Revision        : 000f
Serial          : 00000000f359b5cc
pi@raspberrypi ~ $ dmesg |grep BogoMIPS
[    0.001009] Calibrating delay loop... 464.48 BogoMIPS (lpj=2322432)

Memory (in this setup split GPU/operating system: 16/448, a total of 512 MB for model B):

pi@raspberrypi ~ $ head -n 1 /proc/meminfo
MemTotal:         448776 kB

PCI – no surprise here:

pi@raspberrypi ~ $ lspci
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

And USB:

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.

Storage (aside from ramX and loopX):

pi@raspberrypi ~ $ ls -la /dev/mmcblk*
brw-rw---T 1 root floppy 179, 0 Jan  1  1970 /dev/mmcblk0
brw-rw---T 1 root floppy 179, 1 Jan  1  1970 /dev/mmcblk0p1
brw-rw---T 1 root floppy 179, 2 Jan 23 04:37 /dev/mmcblk0p2

And some output from /sys:

pi@raspberrypi ~ $ ls -la /sys/class/{graphics,net,sound,thermal,gpio}
/sys/class/gpio:
total 0
drwxr-xr-x  2 root root    0 Jan 30 21:54 .
drwxr-xr-x 39 root root    0 Jan 23 04:37 ..
--w-------  1 root root 4096 Jan 30 21:57 export
lrwxrwxrwx  1 root root    0 Jan 30 21:57 gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
--w-------  1 root root 4096 Jan 30 21:57 unexport
/sys/class/graphics:
total 0
drwxr-xr-x  2 root root 0 Jan 30 21:54 .
drwxr-xr-x 39 root root 0 Jan 23 04:37 ..
lrwxrwxrwx  1 root root 0 Jan 30 21:57 fb0 -> ../../devices/virtual/graphics/fb0
lrwxrwxrwx  1 root root 0 Jan 30 21:57 fbcon -> ../../devices/virtual/graphics/fbcon
/sys/class/net:
total 0
drwxr-xr-x  2 root root 0 Jan 23 04:37 .
drwxr-xr-x 39 root root 0 Jan 23 04:37 ..
lrwxrwxrwx  1 root root 0 Jan 23 04:38 eth0 -> ../../devices/platform/bcm2708_usb/usb1/1-1/1-1.1/1-1.1:1.0/net/eth0
lrwxrwxrwx  1 root root 0 Jan 23 04:37 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx  1 root root 0 Jan 30 21:56 tun0 -> ../../devices/virtual/net/tun0
/sys/class/sound:
total 0
drwxr-xr-x  2 root root 0 Jan 23 04:38 .
drwxr-xr-x 39 root root 0 Jan 23 04:37 ..
lrwxrwxrwx  1 root root 0 Jan 23 04:38 card0 -> ../../devices/platform/bcm2835_AUD0.0/sound/card0
lrwxrwxrwx  1 root root 0 Jan 23 04:38 controlC0 -> ../../devices/platform/bcm2835_AUD0.0/sound/card0/controlC0
lrwxrwxrwx  1 root root 0 Jan 23 04:38 pcmC0D0p -> ../../devices/platform/bcm2835_AUD0.0/sound/card0/pcmC0D0p
lrwxrwxrwx  1 root root 0 Jan 23 04:38 seq -> ../../devices/virtual/sound/seq
lrwxrwxrwx  1 root root 0 Jan 23 04:38 timer -> ../../devices/virtual/sound/timer
/sys/class/thermal:
total 0
drwxr-xr-x  2 root root 0 Jan 30 21:54 .
drwxr-xr-x 39 root root 0 Jan 23 04:37 ..
lrwxrwxrwx  1 root root 0 Jan 30 21:57 thermal_zone0 -> ../../devices/virtual/thermal/thermal_zone0

As you can see there’s plenty of what a flexible toy system would need.

Power setup

You need a power source, as no power supply is included in the standard package. This should not be a big problem, but your mileage may vary. I use a Nokia phone charger with success, but it may not work for you. I have read that powering your Pi from your PC or Laptop is not a good idea. And if you plan to use something more than just low power USB devices (mouse, keyboard) plugged to the Pi you should seriously consider an externally powered USB hub. Badly powered Raspberry Pi may hang or even issue random writes to the SD card (misbehaving controller). You have been warned.

To check the voltage use a voltmeter on TP1 and TP2 test points on the board. Some sources say it should be in 4.75V – 5.25V range, and not all phone chargers provide flat 5V (proof left out as an exercise for the reader).

Boot process

If you power on your Pi with just power connected – it will do essentially nothing at all. There is no BIOS, UEFI or any other platform management utility. You need to prepare a mandatory SD card and put it in the slot before you power the Pi on, as it boots only from the SD (no direct booting from USB attached storage or network). The key area for booting is the first, small vfat partition containing a few files (yes, it is mounted at /boot in most – if not all – distributions for Pi). Among them most interesting are:

  • cmdline.txt – the kernel command line
  • config.txt – boot options (think: BIOS) of the platform
  • kernel*.img – kernel files

When I first booted the Pi I had no video. It happened because I plugged its composite output to my PCI TV tuner’s input and the default configuration is to provide video on the HDMI port. If you plan to use composite video instead of HDMI, then before booting you will need to look for sdtv_mode option in config.txt (the file is well commented with Raspbian distribution) or you will see nothing. Just put the SD card in your PC and whatever you use should mount vfat partition so you can conveniently edit the file.

SD images

There is plenty of binary images you can dd to your SD card, you might want to check out the excellent list of RPi Distributions at eLinux.org. Your simplest and safest bet would be Raspbian – a Debian flavor, this is the base for most others – it provides a base environment and should get you going with the basics (boot process lands you at a login prompt on the console). Personally I started with Raspbmc – an XBMC distribution for Raspberry Pi – it booted straight to nice XBMC GUI to my amusement 🙂

It is running!

Congratulations if you have made it this far! No humming, small form factor, pure fun, isn’t it? After your first boot you might be interested in running

sudo raspi-config

to tweak some basic options, such as keyboard layout, overscan, enable sshd, etc. And what do you do now? Personally I have been playing with it for a while now, but did not make it my main media center as many people do. At least not quite. But more on that in following posts.

1 Response to “Raspberry Pi overview – 3.5 Watt Linux board”


  1. 1 anthonyvenable110 31.01.2013 at 00:39

    Reblogged this on anthonyvenable110.


What do you think?




Enter your email address to follow this blog and receive notifications of new posts by email.

Join 51 other subscribers

Marcin Gałkowski

Seasoned admin, Linux hacker, Android fan, Gentoo enthusiast. Doing digital audio on Linux when time permits. At work: IT Team Lead (+labs, +datacenters...)

BTC tip jar:

1HprotPu2zi8v8hFZBqVfcTYL7ZYVYBruo