Sphero RVR SDK Python Programmable Robot

The Sphero RVR SDK is now out. You can program the Sphero RVR in Python with the Raspberry Pi. Other options include Microbit and Arduino. Learn more here.

Sphero RVR SDK OutlineSphero RVR SDK Using Raspberry Pi and Python by Kinvert

Here is what we’ll be going over in this article about the Sphero RVR SDK.

Sphero RVR SDK – Intro

Sperho RVR SDK Outroods with Raspberry Pi and Python by Kinvert

The Sphero RVR is an exciting hackable robot from Sphero. What drew me to the Sphero RVR was the SDK and the UART.

SDK is for Software Development Kit. It will allow you to program the Sphero RVR.

UART will allow RVR to communicate with other systems, such as Raspberry Pi, MicroBit, and Arduino. I also hope to make this work with the Parallax Propeller soon.

Basically the Sphero RVR can act as the moving base for your robot projects. This will save you a ton of time trying to get a moving base that would end up about half as good as this is.

Sphero RVR SDK – Features

So far it seems like we can control and read the following through the Sphero RVR SDK and UART:

In particular, the Raspberry Pi can control:

  • LEDS (lights)
  • Motors
  • Infra Red Transmitters
  • Wake and Sleep State

Also, the Raspberry Pi can read:

  • Color Sensors
  • IMU (Intertial Measurement Unit)
  • Infra Red Receivers
  • Battery State
  • Ambient Light
  • App Version

Hopefully we can also get the raw encoder pings in the future but chances are high that would require a hardware hack.

Sphero RVR SDK – Importance

The market is pretty sparse when it comes to easy to set up Python robots.

Anki Cozmo was good on the interactive side. However it was almost impossible to customize the hardware like you can with Sphero RVR and the Sphero RVR SDK. Also Anki went out of business in early 2019.

Having a hardware hackable robot programmable in Python is something that is badly needed and the Sphero RVR SDK helps make that happen.

Sphero RVR SDK – Setup

Sphero RVR Raspberry Pi UART Connection by Kinvert

This will depend on what system you’re using with the Sphero RVR.

Regardless of what you use, you’ll need to get the Sphero EDU App, and update your Sphero RVR.

Then you need to get your software set up for the platform you’re using (at first we’re focusing on Raspberry Pi).

For the Sphero RVR SDK Raspberry Pi setup:

  • Set up Raspberry Pi
  • Download Sphero EDU App
  • Update RVR
  • Clone Sphero RVR GitHub Repo or Download Zip
  • Install Dependencies
  • Connect Raspberry Pi to Sphero RVR UART
  • Run First Program (I suggest LED programs)

We’ll get a more in depth Sphero RVR SDK Installation for you in the future. We only got the robot a couple days ago.

Sphero RVR SDK – Getting Started

Sphero RVR Hackable Robot with IMU Encorders and a UART accessable through SDK

For now we’re just focusing on the projects that are in the Sphero examples. We haven’t had the Sphero RVR SDK in house long enough to make our own getting started projects yet.

Also, check out this tutorial on Sphero’s site.

https://sdk.sphero.com/docs/samples_content/raspberry_pi/python/keyboard_control_sample/

Sphero RVR SDK – Conclusion

The Sphero RVR SDK is a great tool to help get your project moving. For example (tooting my own horn here) I was on the University of Tennessee Graduate Robotics Team, and we won two robotics competitions. We had to spend a significant amount of our time basically creating a worse version of what Sphero made with the Sphero RVR.

If we’d had the Sphero RVR SDK available we could have focused on higher order problems such as the Machine Vision (which is what I was in charge of), and the priority algorithm etc.

I highly recommend the Sphero RVR as a base for your next moving robotics project.

Other articles you might be interested in are Sphero RVR Raspberry Pi and Sphero RVR Project Ideas.

One response to “Sphero RVR SDK Python Programmable Robot

  1. I have been programming robots and drones for a few years. I started with arduino (makeblock) and then switched to RPI. I now use the RPI to send commands to the arduino and run the makeblock sensors/motors.

    I am interested in how you work with the sphero RVR goes. Maybe it will be my next platform.

Leave a Reply

Your email address will not be published. Required fields are marked *