# rover-pi Scripts and documentation for setting up a Raspberry Pi (Zero W 1 or 2) for use in Mechatronics 1 or Cyberphysical Systems. This single-board Linux computer is equivalent in power to the Raspberry Pi 2 but in a smaller form factor, includes WiFi and Bluetooth, and is very affordable at 15USD. For operations that need higher computing power, we recommend the Raspberry Pi 3 or 4 which can be purchased later. # Procedure 1. [Raspberry Pi Imager procedure to setup ssh and Raspberry Pi Connect](imager.md) 1. Find out your Pi's ethernet addresss in case you need to find it on `iot-research` again. Type `ip addr show dev wlan0` and for something like `link/ether 01:23:45:67:89:ab`. Write this information (the 12 characters and colons) in your notebook. In T-411-MECH we want you to put this information in a spreadsheet links from the main page: this allows us connect Pi's to people in case of any issues. 1. [Solder the GPIO header pins](solder-gpio.md) 1. [Gadget Mode to setup a serial connection over USB](gadget.md) 1. [Marcel's script on github to show the IP address on the OLED screen](https://github.com/mkyas/cpsy-display-ip) ## RU student-only guides at ROB-IOT - [Starting on Raspberry Pi Zero](https://reykjavik.instructure.com/courses/6589/pages/starting-on-raspberry-pi-zero-w) ## References and Links - [Guide to creating ssh keys](https://pimylifeup.com/raspberry-pi-ssh-keys/) Of note, this guide is a little dated as it suggests using RSA keys and many people are moving toward EDCSA keys. - [Raspberry Pi Connect](https://connect.raspberrypi.com) - [Setting up Raspberry Pi Connect](https://www.raspberrypi.com/documentation/services/connect.html) - [Raspberry Pi Zero Headless Quick Start](https://learn.adafruit.com/raspberry-pi-zero-creation) This guide assumes you have a serial cable adapter you can plug into the RX/TX serial pins on the Pi. - [Pi Headless Configuration over Bluetooth](https://hacks.mozilla.org/2017/02/headless-raspberry-pi-configuration-over-bluetooth/) Guide from 2017 on how to setup a serial console over Bluetooth - [Turning your Raspberry Pi Zero into a USB Gadget](https://learn.adafruit.com/turning-your-raspberry-pi-zero-into-a-usb-gadget/serial-gadget) Official Adafruit guide to gadget mode to allow the USB port to be used as a serial console to connect to it. We had trouble getting it to work in 2026 due to some changes in Raspberry Pi OS. - [Python gpiozero library](https://gpiozero.readthedocs.io/en/stable/) a simple interface for working with GPIO devices - [CircuitPython Libraries on Linux and Raspberry Pi](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi) This is one option for GPIO, I2C, SPI, and PWM access in python. ## For the Future - [Setting up Zeroconf to use local names (.local) to access your Pi](https://learn.adafruit.com/bonjour-zeroconf-networking-for-windows-and-linux): this does not work on iot-research because multicast and MDNS are broken. - [MDNS on iot-research](mdns.md) MDNS is still an ongoing development. ## TODO - Finding the Pi using `nmap` or `arp` # Some Tricks Here is a page of tricks we have discovered that may involve advanced techniques. Credit: Daníel Bjartur Guðmundsson, transcribed by Joseph T. Foley 1. Check for list of networks: nmcli device wifi list 1. Show details of "preconfigured" network: nmcli connection show preconfigured 1. Change the SSID (which wireless network you will connect to) in the "New_SSID": nmcli connection modify preconfigured wifi.ssid "New_SSID" 1. Change the wireless access password in the "New_Password": nmcli connection modify preconfigured wifi-sec.psk "New_Password"