Raspberry Pi setup #
Video omission
Warning! The video above leaves out the step explained below where you enable SSH and set the password. If you get to the login prompt successfully, but the (obsolete) default password doesn’t work, that’s probably why.
Stuff you need (all in your kit) #
- Raspberry Pi 4
- micro SD card
- USB-C power supply
- USB-serial adapter, AKA a console cable
You may also need a USB card reader, if you don’t have a card slot built into your computer. We have extra adapters that you can borrow to write data to your SD card if needed.
To connect the console cable, look at this diagram.
There are more details if you need them in Adafruit’s console cable tutorial. Emily K. also recommends the Sparkfun tutorial.
Setup checklist #
- Install the Raspberry Pi Imager from the Raspberry Pi Software page
- In the Imager, choose the image "Raspberry Pi OS (other)" --> "Raspberry Pi OS Lite (32-bit)"
- Click the gear menu for Advanced Options to enable SSH and set the password for the user
pi
- Edit config.txt on micro SD card to include:
enable_uart=1
- Install the SiLabs CP210X USB driver for the console cable
- Connect RPi to laptop with console cable
- Put micro SD card in slot of Pi
- Install PuTTY (Windows) or open Applications > Utilities > Terminal (macOS) or install Serial (macOS)
- (macOS only) In Terminal, run
ls /dev
and find the entry that saystty.usbserial-XXYYZZ
. Record the numbers you see instead of XXYYZZ. Then runscreen /dev/tty.usbserial-XXYYZ 115200
- (macOS only) If using Serial instead of Terminal, simply open Serial and double click on the USB-serial device that appears
- (Windows only) In PuTTY, start a serial session at 115200 bps to the Pi
- Connect USB-C power cable. Wait a minute or so for the Pi to boot up
- Log in with username
pi
and password you set using the Imager - Run
sudo raspi-config
to set up your wireless connection (Tufts_Wireless as SSID; no passphrase)
What the Imager should look like #
The gear menu doesn’t appear until after you choose the Raspberry Pi OS Lite (32-bit) image.
The advanced options you should pick #
Enable SSH and set the password for the user pi
.
Checklist for Tufts_Wireless #
- Figure out the Pi's MAC address with
ifconfig
. Be sure you get the MAC forwlan0
, noteth0
. - Register that MAC address with Tufts IT at the Tufts registration page. If using Chrome, you'll probably need to use an Incognito window
- Wait a few minutes for MAC address permissions to propagate to local wireless access point
- If you did not use
sudo raspi-config
to list Tufts_Wireless as the network, then add the network settings below to/etc/wpa_supplicant/wpa_supplicant.conf
- Reboot Pi
Network settings for Tufts_Wireless #
network={
ssid="Tufts_Wireless"
key_mgmt=NONE
}
Setup for Tufts_Secure #
There’s a bug in /lib/dhcpcd/dhcpcd-hooks/10-wpa_supplicant
in the current version of Raspbian OS (based on Debian 10.4, Buster). This post explains how to fix it, but we haven’t verified that it works yet: https://medium.com/@iced_burn/raspberry-pi-connected-to-wifi-of-wpa2-enterprise-ddd5a40c0b07
Read the note above about the bug in /lib/dhcpcd/dhcpcd-hooks/10-wpa_supplicant
.
The LA’s can tell you the Nolop_IOT password; we try to avoid publishing passwords on the internet.
Network settings for Tufts_Secure #
network={
ssid="Tufts_Secure"
key_mgmt=WPA-EAP
pairwise=CCMP
eap=PEAP
identity="Nolop_IOT"
password="YOU PUT THE PASSWORD HERE IN QUOTES"
phase2="auth=MSCHAPV2"
}
Connecting to your Pi via SSH instead of serial #
Once you have your Pi connected to the wireless network, and you use ifconfig to find the IP address it has been assigned, you can log into it through SSH instead of through a USB-serial cable.
- Have your Pi’s IP address handy.
- Make sure your Pi is plugged into power. Do not attach the serial console cable.
- Open a new terminal window.
- Type
ssh your_Pi_username@ip_address_of_your_Pi
- You should be prompted for your Pi’s password, and then you should be logged in! No serial cable necessary!
FAQ #
What operating system should I use on my Pi? #
Unless you have a good reason not to, you should start with the Lite version of Raspberry Pi OS. The Raspberry Pi imager will download it for you. Previously called Raspbian, the OS should be based on Debian Buster or newer (as older versions will not work with a Pi 4).
How do I figure out what name is assigned to the USB-serial adapter when I plug it in? #
On Windows 10, it’s usually COM3
(but it is not uncommon to have a different number). You can check for sure in the Device Manager control panel under Ports (COM & LPT)
On macOS, it’s called /dev/tty.usbserial-123456
, but the numbers at the end change. You can check it by running ls /dev
in Terminal.
On Linux it’s called /dev/ttyACM0
, but the number will depend on how many USB devices are plugged in. As with macOS, you can check by running ls /dev
in Terminal.
When I open config.txt with Notepad, the lines all run together. How do I fix this? #
Use a better text editor, like Sublime Text, Textmate, or Notepad++. You could also try Wordpad.
What do the pin numbers correspond to? #
All the most recent Pi’s share a standard pin format. Below is a handy guide. This site is also an excellent resource for reference.
Tutorials from the Raspberry Pi Foundation on using the GPIO pins:
https://projects.raspberrypi.org/en/projects/physical-computing/1