The next chapter for electronics is Python, from powerful Raspberry Pi computers to low-cost microcontrollers which are able to drive robotics, to running Machine Learning, the most popular programming language in the world (Python) has arrived on hardware, and we have MicroPython and its creator, Damien George, to thank.
First up, what is MicroPython? Glad you asked, here it is directly from micropython.org –
MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments.
The MicroPython pyboard is a compact electronic circuit board that runs MicroPython on the bare metal, giving you a low-level Python operating system that can be used to control all kinds of electronic projects.
MicroPython is packed full of advanced features such as an interactive prompt, arbitrary precision integers, closures, list comprehension, generators, exception handling and more. Yet it is compact enough to fit and run within just 256k of code space and 16k of RAM.
MicroPython aims to be as compatible with normal Python as possible to allow you to transfer code with ease from the desktop to a microcontroller or embedded system.
There’s also a good history of MicroPython over on Wikipedia, and we’ve posted about some of the early days, history, and its recent 6th birthday…
- 29th April 2013: first line of code written (in private, before anyone knew about it, before it was even called Micro-Python)
- 17th Sept 2013: first code running on a microcontroller, on the very first prototype of the pyboard
- 2nd Oct 2013: register micropython.org
- 4th Oct 2013: first commit in what is now the main repository
- late Dec 2013: source code up on GitHub
- 21st June 2014: last of the Kickstarter rewards sent out (for the first Kickstarter)
The Early Days of MicroPython – YouTube.
April 29, 2019 is the sixth ‘birthday’ of MicroPython. At the April Melbourne Meetup, Damien George, creator of MicroPython, delves into his archives and shows the earliest code and notes about the goals of the language. The material pre-dates the first git commit! Listen in as Damien reveals how and why the language began and evolved. It’s a nice way to celebrate MicroPython’s sixth birthday!
In newsletter #8 from MicroPython, Damien published some never-before-seen details about the start of MicroPython.
Here is an excerpt from the initial notes. The title is “Python board” and the date is 29 April 2013:
Python board 29/4/2013
The smallest, cheapest python.
A piece of hardware that is small and cheap, runs python scripts, and has good low-level access to hardware. If we can do it with a single chip, that would keep it small and cheap. Need then something with a large amount of flash and a decent amount of RAM, that also is cheap enough. Atmel SAM’s have order 1MiB flash and 128KiB SRAM, for around $10 one-off.
- Implements Python 3 core language.
- Flash presents as a flash drive with vfat filesystem.
- Put python scripts on flash and it runs them (maybe have a (multicolour?) led that flashes on error and writes a “core” dump to the flash). This led can also double as a user output led.
- Can run multiple scripts on once.
Our strength would be small, cheap, simple, easy to replicate.
Can have a range of boards with different features. But all must be basically compatible and capable of running the same scripts.
In addition to the open-source software, the PyBoard (2013) is open-source hardware.
You can learn more about MicroPython and keep up-to-date with developments via the following resources:
- Subscribe to the newsletter.
- Read the documentation.
- Join the community at the forum.
- Submit bug reports, and follow and join in development on GitHub.
- Join the MicroPython Slack.
Open source hardware month @ Adafruit:
- Open Hardware Month Hack Chat at Hackaday.io – Day 21, 10/21/2019.
- Parallax Open-source hardware – Day 20, 10/20/2019.
- Growing Your Open Business – A Digital Meetup for Open Hardware Month – Day 19, 10/19/2019.
- Open-source hardware at the Museum of Modern Art, posted on 10/19/2019 – Day 18, 10/18/2019.
- Open Hardware Licenses CC BY-SA, CERN, TAPR … – Day 17, 10/17/2019.
- Open Source Hardware Month at SparkFun – Day 16, 10/16/2019.
- How many Open-Source Prusa 3D printers are there? Posted on 10/19/2019 – Day 15, 10/15/2019.
- The RepRap Project Self-Replicating Open-Source 3D Printing – Day 14, 10/13/2019.
- The first 2 orders at Adafruit… now up to 2,161,166 orders – Day 13, 10/13/2019.
- Photos of the first Arduino (2005) – Day 12, 10/12 2019.
- In 2010 there were 13 Open Source Hardware companies that were making $1 million or more… – Day 11, 10/11/2019
- Opening Hardware 2010 at Eyebeam in NYC – Day 10, 10/10/2019.
- The Open Source Gift Guide, the early years – Day 9, 10/9/2019 (posted it on 10/10/2019, whoops)
- Before the iPhone, before the Raspberry Pi, before Amazon Echo Show, there was Chumby – Day 8, 10/8/2019.
- Mitch Altman Open-source hardware pioneer – Day 7, 10/7/2019.
- The Open Source logo(s) – Day 6, 10/6/2019.
- Open Source Hardware events all month long, EVENTS! – Day 5, 10/5/2019.
- Open Source Hardware Certifications and more! – Day 4, 10/4/2019.
- Teuthis Open Source MP3 Player 2001 – Daisy by Raphael Abrams – Day 3, 10/3/2019.
- What is the Open-Source Hardware Definition? – Day 2, 10/2/2019.
- Open hardware summit – Limor “Ladyada” Fried keynote 2010 – Day 1, 10/1/2019.
October is open-source hardware month! Every single day in October we’ll be posting up some open-source stories from the last decade (and more!) about open-source hardware, open-source software, and beyond!
Have an open-source hardware (or software) success story? A person, company, or project to celebrate? An open-source challenge? Post up here in the comments or email firstname.lastname@example.org, we’ll be looking for, and using the tag #OHM2019 online as well! Check out all the events going on here!