Welcome to the fifth issue of the MicroPython newsletter.
Last month PyCon AU was held in Sydney, Australia, and on the Friday of the event was the Specialist Track Day with one of the four tracks being dedicated to the Internet of Things.
MicroPython featured heavily at this event and Damien George gave a talk about Writing fast and efficient MicroPython, which you can watch via that link. This talk went into some technical details of how MicroPython works, in order to better understand what it’s doing behind the scenes and how to make the most of it. General techniques for making things run faster were discussed, as well as ways to completely avoid memory allocation, which is important for both efficiency and making code execution deterministic. Making things run efficiently is also a big part of making devices consume less power, which is important because, with so many embedded devices out there, reducing power consumption has a real world impact.
Part of the talk touched on the topic of the native emitter in MicroPython, which compiles Python code directly into machine code so it can run faster than bytecode. A lot of work has been done on MicroPython over the past month to improve support for this native emitter and make it more efficient. The eventual goal with this is to get close to full support for all Python features in the native emitter, to add support for native code in pre-compiled .mpy files, and to allow frozen native code in the firmware.
As well as watching the talk, you can also download the PDF of the talk slides, and the demonstration code ledblink.py and fileread.py.
Other talks at the IoT Specialist Track that featured MicroPython were:
- Matt Trentini, Asyncio in (Micro)Python
- Stacy Morse, Lighting Macro Photographs with CircuitPython
- Brian Danilko, Demystifying LoRaWAN with PyCom
Thanks for reading, and stay tuned for further news about the upcoming new pyboard D-series.
From Damien and the MicroPython team.
(If you're not already subscribed, you can receive this newsletter via email by signing up at: https://micropython.org/newsletter/)