Raspberry Pi SDK setup problems

Hey @ggtechteacher!

The image is here, in “Method 1” :smiley:

Hope this helps!!


1 Like

That’s great that you guys did that…I spent a lot of time on this (fill in the blank). However, I am a teacher, so it’s not time spent wasted, it’s time spent learning (of what doesn’t work).
I got so far and feel like I’m close…This is what I got after following the help that you just posted (much appreciated btw…thanks!)

(pi) pi@raspberrypi:/sphero-sdk-raspberrypi-python/getting_started/asyncio/leds $ python set_all_leds.py
Checking RVR firmware versions…
Checking CMS firmware versions…
Traceback (most recent call last):
File “set_all_leds.py”, line 16, in
File “/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/toys/sphero_rvr_async.py”, line 36, in init
File “/usr/lib/python3.7/asyncio/base_events.py”, line 584, in run_until_complete
return future.result()
File “/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/firmware/rvr_fw_check_async.py”, line 44, in _check_rvr_fw
File “/sphero-sdk-raspberrypi-python/sphero_sdk/common/firmware/cms_fw_check_base.py”, line 93, in _write_timestamp
with open(’{}/.fw’.format(self.__root_path), ‘w’) as file:
PermissionError: [Errno 13] Permission denied: ‘/sphero-sdk-raspberrypi-python/.fw’


issue has been resolved.


Thank you for the image. That saved a lot of time and frustration.

I am still not able to run a program however.

I am not sure what I am doing wrong…

1 Like

Hey @schmitz_christopher!

Sorry you hit a wall just as you thought you had crossed the finish line!

The issue is that you are running pipenv shell outside of the sdk folder, so…

To remove the VM from the /home/pi directory:

  1. cd ~
  2. pipenv -rm

To add activate the VM in the sphero-sdk-raspberrypi-python directory:

  1. cd ~/sphero-sdk-raspberrypi-python
  2. pipenv shell

Hope this helps!


1 Like

So I’m using the image I got from the SDK site. I hadn’t checked. I thought the image was Set-Up ?

1 Like

We should’ve been a little more clear about the VM activation instructions. The updated instructions @brightnbubbly provided should do the trick. We will update our online guide to be more specific.

1 Like

Yes, I also thought this.

1 Like


You are right; the image is a complete setup of all of the versioning and settings you need for your Pi :slight_smile:

The confusion came in regards to the Virtual Machine, which it looked like @schmitz_christopher was making use of, but in the wrong directory. We are going to add more clarification to our guide to ensure people are setting up and running their virtual machines in the correct location on their Pi :slight_smile:


Me happy. Me thankful.


Hi, did you finally get any of the python sample progs to run on your rvr? I’ve spent two days trying both ‘methods’ on the sphero page, and following the various suggestions linked from this thread and still no joy. Latest problem I’m getting is “No Module Named ‘idna_ssl’”. when using Python 3.5.4 in the pipenv shell trying to run the ‘get_main_app_version.py’ in asynchio folder (following lots of trials trying the ‘leds’ samples to no joy either).

1 Like

Had no issues running the python code right off the desktop. The error your getting looks like it’s trying to connect to there network and get the current version of the firmware. This requires an HTTPS connection to get the version info.



So now it is saying pinev is an unknown module regardless of directory I try to run it in. This happened after I did the asyncio procedure everyone was recommending to get my Python to default to 3.7. Any suggestions?

1 Like

Here is a video I made running a raspberry pi connected to a RVR.

This is a current install of Raspbian.

I ran the python code using the desktop app with no environment setup before hand.

Connecting a Pi to RVR Video



Update: I upgraded to a Raspberry Pi 4 and all seems to be working fine now following the instructions on Sphero Dev page.


Hi, newbie here.

I started with the sparkfun pre-compiled SDK and was able to communicate with RVR via WIFI on my Pi ZERO W. WASD drive was working, but once only. The next day when I tried to connect, the drive_wasd scripts will crash. After days of trying, I decided to start fresh with Sphero SDK and image.

It still does not work. Moments after the checking firmware step, the program will exit and it looks like a timeout error as follows.

I am sure RVR is responding because the moment the script is started, the LED will start to blink but I just cannot go beyond the check firmware stage. Does anyone has similar experience before?

I have tried to change the permission on tty without any success either.

Thanks for your help in advance!


Timeouts during “Checking RVR firmware versions…” frequently (in my experience) mean the RVR hasn’t been able to check for a firmware update in too long and it’s refusing to connect.

I believe all you have to do is connect once from the Sphero Edu app and then the update counter will reset (for another 30/90/? days).

Additional notes:

  • It would be nice if the error message were more specific.
  • Is there a way to disable this check? It’s almost like DRM…

@c13 No luck unfortunately. I even tried to force firmware reload on via Edu app but the timeout error never go away and I am still stucked. My next step is to get a scope to see if there is anything coming out of RVR RXD in

Hello @c13,

We are still investigating this bug.
You can use this workaround for now if you would like concurrent.futures._base.TimeoutError.

I hope this helps,


Hi @quentin, I did a simple mod to remove the firmware check.

if not self._should_run_firmware_check()
if self._should_run_firmware_check()
so that an immediate return will happen and bypass the check. So the error is gone and I can enter WASD keys and the console will echo the key. However, rvr is not moving. Is there any other things that can happen? My serial shell is disabled on Raspberry.