CircuitPython libraries and adafruit-blinka will work on any Raspberry Pi board! That means the original 1, the Pi 2, Pi 3, Pi 4, Pi Zero, Pi Zero 2 W, or even the compute module.
At this time, Blinka requires Python version 3.6 or later, which means you will need to at least be running Raspberry Pi OS Buster.
At this time, we do not support the 64-bit version of Raspberry Pi OS.

Prerequisite Pi Setup!

In this page we'll assume you've already gotten your Raspberry Pi up and running and can log into the command line

Here's the quick-start for people with some experience:

  1. Download the latest Raspberry Pi OS or Raspberry Pi OS Lite to your computer
  2. Burn the OS image to your MicroSD card using your computer
  3. Re-plug the SD card into your computer (don't use your Pi yet!) and set up your wifi connection by editing supplicant.conf
  4. Activate SSH support
  5. Plug the SD card into the Pi
  6. If you have an HDMI monitor we recommend connecting it so you can see that the Pi is booting OK
  7. Plug in power to the Pi - you will see the green LED flicker a little. The Pi will reboot while it sets up so wait a good 10 minutes
  8. If you are running Windows on your computer, install Bonjour support so you can use .local names, you'll need to reboot Windows after installation
  9. You can then ssh into raspberrypi.local

The Pi Foundation has tons of guides as well

We really really recommend the lastest Raspberry Pi OS only. If you have an older Raspberry Pi OS install, run "sudo apt-get update" and "sudo apt-get upgrade" to get the latest OS!

Update Your Pi and Python

Run the standard updates:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install python3-pip


sudo pip3 install --upgrade setuptools

Python2 support has been dropped, so you will need to either use pip3 and python3 as commands or set Python 3 as the default python install.

We put together a script to easily make sure your Pi is correctly configured and install Blinka. It requires just a few commands to run. Most of it is installing the dependencies.

cd ~
sudo pip3 install --upgrade adafruit-python-shell
sudo python3

If your system default Python is Python 2 (which is likely on a first install), it will ask to confirm that you want to proceed. Choose yes.

It may take a few minutes to run. When it finishes, it will ask you if you would like to reboot. Choose yes.

Once it reboots, the connection will close. After a couple of minutes, you can reconnect.

Check I2C and SPI

The script will automatically enable I2C and SPI. You can run the following command to verify:

ls /dev/i2c* /dev/spi*

You should see the response

/dev/i2c-1 /dev/spidev0.0 /dev/spidev0.1

Enabling Second SPI

If you are using the main SPI port for a display or something and need another hardware SPI port, you can enable it by adding the line


to the bottom of /boot/config.txt and rebooting. You'll then see the addition of some /dev/spidev1.x devices:

Blinka Test

Create a new file called with nano or your favorite text editor and put the following in:

import board
import digitalio
import busio

print("Hello blinka!")

# Try to great a Digital input
pin = digitalio.DigitalInOut(board.D4)
print("Digital IO ok!")

# Try to create an I2C device
i2c = busio.I2C(board.SCL, board.SDA)
print("I2C ok!")

# Try to create an SPI device
spi = busio.SPI(board.SCLK, board.MOSI, board.MISO)
print("SPI ok!")


Save it and run at the command line with


You should see the following, indicating digital i/o, I2C and SPI all worked

This guide was first published on Jun 30, 2018. It was last updated on 2021-11-16 18:34:05 -0500.

This page (Installing CircuitPython Libraries on Raspberry Pi) was last updated on Dec 04, 2021.

Text editor powered by tinymce.