Raspberry Pi OS Update Breaks Sphero RVR SDK

So, I downloaded the disk image yesterday for the Sphero SDK version of Raspberry Pi OS and it worked fine, letting me drive the car, use set_all_leds.py, etc on my Raspberry Pi 3B+. However, after I updated the operating system by typing sudo apt-get update and sudo apt-get upgrade, the Sphero Python scripts no longer work. However, there is no error message.

If I run set_all_leds.py, it will say “Checking RVR Firmware” and then return to command prompt without turning the lights red. The only difference from when it worked is that I ran the latest OS updates.

try to run the .py scripts with $ sudo

I did. No improvement.

Hi @geekinchief,

I’m sorry to hear that you’ve run into problems with our SDK. Although we did put a lot of work into our recent SDK update, you’ve pointed out two holes in our process:

  1. I don’t think I updated anything on my Pi other than the Sphero SDK after initial setup, so it’s certainly possible that something broke and you’re the first to report it.
  2. The Raspbian image linked from https://sdk.sphero.com/docs/getting_started/raspberry_pi/raspberry_pi_setup/ was left out of the release process, so it still contains the original v1.0.0 SDK release. This image should really be brought up to date, and I’ve added it to our backlog.

In the meantime, I’d like to figure out what’s going wrong for you. Here’s an initial debugging list:

  1. Update your SDK. There was a bug in the v1.0.0 SDK release that was just fixed a couple weeks ago, and sometimes caused SDK scripts to hang at the firmware update check. You can update by navigating to the top level SDK directory (for me, this is ~/sphero-sdk-raspberrypi-python), and running git pull
    After updating the SDK, you’ll also want to update your RVR’s firmware (details here) to make sure you have firmware that supports all the new features in the latest SDK.
  2. Check your GND wiring. Make sure you have GND connected between the RVR and the Pi. If you’re powering the Pi from RVR’s USB port, it will have a GND via the USB cable. Otherwise, you’ll need a wire from GND on the RVR expansion port to one of the GND pins on the Pi I/O header.
  3. Check your UART wiring. Make sure that RX on the Pi is connected to TX on RVR, and vice versa. If you’re unsure, just swap the wires and try it - you won’t hurt anything if it’s backwards.
  4. Go through the RVR Raspberry Pi setup instructions again to make sure you have your Python virtual environment set up with the correct Python version and your Pi settings are correct for the serial port (enabled) and serial console (disabled).

If none of that works, let me know and we can enable verbose logging to dig deeper.


So I updated the firmware and now nothing works. I cannot update the SDK because when I type “git pull” it gives me a “could not read from remote repository” error.

Edit: I got this to work by deleting the sphero-sdk folder and doing a new git clone. I still haven’t updated the OS completely. will try that now.

So I updating the OS broke the SDK again in the sense that it doesn’t give any error messages but still fails to actually perform any of the commands. Have you guys tested this with all the latest Raspberry Pi OS updates installed?

SPHERO Email Marketing -