Raspberry Pi


What started as a foundation focusing on education has become the world leader of single board computers, and is now making waves in the world of microcontrollers.

The single board computer that started it all

The Raspberry Pi is a single-board, low-cost, high-performance computer that enables endless possibilities for physical computing and exploring the Internet of Things (IoT). It is equipped with various input and output ports (HDMI, USB, Ethernet, etc.) to connect a display, mouse, and keyboard to use as a traditional PC.

The Raspberry Pi Foundation set out to be the answer to getting a computer in the hands of every school-aged child in the world. The goal was to bring tech to developing countries, and to get UK residents further interested in computer science from a young age. The Raspberry Pi Foundation was established with the help of Broadcom, a semiconductor company that produces a number of different semiconductors and software that compliments it.

Outside the main objective, the Raspberry Pi project generated a lot of buzz the second they announced their product would cost less than $50. This was incredible at the time, and consumers couldn't wait to get their hands on the Raspberry Pi. In fact, at launch in February 2012, it sold out almost immediately - a trend that seems to continue with each new release today.

Satellite Distance from Earth

Released in February 2012, the Raspberry Pi Model B was the credit card-sized computer that started it all.

A brief, decidedly non-comprehensive history of Raspberry Pi releases.

Raspberry Pi Compute modules

In early 2014, Raspberry Pi came out with its first Compute Module intended to be embedded into products or systems. The idea was to put all the computing power and functionality of a traditional Raspberry Pi in a form factor a user could design around to create a custom device with specific connectors, layout and size, with the same technological guts (processor, RAM, flash, etc.) as the Raspberry Pi they know and love. At first the Compute Modules were made as a DDR2 SODIMM connector (same as a laptop memory), but more recently, Raspberry Pi has released the Compute Module 4 form factor, featuring a high density connector on the bottom of the board.

Introducing the RP2350 microcontroller from Raspberry Pi!

Raspberry Pi has released it's second-generation microcontroller board with better performance and security than its predecessor RP2040.

Learn more about the RP2350

Raspberry Pi operating systems

As a fully functioning computer, a Raspberry Pi requires an operating system to run. The open source Raspberry Pi OS (previously called Raspbian) gained an immediate following, and excited users added support for different peripherals and software, such as a Minecraft server. The popular game/learning platform saw a so much interest on the Raspberry Pi platform that it eventually found itself integrated as a standard program on Raspberry Pi OS images. Alternative operating systems also started to pop up, like OSMC (Open Source Media Center), which is a simple way to turn a Raspberry Pi into a home media center. Depending on what you'd like to use Raspberry Pi for, there is probably an operating system to suit your needs. Here are just a few of the 20+ operating systems you can install on your Raspberry Pi.

 

Raspberry Pi OS

Official Raspberry Pi OS

Open Source Media Center

For media servers

Ubuntu MATE

General purpose OS

RISC OS

For ARM devices

RetroPie

For retro gaming

Raspberry Pi hardware

Out of the box, the Raspberry Pi comes with all the hardware ports needed in order to set up a personal computer. USB 3.0 ports allow for external hardware such as a mouse or keyboard, the ethernet port allows for an easy internet connection, and the AV jack and HDMI ports allow for speakers and a monitor. Where the Raspberry Pi really shines is with its onboard hardware, including its 40-pin GPIO (General Purpose Input & Output). Read more on this below.

 

1 microSD card slot (back side)   2 DSI display port   3 USB 3.0 power port   4 Dual 4k HDMI ports   5 CSI camera port   6 4-pole stereo audio   7 Dual USB 2.0 ports   8 Dual USB 3.0 ports   9 Gigabit ethernet port   10 20x2 GPIO header   11 WiFi & Bluetooth 5.0 radio  

Physical computing with Raspberry Pi

In very broad terms, physical computing involves interacting with the world around you by analyzing analog inputs to control digital outputs. One example of physical computing is using a Passive Infrared (PIR) sensor to detect motion from a human (input) and turn on a light (output) once that motion is detected. Another example is taking air quality sensor readings over a period of time and using an OpenLog to store those readings. The possibilities are limitless.

With a Raspberry Pi, physical computing is done via the aformentioned 20x2 GPIO. One could use individual hookup wires for each GPIO, but we've made it much simpler. Using a HAT or pHAT allows you to expand the capabilities of your Raspberry Pi for applications like robotics, machine learning and everything in between. They also make it easier to add accessories such as a camera, display cables, or a multitude of sensors using the Qwiic Connect System. We also offer a SHIM (Stack Hardware In the Middle) to add a Qwiic Connector without taking up too much precious GPIO. A Pi Wedge is another option, if you prefer to break the GPIO out to a breadboard.

