Getting Started with the Autonomous Kit for the Sphero RVR

Contributors: santaimpersonator
Favorited Favorite 3

Software Overview: Part 1 - Raspbian OS

Raspbian is a Debian based, Linux operating system (OS) that has been optimized for the Raspberry Pi and it's ARM "CPU". Although Raspbian was primarily created through the efforts of Mike Thompson (mpthompson) and Peter Green (plugwash) as an independent project, it has since been adopted as the official OS of the Raspberry Pi Foundation1.

While there are many aspects of the Raspbian OS and the Raspberry Pi that could be covered, this section will primarily focus on the necessities for the SparkFun autonomous kits. This includes some basic commands and tools for the Raspbian OS.

(*More information on the Raspberry Pi and the Rasbian OS can be found on the Raspberry Pi Foundation's website.)

1. For more details, check out

Suggested Tutorials:

For users who have never used a Raspberry Pi and the Raspbian OS, these are great tutorials to start with.

Getting Started with the Raspberry Pi Zero Wireless

July 13, 2017

Learn how to setup, configure and use the smallest Raspberry Pi yet, the Raspberry Pi Zero - Wireless.

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.

Command-Line or Terminal

The terminal (emulator) allow users to access the command-line interface (CLI) through the Linux console. From the command-line, users can access and configure all the necessary parts of this kit. To begin, here are a few simple commands that users should familiarize themselves with.

(*More information on the terminal can be found on the Raspberry Pi Foundation's website. For more information on the commands below, click on the bolded header/code box.)


sudo (pronounced sue-due or su-doo)

A prefix that allows users to execute tasks with the security privileges of another user (default: the superuser). Often referred to as superuser do or substitute user do. For this kit, users will primarily need to use these privileges for configuration purposes. Otherwise, the other two most common usages are for shutting down and rebooting the Raspberry Pi.

  • sudo shutdown now- Commands system to shutdown without a delay.
  • sudo reboot- Commands system to reboot.

Directory Navigation


The change directory command allows users to easily change the current working directory in order to navigate through the file system. For this command, there are common usages:

  • cd ~- Reverts back to the home directory.
  • cd ..- Moves up a directory towards the root folder.
  • cd folder- Moves the current working directory down into folder.


The list command allows users to list files in the current working directory.


The print working directory command display where the current working directory is located in the file system.


hostname -I

Allows a user to look up the domain name (or IP address) of the system.


A system administrative utility for the network interface configuration. It displays the configuration settings of all network interfaces, including the IP address of the system.


A computer network utility that is used to test the connection to a host (IP address). It displays with the response time for the system to reach the host and ping back (in ms).

  • ping <IP Address>- Pings IP Address, commonly found in a 192.168.X.X format for home WiFi networks.

(*For other common commands, check out the Raspberry Pi Foundation's website.)

Applications & Tools


Nano is a simple text editor.

  • nano filename.ext- Modify filename with .ext extension in text editor.
  • To exit and save changes- Ctrl + X, at prompt Y, and then Enter or Return


An I2C bus probing tool for Linux.

  • i2cdetect -y 1- Pings the I2C bus and returns a list of I2C address, where devices have responded.

Depending on how the the I2C device operates, the following commands may not work:

  • i2cdump -y 1 <I2C Address>- A dump of the values stored in the available registers.
  • i2cget -y 1 <I2C Address> <Register>- A read operation to retrieve a byte stored in a specific register, at the I2C address.
  • i2cset -y 1 <I2C Address> <Register> <Value>- A write operation to set a byte to a specific register, at the I2C address.

Keyboard Commands

  • Ctrl + C- Kill process (sends interrupt command).
  • Ctrl + D- Exit (sends end of file command).

(*More information on the Linux OS can be found on the Raspberry Pi Foundation's website.)