Welcome

Welcome to the Raspberry Pi tutorials. We have created these tutorials for anyone who wants to learn about the Raspberry Pi, from children with no computer experience to engineers who want to explore a new about a new platform.

The tutorials are currently broken up into 3 categories:

  • An introduction to the Raspberry Pi, with a how to guide on the extra equipment required for it to run and instructions on getting started with Raspian (the Raspberry Pi Operating System).
  • How to program the Raspberry Pi in Scratch, this is a very simple flowchart style language that teaches the fundamentals of programming to just about anyone.
  • How to program the Raspberry Pi in Python. These tutorials are for the more advanced users who want to learn a text-based programming language. We have designed these tutorials for people with no programming experience and for those who can already program in other languages.

We will start by looking at the Raspberry Pi’s features and some examples of what it can do.

The Raspberry Pi

The Raspberry Pi is a credit-card sized computer that was developed by the Raspberry Pi Foundation at the University of Cambridge. The clever folks there realised that most people have no idea how a computer works or what one even looks like; they wanted to create a very cheap and small computer that absolutely anybody could use to learn all about computers and software programming.

Raspberry Pi

Raspberry Pi

The Raspberry Pi was designed to run an operating system called Linux. This is a very powerful operating system that has been in development since 1983, it is open source (meaning that a lot of people contribute to its development. They can see the source code and distribute it in their own way). Unlike Windows or Mac OS X, Linux is completely free and there are many different distributions of it which different people have released. We will be installing Raspian on our Raspberry Pi which is a distribution of Linux (based on Debian) tailored for the RPi.

Features

Before we look at the connectors on the RPi, let’s take a minute to explore its features and what we can do with it.

CPU

The Processor

The Processor

This is the CPU of the computer. It is the brains of board and will be doing all the calculations, file reads/writes, video/audio processing etc. This is a special processor (often used in phones) that has the memory, computer processor, audio controller and graphics processor all rolled into one chip (known as a System on a Chip (SoC)). In a normal computer the components of this chip are usually separated around the motherboard and often they can all be interchanged to upgrade the computers performance.

The SoC used on the Raspberry Pi contains an ARM processor (based on the ARMv6 architecture), a graphics processor, a digital signal processor and RAM (either 256MB or 512MB).

USB and Network

USB/Network Controller

USB/Network Controller

Finally we have the USB and network controller, this chip communicates with the CPU to deal with the USB and Ethernet protocols. Although the CPU is able to do this, a separate chip is used so that the CPU is freed up for other processes.

There are several models of the RPi and the specs of each can be found here.

GPIO

Unlike a lot of computers, the Raspberry Pi has a set of headers on the board that allow us to connect to external hardware. Although there are already several connectors on the board, using these pins we can connect other chips or components using some lower-level interfaces that the RPi offers.

The GPIO pins are on the right

The GPIO pins are on the right

In the tutorials we will start by connecting these pins to LEDs to allow for some visual feedback off the screen. After we get more advanced we will begin to look at connecting to other hardware via the SPI, i2c and UART protocols. These advanced tutorials are aimed at people who have already had experience with microcontrollers but we encourage everyone to explore as much of the RPi as they can.

SD Card

Unlike a normal computer the Raspberry Pi does not connect to a hard drive but instead uses an SD Card for its storage. A hard drives requires powerful controllers to allow for fast data exchange and they also consume a lot of power. An SD Card on the other hand is very simple to interface to and consumes very little power; this is why we will be using one instead of a hard drive.

We will explain more in the next tutorial about the extras that you will need to get your Raspberry Pi up and running.

What can we do?

We have mentioned the two programming languages we will be teaching: Scratch and Python. Both are very good languages to learn and both can be learned with zero programming experience. Scratch teaches you to program using flow charts and in doing so you can control cartoon drawings to make simple animations and games.

Python is a very common computer language and is incredibly versatile allowing for a wide variety of applications. We will start with simple programs and later progress onto using the general pins to interface with other components.

There is no limit to what you can do with your RPi and although our tutorials will only teach you a few projects we aim to give you everything you need to do whatever you want. To get an idea of what other people do with theirs, we recommend you look at this post on Reddit.

We hope this was a nice introduction to the Raspberry Pi, if you have any questions feel free to post in the comments section below.