A screenshot of the release page, showing the headline and a crop of the release notes

MicroPython 1.23 Brings Custom USB Devices, OpenAMP, Much More

MicroPython is a wonderful Python interpreter that runs on many higher-end microcontrollers, from ESP8266 to STM32 to the RP2040. MicroPython lets you build devices quickly, and its latest release, 1.23, brings a number of improvements you should be aware of.

The first one is custom USB device support, and it’s a big one. Do you want to build HID devices, or play with MIDI, or do multiple serial streams with help of PIO? Now MicroPython lets you easily create USB devices on a variety of levels, from friendly wrappers for creating HID or MIDI devices, to low-level hooks to let you define your own USB descriptors, with user-friendly libraries to help all the way through. Currently, SAMD and RP2040 ports are supported in this part of code, but you can expect more in the future.

Hooray to 10 years of MicroPython!

There’s more – support for OpenAMP, an inter-core communication protocol, has received a ton of improvements for systems where MicroPython reigns supreme on some of the CPU cores but also communicates with different systems on other cores. A number of improvements have made their way through the codebase, highlighting things we didn’t know MicroPython could do – for instance, did you know that there’s a WebAssembly port in the interpreter, letting you run MicroPython in your browser?

Well, it’s got a significant overhaul in this release, so there’s no better time to check it out than now! Library structure has been refactored to improve CPython compatibility, the RP2040 port receives a 10% performance boost thanks to core improvements, and touches upon areas like PIO and SPI interfaces.

We applaud all contributors involved on this release. MicroPython is now a decade old as of May 3rd, and it keeps trucking on, having firmly earned its place in the hacker ecosystem. If you’ve been playing with MicroPython, remember that there are multiple IDEs, graphics libraries, and you can bring your C code with you!

New Part Day: Pyboard D Is Smaller, Wireless, And Has Expansion Modules

Historically, microcontrollers’ limited computing power and storage space meant software had to be written in low-level languages out of necessity. In recent years small affordable chips grew powerful enough that they could theoretically run higher level languages, sparking numerous efforts to turn that theory into reality. MicroPython delivered on this promise in a big way when their Kickstarter-funded pyboard was delivered along with its open source software. Several years have since passed, and now it is time for an upgraded pyboard: the D-series.

We’ve talked with [Damien George] back when the original Kickstarter was still underway. Since the launch of pyboard and release of MicroPython source code, we’ve played with ports running on an ESP8266 and on a BBC micro:bit. The software ecosystem has continued to grow, most recently we looked at LittlevGL graphics library. But just because all the flashy action has been happening on the software side doesn’t mean the hardware side has been sitting stagnant.

Pyboard-D upgraded from original pyboard’s STM32F4 to more capable STM32F7 chips. Witnessing the popularity of MicroPython on networked darlings ESP8266 and ESP32, there will be a pyboard D variant with a Murata 1DX on board for WiFi and Bluetooth connectivity. The new pyboard will be extremely compact with limited edge connections so a fine-pitched connector is required to bring out all the pins. To bring the new pyboard back to its educational and tinkerer roots, a breakout board will take those pins and spread them out in a breadboard friendly form factor. These breakout boards can also host small (12 mm x 12 mm) “tiles” to add individual features.

The wireless pyboard D will obviously invite comparison tests with an ESP32 running MicroPython, and its hardware expansion tiles invites comparison with Adafruit’s Wings. It’ll be interesting to see how they fare once widely available and we can get our hands on them. If you’ve picked up an earlier release at FOSDEM 2019, we invite you to share your experience in comments.

[via Adafruit blog]

Micro Python Now Runs On The ESP8266 – Contributors Wanted To Get Wifi Working

[Damien] sent us a quick email to let us know that Micro Python, a lean and fast implementation of the Python scripting language on microcontrollers is now running on the ESP8266. You may remember him from his interview on Hackaday, back when Micro Python was still at the crowdfunding stage. His campaign gathered £97k (for a £15k objective) and its comment section let us know that the backers are very happy with what he delivered.

As the very cheap ESP8266 Wifi module is gathering a lot of attention, he implemented support for it. You may use the dedicated files in the main repository ESP8266 folder  together with esp-open-sdk or simply use the precompiled binary available here. Unfortunately the software doesn’t have WiFi support yet, as it’s only a Python REPL prompt over UART at the moment. Contributors are therefore welcome to help speed up the development!

Interview With [Damien George], Creator Of The Micro Python Project

[Damien George] just created Micro Python (Kickstarter alert!), a lean and fast implementation of the Python scripting language that is optimized to run on a microcontroller. It includes a complete parser, compiler, virtual machine, runtime system, garbage collector and was written from scratch. Micro Python currently supports 32-bit ARM processors like the STM32F405 (168MHz Cortex-M4, 1MB flash, 192KB ram) shown in the picture above and will be open source once the already successful campaign finishes. Running your python program is as simple as copying your file to the platform (detected as a mass storage device) and rebooting it. The official micro python board includes a micro SD card slot, 4 LEDs, a switch, a real-time clock, an accelerometer and has plenty of I/O pins to interface many peripherals. A nice video can be found on the campaign page and an interview with the project creator is embedded after the break.

Continue reading “Interview With [Damien George], Creator Of The Micro Python Project”