Programming in Python

We can't discuss an exploration of Raspberry Pi without touching on Python, because the two are intricately connected. The Raspberry Pi Foundation chose Python as the primary language of the Pi because of its power and ease of use. The Pi operating system specifically has Python IDEs (IDLE, Thonny) installed, you can begin programming as soon as you connect the peripherals to the computer.

Having Python installed on the Raspberry Pi enables you to begin interacting with physical components via the Pi. Using the gpiozero library built by the Raspberry Pi Foundation, you can interact with a variety of GPIO devices just by writing in Python.

Python Programming Tutorial: Getting Started with the Raspberry Pi

June 27, 2018

This guide will show you how to write programs on your Raspberry Pi using Python to control hardware.

Getting Started with Raspberry Pi


Now that you've got a good background on Raspberry Pi, it's time to dive in. We've put together a simple, effective tutorial to introduce you to the hardware and coding needed to set up and use your Raspberry Pi single board computer.

Introduction to the Raspberry Pi GPIO and Physical Computing

January 20, 2021

This tutorial will teach you how to set up your Raspberry Pi as a full desktop computer and read in sensor data through the GPIO using SparkFun hardware.

Make sure to look at our hookup guides!

When exploring Raspberry Pi products, one of the best ways to learn is to view the hookup guides. For most products SparkFun carries, we have an associated hookup guide on the product page located under the description. We do our best to walk through all the connections needed, associated libraries, and a working demonstration or two to get your project off the ground.


Raspberry Pi Products


Raspberry Pi has become extremely popular in the electronics world, and a plethora of products have been created to accompany, modify and enhance the Pi’s capabilities.

Official Raspberry Pi products:

Raspberry Pi 5 - 4GB

Raspberry Pi 5 - 4GB

DEV-23550
$60.00
7
Raspberry Pi 4 Model B (4 GB)

Raspberry Pi 4 Model B (4 GB)

DEV-15447
$55.00
21
Raspberry Pi 3 A+

Raspberry Pi 3 A+

DEV-15139
$25.00
4
Raspberry Pi 400 Personal Computer Kit

Raspberry Pi 400 Personal Computer Kit

KIT-17377
$100.00
43
Raspberry Pi Compute Module 4 - Lite

Raspberry Pi Compute Module 4 - Lite

DEV-17364
$30.00
Raspberry Pi Compute Module 4 16GB - 2GB RAM

Raspberry Pi Compute Module 4 16GB - 2GB RAM

DEV-17390
$40.00
1
Raspberry Pi Compute Module 4 32GB (Wireless Version) - 2GB RAM

Raspberry Pi Compute Module 4 32GB (Wireless Version) - 2GB RAM

DEV-18351
$50.00

Raspberry Pi Compute Module 3+ - 8GB

DEV-17274
1
Raspberry Pi Camera Module 3 - Wide Angle

Raspberry Pi Camera Module 3 - Wide Angle

SEN-21332
$35.00
1
Raspberry Pi Camera Module V2

Raspberry Pi Camera Module V2

DEV-14028
$25.00
16

Raspberry Pi LCD - 7" Touchscreen

LCD-13733
56
Raspberry Pi Camera Module 3 NoIR - Wide Angle

Raspberry Pi Camera Module 3 NoIR - Wide Angle

SEN-21735
$35.00
Raspberry Pi 4 Case Fan

Raspberry Pi 4 Case Fan

PRT-17368
$5.00
Raspberry Pi GPIO Tall Header - 2x20

Raspberry Pi GPIO Tall Header - 2x20

PRT-14017
$2.75
Raspberry Pi 5 Case - Red/White

Raspberry Pi 5 Case - Red/White

PRT-23587
$10.00
3
Raspberry Pi Wall Adapter Power Supply - 5.1VDC, 3.0A, 15.3W (USB-C)

Raspberry Pi Wall Adapter Power Supply - 5.1VDC, 3.0A, 15.3W (USB-C)

TOL-15448
$8.00
7

Raspberry Pi supported products:

SparkFun Qwiic pHAT v2.0 for Raspberry Pi

SparkFun Qwiic pHAT v2.0 for Raspberry Pi

DEV-15945
$6.95
2
SparkFun Qwiic pHAT Extension for Raspberry Pi 400

SparkFun Qwiic pHAT Extension for Raspberry Pi 400

DEV-17512
$5.50
SparkFun GPS-RTK Dead Reckoning pHAT for Raspberry Pi

