Python and Gameduino

The Gameduino asset converter - which is written in Python - now has a fairly complete set of bindings for Gameduio 2, 3 and 3X. These let you drive the FTDI EVE series (the FT800, FT810 and the new BT815) from Python, using an API that follows quite naturally from the EVE hardware:

​   e = EVE(...)
   e.ClearColorRGB(0x008000)
   e.Clear()
   e.cmd_text(20, 20, 31, 0, "Hello from Python")
   e.swap()
This image was deleted by MailChimp when they shut down TinyLetter.
Here Python is running on my laptop, talking to a SPIDriver, which is driving a prototype GD3X. The module is written so that it can use other SPI transports. Extending it to run under MicroPython is simple, as is support for the Zerynth Python-based IoT middleware. More news on these in the next few weeks.

Why Python? It's much easier to write games and apps in Python than in C++. Over the last few years Python has become increasing practical for embedded systems - thanks to MicroPython and Zerynth. What I really like about working in Python is the way it lets me focus on the actual application code - it's so easy in C/C++ to get lobogged down in implementation details. Often a Python implementation of an idea can be done in a fraction of the time.

Here's a few lines of code drawing a geometric pattern. Easy stuff.

This image was deleted by MailChimp when they shut down TinyLetter.

The second great thing is Python's portability. It's quite possible to run a Python 3 application on the PC-SPIDriver, then just copy the Python source to a MicroPython board and have it behave identically. That's a huge convenience for a developer - you can develop and debug things in the comfort of your preferred development environment.

I'll be doing more with Python in the next few weeks as the GD3X launch approaches. Of course all the ongoing Excamera projects have a strong Python base, with public modules installable via pip: Thanks for reading.