Python 2 or Python 3?

Dusting off a GoPiGo my older son used for my younger boy and he’s excited about learning to use it and Python. I’d like him to start learning Python via Codeacademy and would like him to learn Python 3 but wanted to make sure that GoPiGo is set up now to handle Python 3. Is it? Or should I have him learn Python 2 so he’s not confused when he starts doing some GoPiGo projects?


The latest GoPiGo OS (v 3.0.3 June 2022) is the official supported platform for the GoPiGo3 and all examples run in Python3. Since Python2 was obsoleted, ModRobotics updated to use Python3.

GoPiGo OS offers a WiFi access point by default, but can be changed to connect to your home router to make working with it easier. Get it here: GoPiGo Software ·

It offers Jupyter, command line, and remote desktop, along with the Bloxter graphic programming environment that you can see the Python that each block is actually running.

This is a graphic showing learning Python in the Jupyter env:

of course there are lots of ways to learn and lots to learn with the GoPiGo3.

(I’m just a GoPiGo3 user - no connection to ModRobotics)

Official support for the GoPiGo3 is now at but there are also folks here on the forum to give you an ear full anytime you ask.

Btw, is the board of your GoPiGo red?


Thanks! And, yes, the GoPiGo card is red. Is that good or bad?


Good, it means it is a “not that old” version GoPiGo3. You may want to “upgrade” your battery to the current Li-Ion battery w/ charger if you are planning on purchasing 8 new rechargeable AA cells.

From Amazon (also has a spare 5V USB in case you get into ROS eventually) at $26:

From ModRobotics (sadly $49 plus shipping):

Of course it is possible to get started programming without driving using a Raspberry Pi power-supply to the processor.


Welcome in!

If you have a GoPiGo3, (red board), and a Pi-3,or better, you are good-to-go.

What “version” of the GPG do you have?  What attachments and stuff came with it?

Do you have the distance sensor and servo mount for it?

I am going to assume it came with an 8-cell battery pack, right?  If you have the 8-cell battery pack, cover both ends where the contacts are exposed with electrical tape to avoid inadvertent short circuits.

You can order the TalentCell battery packs when you’re ready and use high capacity NiMH batteries in the meantime.

How old is the younger son?  How much programming experience does he have?


Absolutely true, but I recommend asking questions here first as this helps everyone else too.

Again, welcome in!


Welcome @johnhoskinson to the forum and (again?) to GoPiGo robotics!


Ahhh, but the TalentCell power pack from Modular Robotics has the handy short male-to-male barrel connectors to bring power from the TalentCell to the red GoPiGo3 board. The TalentCell from Amazon has a (longer?) Y-Connector instead - wonder if you can charge the power pack AND power the GoPiGo at the same time? Hmmmm…


thanks - I was eyeing the rechargeable battery but the cost was a little higher than I wanted to spend before I know whether he’ll take to it like his brother did. The TalentCell was a nice suggestion and I purchased that.


I definitely have a GoPiGo3 and a PI-3 (2015). My son just turned 10 and he has a good amount of experience programming in Scratch and he started a Python 3 class on CodeAcademy this morning and is VERY excited about it so far.

I have quite a few peripheries (everything but the line follower and the servo, I believe).

Quick question to remind my own dusty memories - how do I go about updating the OS to GoPiGo from Dexter? Just download it and throw it on the mini-SD? Or do I have to do anything to unpack it first?

Thank you all for the quick and friendly responses!


Yes, I run ROSbot Dave for days at a time plugging in while running when the voltage reading egpg.volt() gets down near 8.7v ( 9.5v at the battery, 15 minutes to spare) and unplugging when the egpg.volt() reaches 11.8v to 11.9v (12.4v at the battery is fully charged, the charger will be trying to apply 12.6v and then see what the battery drops to when the “charging voltage” is lowered). I have also just left Dave running for days at a time without unplugging the charger. The battery has its own BMS protection for safety but I am sure my usage is not the best for getting the longest battery life.

Note: The diode (and cable) drop is different for different bots, but Dave is 0.8v when discharging and 0.5v when charging. The Li-Ion battery will auto shutoff around 8.4 v at the battery or around 7.6v egpg.volt() reading.


Thanks @cyclicalobsessive for that experiential info!


There is no “update” allowed. Yes, download the GoPiGo OS image, and use the Raspberry Pi Imager, choosing Custom OS to write it. I was never successful trying to set any custom settings, just write it and follow the guide to get connected (and switching to router later if desired)


I always recommend two, so one can be used while the other is charging.

Another trick is a 4+ amp, clean 12v wall supply with a barrel connector that you can use to power the 'bot “on the bench” while programming.  Just be careful that it doesn’t fall off the workspace! :wink:


As I have said before. . .

I like robotics as a programming education environment because your program actually does something, instead of making sounds or moving a sprite on the screen.

Doing things in a real three-dimensional realm, is a horse of an entirely different hue.

The necessity to respect the robot’s space and be spatially aware of the robot’s actions adds a whole new dimension to programming.

The possibility of faceplants and other inadvertently destructive behavior requires the programmer to understand the hardware aspects of the project as well as the purely software aspects.



You can still use it while it is being charged, with the twin plug cable (that comes with the Amazon version).

I charge on the floor, so the warning is “Don’t spin or drive too far”


With an inertial measurement unit to detect faceplants, and some fancy driving, a robot may be able to recover from faceplants!