Setting Up a Raspberry Pi 3B, Camera Module, and iRobot Create: A Complete CS424 Guide
- Introduction
The Raspberry Pi 3 Model B is a versatile single‑board computer equipped with USB, Wi‑Fi, Bluetooth, Ethernet, HDMI, audio, and GPIO pins. In CS424 we’ll use this board to control an iRobot Create, leveraging its robust hardware: a 4‑core 1.2 GHz processor and 1 GB of RAM. The minimum hardware required includes:
- A Raspberry Pi 3B motherboard
- A 32‑GB microSD card (with adapter if needed)
- A 5 V power supply (e.g., CanaKit)
- The Raspberry Pi Camera Module v2 for vision
- Install the Raspbian Operating System
- Method 1: Using NOOBS (New Out‑of‑Box Software)
NOOBS offers the simplest path. Download the “offline and network install” package from Raspberry Pi Downloads and follow the NOOBS installation guide. Extract the ZIP and copy its contents to the microSD card. Eject the card safely to avoid corruption.
Boot the Pi with the card inserted, connect an HDMI display, USB keyboard, and mouse, and power it up. The OS installation wizard will guide you through setting locale, time zone, and user credentials. Once Raspbian is installed, skip to the configuration section.
- Method 2: Flashing a Raspbian Image Directly
Download the full desktop image from Raspberry Pi OS Downloads. Follow the platform‑specific instructions for Mac, Linux, or Windows (Mac, Linux, Windows) to write the image to the microSD card. After flashing, insert the card into the Pi and power it on to complete the first boot.
- Method 1: Using NOOBS (New Out‑of‑Box Software)
- Initial Configuration
- Set the Hostname
Edit
/etc/hostsand/etc/hostnameto change the defaultraspberrypito a unique name likerobotpi4(replace “4” with your group number). Usesudo nanoor your preferred editor. Remember to save and exit. - Configure Wi‑Fi
Add your home network credentials to
/etc/wpa_supplicant/wpa_supplicant.conf:
For IllinoisNet Enterprise, generate a password hash with:network={ ssid="your_home_wifi_name" psk="your_home_wifi_passphrase" key_mgmt=WPA-PSK }
Insert the resulting hash into the configuration block:echo -n 'your_netid_password' | iconv -t utf16le | openssl md4
Replace the hash andnetwork={ ssid="IllinoisNet" key_mgmt=WPA-EAP proto=WPA2 eap=PEAP ca_cert="/etc/ssl/certs/AddTrust_External_Root.pem" identity="your_net_id" password=hash:6602f435f01b9173889a8d3b9bdcfd0b phase1="peapver=0" phase2="MSCHAPV2" }your_net_idaccordingly. Remove the plaintext password from your shell history withhistory -cw. - Enable DHCP for Network Interfaces
Edit
/etc/network/interfacesto change all occurrences ofmanualtodhcp:auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf allow-hotplug wlan1 iface wlan1 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf - Set Up a Simple Discovery Protocol
Create a script that notifies the central server whenever a network interface comes up. Run:
Insert the following content (replace backticks with actual backticks in your editor):sudo touch /etc/network/if-up.d/robotpi sudo chmod 755 /etc/network/if-up.d/robotpi sudo nano /etc/network/if-up.d/robotpi
Save and exit. Reboot the Pi with#!/bin/sh curl --data "hostname=$(hostname)&data=$(ifconfig)" \ https://apollo3.cs.illinois.edu/robotpi/controller.py/send_heartbeatsudo rebootto apply changes.
- Set the Hostname
- Alternative Initial Configuration via SSH or Direct Card Editing
- Via Wired Connection
Connect the Pi to a router with an Ethernet cable. After boot, find its IP (e.g.,
192.168.x.x) via the router’s admin panel or by pingingraspberrypi.local. SSH in:
Apply the hostname, Wi‑Fi, DHCP, and discovery settings as above.ssh [email protected] 192.168.x.x - Direct microSD Card Editing (No Boot)
Boot a Linux system (or a Ubuntu Live USB), insert the microSD card, and mount the root filesystem. The directories are typically under
/media/username/or/run/media/username/. Edit the same files as in the booted method, but use paths prefixed with a dot (e.g.,./etc/hosts). After editing, unmount and safely eject the card.
- Via Wired Connection
- Testing the Setup
Power the Pi with the microSD card and CanaKit supply. Wait a few minutes for boot. Open a web browser on any network‑connected computer and navigate to https://apollo3.cs.illinois.edu/robotpi. The dashboard will list all active Raspberry Pi nodes, showing hostname, timestamp, and wireless IP.
Verify connectivity by SSHing into the Pi using the IP displayed:
Use the default passwordssh [email protected] 10.195.29.33raspberryunless you’ve changed it. To shut down safely, runsudo shutdown now. To reboot immediately, usesudo reboot now.
Manufacturing process
- Seamless MQTT Integration: NodeMCU DHT22 Sensors with Raspberry Pi 3 B+ as Broker
- Build a Remote Temperature Sensor with Raspberry Pi and Python – Step‑by‑Step Guide
- Build a Multi‑Sensor Temperature & Light Monitoring System with Raspberry Pi & DS18B20
- Mastering Raspberry Pi Sensor & Actuator Control: Accelerometer, Servo, and Data Streaming
- Raspberry Pi Home Security System: PIR Motion Detection + Camera Email Alerts
- Installing a Raspberry Pi Camera in a Birdhouse – Step‑by‑Step Guide
- Setting Up a Raspberry Pi 3B, Camera Module, and iRobot Create: A Complete CS424 Guide
- Build a Raspberry Pi 3 & Arduino Laptop: Step‑by‑Step Guide
- Mastering the Raspberry Pi Camera Pinout: A Complete Guide to Setup and Usage
- Understanding Camera Modules: Definition, Types, and Key Components