SparkFun GPS-RTK Dead Reckoning pHAT for Raspberry Pi

GPS-21305
$289.95
SparkFun Servo pHAT for Raspberry Pi

SparkFun Servo pHAT for Raspberry Pi

DEV-15316
$11.95
5
Raspberry Pi 5 Basic Kit - 8GB

Raspberry Pi 5 Basic Kit - 8GB

KIT-23617
$114.95
17
SparkFun Raspberry Pi 4 Basic Kit - 8GB

SparkFun Raspberry Pi 4 Basic Kit - 8GB

KIT-17980
$123.50
1
SparkFun Raspberry Pi Zero W Camera Kit

SparkFun Raspberry Pi Zero W Camera Kit

KIT-16327
$67.95
1
SparkFun Qwiic Starter Kit for Raspberry Pi

SparkFun Qwiic Starter Kit for Raspberry Pi

KIT-21285
$59.95
SparkFun Pi Wedge

SparkFun Pi Wedge

BOB-13717
$12.95
12
Aluminum Heatsink Case for Raspberry Pi 4 - Obsidian Black

Aluminum Heatsink Case for Raspberry Pi 4 - Obsidian Black

PRT-15773
$19.50
7
Logitech K400 Plus Wireless Touch Keyboard

Logitech K400 Plus Wireless Touch Keyboard

WIG-16300
$42.95
Micro HDMI Cable - 3ft

Micro HDMI Cable - 3ft

CAB-15796
$6.50
1

Raspberry Pi vs Arduino


While there is some overlap between the capabilities of Raspberry Pi and Arduino, there are also some distinct differences.

Single board computer vs microcontroller

A single board computer (SBC) is a full computer limited to a single circuit board. They run similar, scaled down versions of operating systems. The preinstalled software includes a web browser, an office suite, a terminal, and even Minecraft. The Raspberry Pi also has built-in WiFi and Bluetooth to connect to the internet and external peripherals. Given its small form factor, a SBC will have limitations with computing power compared to something like your laptop. Your laptop could actually be considered a single board computer; however, given the power differences between a Raspberry Pi and let's say, a MacBook Pro, they aren't comparable.

On the other hand, a microcontroller - a tiny computer in its own right - doesn't run an operating system. Instead, a single program is uploaded to a microcontroller to read input from and send output to electronic components. For instance, reading a temperature sensor (input) and displaying the temperature on an LCD (output).

So...what exactly is "an Arduino"?

Arduino is actually a platform that provides both a hardware and software interface that allows you to program microcontrollers to perform very specific tasks. When you hear people refer to "an Arduino" they are probably referring to a hardware device that can be programmed in the Arduino IDE (see image to the right). Arduino hardware devices make programming the on-board microcontroller much easier by allowing access to the pins of the microcontroller itself.

It's worth noting here that not all microcontrollers are programmed with Arduino. The new Raspberry Pi Pico, for instance, is a microcontroller board that is programmed using MicroPython or C/C++.


Additional Resources


Here are a few projects that use Raspberry Pi. We are always trying to expand our library of projects and tutorials, so check back often or fill out the form above to be notified of new content.

Python Programming Tutorial: Getting Started with the Raspberry Pi

June 27, 2018

This guide will show you how to write programs on your Raspberry Pi using Python to control hardware.

How to Use Remote Desktop on the Raspberry Pi with VNC

July 9, 2018

Use RealVNC to connect to your Raspberry Pi to control the graphical desktop remotely across the network.

Raspberry Pi SPI and I2C Tutorial

October 29, 2015

Learn how to use serial I2C and SPI buses on your Raspberry Pi using the wiringPi I/O library for C/C++ and spidev/smbus for Python.

Graph Sensor Data with Python and Matplotlib

July 23, 2018

Use matplotlib to create a real-time plot of temperature data collected from a TMP102 sensor connected to a Raspberry Pi.

Python GUI Guide: Introduction to Tkinter

August 13, 2018

Tkinter is the standard graphical user interface package that comes with Python. This tutorial will show you how to create basic windowed applications as well as complete full-screen dashboard examples complete with live graph updates from matplotlib.

Setting up a Raspberry Pi 3 as an Access Point

April 23, 2018

This guide will show you how to configure a Raspberry Pi as an access point and connect it to your local Ethernet network to share Internet to other WiFi devices.

Raspberry gPIo

October 29, 2015

How to use either Python or C++ to drive the I/O lines on a Raspberry Pi.

Headless Raspberry Pi Setup

April 23, 2018

Configure a Raspberry Pi without a keyboard, mouse, or monitor.