ello supporters of the original MicroPython campaign!
It’s been 10 months since the last update, and a lot of things have happened with MicroPython since then. Let me tell you all about it.
The biggest news is that I am now working on MicroPython full time! I finished my research in theoretical physics and transitioned to working on MicroPython-related things as my day job. I can’t tell you how great it is to have the freedom to make such a decision and to work on something that one really enjoys. Well, I also really enjoy physics research, and I still have an ongoing project in that area, and I will certainly keep up to date with the latest news in high-energy physics. But my main agenda now is to make sure MicroPython is as successful as it can be. There are heaps of things to work on, from hardware sales to software contracts to code improvements, and more. I am extremely fortunate to be able to maintain and work on an open-source software project that I created, and which can sustain itself — and thrive — from sales of hardware. The area of embedded computing and the Internet of Things is becoming more prevalent in mainstream society, and I hope that MicroPython can play an influential role in this arena.
To accelerate the development of MicroPython, Paul Sokolovsky and Viktoriya and I are currently running a second MicroPython Kickstarter campaign. You might have heard of the ESP8266 chip. It’s a cheap and compact little system-on-a-chip which has built-in WiFi, some nice GPIO, and is perfect for running MicroPython. The aim of the second Kickstarter is to raise funds for software development, to make MicroPython run like clockwork on the ESP8266. I know that some of you are already aware of this campaign and have backed it. Thank you! For those that did not yet see this MicroPython+ESP8266 Kickstarter, there are still 5 days left until the end so you still have a chance to be part of it! We have had an amazing response and are now way beyond our target, with 6 stretch goals already passed. If you are interested in this chip please go and check out the campaign and consider backing, to help us reach even more stretch goals. All funds go towards further development of MicroPython, so, even if you don’t plan to use an ESP8266, your contributions to this second Kickstarter are very welcome and will help to ensure MicroPython remains open source software of the highest quality. Visit the second Kickstarter here: https://www.kickstarter.com/projects/214379695/micropython-on-the-esp8266-beautifully-easy-iot
The MicroPython project has collected some impressive statistics since it started. On GitHub it has 2700 stars, 540 forks, 5200 commits and 90 contributors. It is in the top 0.01% of projects on GitHub, and ranks at number 60 out of all projects written in C (ranked by number of stars). There are 7800 posts on our forum, and searching for MicroPython on Google gives 66,000 hits. The pyboard is used around the world in over 65 countries. MicroPython is used in homes, schools, universities, research centres and labs, commercial companies large and small, by the young and not-so-young, as well as hobbyists and professionals.
A new version of the pyboard is now in production, PYBv1.1. This board is a (near) drop-in replacement for PYBv1.0, and has reduced power consumption in sleep mode (down to 6 microamps) and a place to solder a JST battery connector.
There is also now a “lite” version of the pyboard available, PYBLITEv1.0, which is the same form factor as the original pyboard, but is cheaper with a slightly lower spec MCU (STM32F411) and without an accelerometer. But it still has plenty of power and RAM to run Python scripts. There is also a version of the lite board with an accelerometer, PYBLITEv1.0-AC, if you need such a feature. Python code is compatible across all these boards, and you can find a detailed comparison at https://micropython.org/store/#/features
The MicroPython software is updated almost everyday, and the original pyboard from the Kickstarter is still fully supported! The software for PYBv1.0 gets all the new features and bug fixes that go into MicroPython, and this board is still very powerful compared to other development boards out there. If you haven’t upgraded your firmware in a while, and want to try out all the new features, then head over to https://micropython.org/download/
One of the most exciting things to happen in the past year is that I have been doing work for the European Space Agency to see if MicroPython is suitable for going into space! This project is nearly finished and involves research and development into MicroPython to make it more deterministic, robust and efficient, to port it to the SPARC architecture, and evaluate its use in space-based applications. Some of the development work coming out of this project is already available in the main MicroPython code repository; for example 64-bit NaN boxing and persistent bytecode. Doing this project for ESA I have gained confidence in MicroPython’s ability for use in critical systems and industrial settings, and some of the lessons learned have been fed back into the main code.
Another very exciting project is MicroPython running on the BBC micro:bit. The micro:bit is very similar to a pyboard: it has a microcontroller (Nordic nRF51822) with a USB port, an accelerometer, a compass, 2 buttons and a 5×5 matrix of LEDs. It only has 16k of RAM but I managed to get MicroPython running, and running quite well. In collaboration with Nicholas Tollervey, the Python software foundation, and an amazing group of volunteers, MicroPython on the micro:bit has grown into a really fantastic teaching tool with a child-friendly set of (Micro)Python modules to do things like make animations and play music. MicroPython is the official way to use Python on the micro:bit and very soon nearly 1 million UK school kids will have a micro:bit of their very own and have the chance to learn about embedded programming. You can visit the MicroPython-on-micro:bit GitHub page at https://github.com/bbcmicrobit/micropython
You probably know of the WiPy, a MicroPython board that has built-in WiFi and was funded by a successful Kickstarter campaign by Daniel Campora last year. He has now extended the idea of the WiPy and started a company called Pycom which aims to make communication-related boards (think Internet of Things) that run MicroPython. They are also running a Kickstarter right now for their next board, the LoPy, which has LoRa capabilities, as well as WiFi and Bluetooth! Check it out at https://www.kickstarter.com/projects/1795343078/lopy-the-lora-wifi-and-bluetooth-iot-development-p . It’s great to see MicroPython being taken and put into such new and interesting directions, and I look forward to seeing where else Pycom takes it!
I think that’s all of the major things that have happened over the past year. There are of course many other small things, but too many to mention in this update.
Remember that the forum is a great place to talk about MicroPython, ask questions, find answers, and get inspiration for using MicroPython. Please visit the forum at http://forum.micropython.org/
Finally, if you’d like to be kept up-to-date of further progress with MicroPython, please sign up for the newsletter at https://micropython.org/newsletter/ This will be a low-volume email with news and announcements about software and hardware things related to MicroPython.
All the best,