Python based curriculum for Arduino Uno

Has anyone heard of or successfully used Python as the programming language when teaching Arduino?

Not yet.
Not even micro Python

I saw this online but wasn't sure if this would overly confuse the whole thing and be more of a hassle. It is called pyfirmata.

It wouldn't be Arduino if it was python. The famous form factor of Uno etc is becoming less and less common. Newer Arduino models are far more sensible/practical Breadboard-compatible form factors. The arduino IDE's dominance is threatened by web-based and more sophisticated rivals. Today, the Arduino language is the most important thing that makes an Arduino an Arduino, in my opinion.

I think they misspelled "slowly" there

Unos preloaded with the Firmata firmware or something similar would be a nice accessory for a more advanced level curriculum for programming PCs with Python. I think the students would be inspired by the ability to write Python scripts that run on a computer, but interact with the Uno board (e.g., blinking LEDs, moving motors, reading inputs). Note that, although you could use a Raspberry Pi single board computer as the computer in this application, any PC will do just as well or better and likely the Raspberry Pi is not the most economical option.


However, it will not be possible to write firmware for the Uno in Python because that board simply doesn't have the resources to support the overhead of MicroPython or CircuitPython.

So if you are set on using Python for writing microcontroller firmware you will need to use a more capable board.

More information:

I haven't heard yet ..

we can use OpenMV, a platform that supports programming Arduino boards with MicroPython

Here is the problem that I see: Python is being updated rather often and your old stuff will not always work with a new version.

Funny how this is announced on twitter and reddit.com/r/arduino but not on this forum. It is indirectly announced on arduino discord because it mirrors arduino twitter and reddit posts.

I am disappointed I do not have any of the supported boards. No support (not surprising) for AVR CPUs. CircuitPython does not work on AVR either but CP works on many low-end ARM CPUs such as SAMD21.

But CircuitPython is pretty far from offering the richness of true Python…
The question is what’s the pedagogical goal/intent?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.