Introduction to the Raspberry
Pi
AND LINUX FOR DUMMIES
What is it???
700Mhz ARM v6
Broadcomm CPU+GPU
512 MB RAM (256MB on
Model A)
Boots off SD card for
filesystem
USB, Audio out, LAN
(Model B only)
HDMI + Composite video
out
GPIO pins
Powered off 5V, ~700ma
(500ma on Model A)
What was the point?
Meant to be a very inexpensive, open computer to help
give kids access to computers that they could experiment
with, like many of us did in the 1980’s.
Hooks up to TV’s, USB KB+mouse, powered off cell
phone power adaptors – things many of us have already!
SD storage so easy to reflash if you screw it up
Linux based OS, so easy to get in and see how it works.
Also has GPIO so possible to use for robotics!
HUGE community following! (Not true of many of these
types of devices…) Think Arduino popular… (>1M units
sold in the first year…)
What sort of performance?
Default is 700Mhz, but most will overclock to ~1Ghz
Stock is roughly as powerful as a 400Mhz Pentium 2.
GPU is basically as powerful as what was on the
original Xbox.
The SD interface is a bit slow, BUT you can hook up
a normal mechanical HD or SSD or USB thumb drive
and get a bit better performance. SD is great though
because no moving parts and small.
100Mbit Ethernet, but it is attached through the USB
interface and rarely gets full speed.
GPIO
3.3V (NON PROTECTED!)
I2C, Serial, SPI, etc.
No A/D, so no analog input
Can do software-based PWM
Libraries exist for interacting
with the GPIO through your
favorite language
http://elinux.org/RPi_Low-
level_peripherals#GPIO_har
dware_hacking
Comparison to XYZ uC?
Apples and Oranges..
Way more RAM + Storage – can Not real time!
do more advanced algorithms, or Can be daunting if you don’t
perform data logging. know Linux
Can debug in place! BIG learning curve, but really
Easy/quick to change program – depends on what you’re trying to
no “reprogramming/uploading” do.
And remember the whole point of
Interfacing to LOTS of other this thing is computer
hardware (webcams, etc. EDUCATION! GREAT platform to
INSANE amounts of software out learn Linux on!
there for Linux, and a lot of it X still isn’t accelerated
works on the Pi! No A/D, no analog inputs, not
Can do projects that require a protected GPIO
GUI Nowhere near as many pins as
Can run and chain together say, Arduino Uno to work with
multiple programs MUCH pickier about power (very
Network connectivity and remote narrow input voltage tolerance
access (4.8-5.2V)
Some other cool things…
Can run XMBC Home Theater PC software
Turn your TV into a Smart TV!
Emulators for tons of old platforms (C64, Atari, NES,
etc.)
Games – OpenTTD, OpenArena, more…
Has it’s own app store…
Several OS options – Raspbian (Debian optimized
for Rpi), Debian (non-optimized), Arch Linux, RISC-
OS, NetBSD – NO UBUNTU (but not a big deal)
Getting started…(with Raspbian)
First boot will run a config program…
Can config settings such as the RAM mix between CPU/GPU based on
your needs, overclocking, locale info, clock, etc.
HIGHLY recommend installing “Rpi-update” (google for it) –
updates software and Linux Kernel
If you want to install more software:
Sudo apt-get update
Sudo apt-cache search “something in the name”
Sudo apt-get install packagename
Doing the above will update the software available list, show
you any packages that have a match for the search text, install
the named package(s) and any dependencies.
If you plan to use the desktop, install synaptic package
manager for a graphical way to manage software…
Graphical Desktop
Type: “startx” This will launch the LXDE graphical
desktop. A more “windows-ish” environment.
You’ll notice this seems slow – X (the graphical
desktop foundation) hasn’t been optimized (YET) to
use the GPU for rendering, so has to do it with the
slower CPU. Still useable though, just don’t expect
miracles!
Requires you to allocate RAM to the GPU – so take
with grain of salt. Takes away from system RAM.
So what else do you want to know about???
ROS – the non-graphics (read core, important stuff)
can be run, but it’s a headache to get it built and
working. (I have a SD card image with Fuerte on
Raspbian if you want it.)
Time for discussion!!!
Good Sources for Info
Raspberry Pi Manual
Raspberrypi.org + associated forums (LOTS of traffic
here!)
www.elinux.org - entire areas on this wiki for the
Rpi.
Adafruit.com/category/105 – products, tutorials,
and an educational distro of Linux for the Pi.
Youtube – TONS of Rpi related videos