Happy 6th Birthday MicroPython!
We celebrated MicroPython’s 6th birthday on April 29th! Here are some important milestone dates we checked with the creator, Damien!
- 29th April 2013: first line of code written (in private, before anyone knew about it, before it was even called MicroPython)
- 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.
Main features:
- 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.
Happy Birthday MicroPython! Thank you Damien for creating something special and open!
CircuitPython 4.0.0 Release Candidate 1!
This is it! We think Release Candidate 1 is stable but want you to test it out to be sure. If we don’t find anything major, then this will be the 4.0.0 release. If there are any fixes to make we’ll follow up with another release candidate.
Download it from circuitpython.org
If you find a bug, please check the current known issues and file an issue if something isn’t already known.
And with RC1, we have an updated CircuitPython boot diagram.
Adafruit PyBadge for CircuitPython
It’s here! What’s the size of a credit card and can run CircuitPython? That’s right, it’s the Adafruit PyBadge! We wanted to see how much we could cram into a 3 3/8 × 2 1/8 inch rounded rectangle, to make an all-in-one dev board with a lot of possibilities, and this is what we came up with.
The PyBadge is a compact board, like we said, it’s credit card sized. It’s powered by our favorite chip, the ATSAMD51, with 512KB of flash and 192KB of RAM. We add 2 MB of QSPI flash for file storage, handy for images, fonts, sounds, or game assets.
On the front you get a 1.8” 160×128 color TFT display with dimmable backlight – we have fast DMA support for drawing, so updates are incredibly fast. There’s also 8 silicone-top buttons, they are clicky but have a soft button top so they’re nice and grippy. The buttons are arranged to mimic a gaming handheld, with a d-pad, 2 menu-select buttons and 2 fire-action buttons. There’s also 5 NeoPixel LEDs to dazzle or track activity.
On the back we have a full Feather-compatible header socket set, so you can plug in any FeatherWing to expand the capabilities of the PyBadge. There’s also 3 STEMMA connectors – two 3-pin with ADC/PWM capability and one 4-pin that connects to I2C – you can use this for Grove sensors as well.
CircuitPython snakes its way to wearables!
Wearable Tech Projects, from the makers of HackSpace magazine, is a 164-page book packed with projects for the fashionable electronics enthusiast, with more than 30 projects which will blink, flash, and spark joy in your life. You’ll discover new techniques for working with fabric, find out about the best microcontrollers for your projects, and learn the basics of CircuitPython, the language developed at Adafruit for physical computing. There’s no ‘Hello, World!’ or computer theory here; this is all about practical results and making unique, fascinating things to wear – Wearable Tech Projects, & PDF.
Python is available on Gamebuino
Code with Python at Gamebuino! The first workshop: Discover programming in Python was created and published by Sylvain, member of the Gamebuino team – gamebuino.com/academy
Need a Lift?
MOAR CircuitPython hardware! Adafruit Metro M4 Express AirLift (WiFi) – Lite is here! Give your next project a lift with AirLift – our witty name for the ESP32 co-processor that graces this Metro M4. You already know about the Adafruit Metro M4 featuring the Microchip ATSAMD51, with its 120MHz Cortex M4 with floating point support. With a train-load of FLASH and RAM, your code will be fast and roomy. And what better way to improve it than to add wireless? Now cooked in, directly on board, you get a certified WiFi module that can handle all your TLS and socket needs, it even has root certificates pre-loaded.
PyPortal Giveaway
HackSpace has a contest for winning one of 5 PyPortals. You have about 30 days left to enter! – hsmag.cc/win
News from around the web!
TI Planet has a review (translated) of the new TI-Python for the TI-83 Python Premium Calculator which happens to use CircuitPython. “The implementation Python the plugin TI-Python for your TI-83 Premium CE is richer than the competition in terms of number of modules.” – tiplanet.org
Progress on the Game Boy: able to turn the screen on and off during vblank from CircuitPython – Twitter.
Real-time 3D on the PewPew with MicroPython on ESP8266 – Twitter.
MicroPython and the Internet of Things, Part I: Welcome by Miguel Grinberg & YouTube.
VGA Controller, PS/2 Keyboard Controller, Graphics Library, Game Engine and ANSI/VT Terminal for the ESP32 – Twitter.
7-Segment-like display using MicroPython – YouTube.
pygame 1.9.6 released – pygame.org
Creating a GUI Application for NASA’s API with wxPython – Mouse vs Python.
What do companies expect from Python devs in 2019? – cvcompiler.com
LLVM Specializer for Python by Stephen Diehl.
Need a small keyboard? Build your own! – Hackaday.
The WIRED Guide to Open Source Software – WIRED.
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? EduBlocks, Making the transition from Blocks to Python easier.
CircuitPython Weekly April 23rd, 2019 on YouTube and on diode.zone
PyDev of the Week: Neil Muller on Mouse vs Python
Made with Mu
Programming MIDI with CircuitPython, an Adafruit Trinket, and the Mu editor at Moogfest – Twitter.
New Learn Guides!
PyPortal Phillips Hue Lighting Controller from Brent Rubell
Updated Guides – Now With More Python!
You can use CircuitPython libraries on Raspberry Pi! We’re updating all of our CircuitPython guides to show how to wire up sensors to your Raspberry Pi, and load the necessary CircuitPython libraries to get going using them with Python. We’ll be including the updates here so you can easily keep track of which sensors are ready to go. Check it out!
Keep checking back for more updated guides!
CircuitPython Libraries!
CircuitPython support for hardware continues to grow. We are adding support for new sensors and breakouts all the time, as well as improving on the drivers we already have. As we add more libraries and update current ones, you can keep up with all the changes right here!
For the latest drivers, download the Adafruit CircuitPython Library Bundle.
If you’d like to contribute, CircuitPython libraries are a great place to start. Have an idea for a new driver? File an issue on CircuitPython! Interested in helping with current libraries? Check out this GitHub issue on CircuitPython for an overview of the State of the CircuitPython Libraries, updated each week. We’ve included open issues from the library issue lists, and details about repo-level issues that need to be addressed. We have a guide on contributing to CircuitPython with Git and Github if you need help getting started. You can also find us in the #circuitpython channel on the Adafruit Discord. Feel free to contact Kattni (@kattni) with any questions.
You can check out this list of all the CircuitPython libraries and drivers available.
The current number of CircuitPython libraries is 155!
New Libraries!
Here’s this week’s new CircuitPython libraries:
Updated Libraries!
Here’s this week’s updated CircuitPython libraries:
PyPI Download Stats!
We’ve written a special library called Adafruit Blinka that makes it possible to use CircuitPython Libraries on Raspberry Pi and other compatible single-board computers. Adafruit Blinka and all the CircuitPython libraries have been deployed to PyPI for super simple installation on Linux! Here are the top 10 CircuitPython libraries downloaded from PyPI in the last week, including the total downloads for those libraries:
Library |
Last Week |
Total |
Adafruit-Blinka |
1699 |
29774 |
Adafruit_CircuitPython_Register |
347 |
4599 |
Adafruit_CircuitPython_NeoPixel |
289 |
4608 |
Adafruit_CircuitPython_Motor |
267 |
2802 |
Adafruit_CircuitPython_PCA9685 |
267 |
2429 |
Adafruit_CircuitPython_BusDevice |
216 |
9883 |
Adafruit_CircuitPython_ServoKit |
175 |
1984 |
Adafruit_CircuitPython_CharLCD |
134 |
8387 |
Adafruit_CircuitPython_MotorKit |
134 |
2024 |
Adafruit_CircuitPython_framebuf |
110 |
840 |
Upcoming events!
Open Hacking 129 – Fun with CircuitPython – Saturday, May 4, 2019, hosted by Dj W HackWimbledon. Making, creating and illuminating is what HackWimbledon is about and that’s what we do at HackWimbledon sessions. This time round they have a theme – CircuitPython – MeetUp.
Digi-Key + Adafruit @ PyCon!
THIS IS IT, IT BEGINS NOW!
PyCon 2019 returns May 1–9, 2019 to Cleveland, OH – with talks, tutorials, sprints, and more!
Big news! Digi-Key and Adafruit have teamed up for PyCon 2019, so every attendee (about 4,000!) will receive a SPECIAL EDITION Circuit Playground Express, running … CircuitPython.
This effort is to get Python on hardware to the most folks out there, at the events that bring people together.
This is just one of many efforts we’re teaming up with Digi-Key to continue to fuel all the developers from beginners to pro, using Python on microcontrollers.
What else is happening? The CircuitPython team will be running several Open Spaces sessions (as they did last year), showing how to use CircuitPython on the Digi-Key / Adafruit PyCon special edition Circuit Playground Express. We’ll have extra addons to play with also: potentiometers, NeoPixel strips, and servos. The team will be running a CircuitPython Sprint for several days to work on CircuitPython libraries and CircuitPython core code. BYOMUSB “Bring your own Micro USB” cables, we’ll have some to borrow during the sprints/sessions, as well as some USB C adapters, good idea to bring one too!
The PyCon 2019 conference, which will take place in Cleveland, is the largest annual gathering for the community using and developing the open-source Python programming language. It is produced and underwritten by the Python Software Foundation, the 501(c)(3) nonprofit organization dedicated to advancing and promoting Python. Through PyCon, the PSF advances its mission of growing the international community of Python programmers.
Scott will be leading a talk at the Python Language Summit, History of CircuitPython. The Python Language Summit is an event for the developers of Python implementations (CPython, PyPy, Jython, and so on) to share information, discuss our shared problems, and — hopefully — solve them – pycon.org/2019/events/language-summit
Stay tuned to the Adafruit blog, Twitter, Discord, and more for LIVE updates.
Latest releases
CircuitPython’s stable release is 3.1.2 and its unstable release is 4.0.0-rc.1. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20190428 is the latest CircuitPython library bundle.
v1.10 is the latest MicroPython release. Documentation for it is here.
3.7.3 is the latest Python release. The latest pre-release version is 3.8.0a3.
1177 Stars Like CircuitPython? Star it on GitHub!
circuitpython.org updates!
Downloads are now available from circuitpython.org! This site makes it much easier to select the correct file and language for your board. The downloads page is here. Here are the latest boards added! There are 53+ boards!
We added a couple Linux boards (blinka) for the not-so-secret Blinka section. We will keep adding more as we confirm what works and what does not for single board computers (SBCs).
And! GitHub now allows social thumbnails. We added an image to the .org repo and it worked! It looks good when pasting the link on Discord.
Call for help – CircuitPython messaging to other languages!
We posted on the Adafruit blog about bringing CircuitPython messaging to other languages, one of the exciting features of CircuitPython 4.x is translated control and error messages. Native language messages will help non-native English speakers understand what is happening in CircuitPython even though the Python keywords and APIs will still be in English. If you would like to help, please post to the main issue on GitHub and join us on Discord.
We made this graphic with translated text, we could use your help with that to make sure we got the text right, please check out the text in the image – if there is anything we did not get correct, please let us know. Dan sent me this handy site too.
jobs.adafruit.com
jobs.adafruit.com has returned and folks are posting their skills (including CircuitPython) and companies are looking for talented makers to join their companies – from Digi-Key, to Hackaday, Microcenter, Raspberry Pi and more. Not sure how to use the jobs board? We now have a video! – YouTube.
11,927 thanks!
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 11,927 humans, thank you! Join today! https://adafru.it/discord
Updates to awesome-circuitpython
We updated awesome-circuitpython, the comprehensive, curated collection of all things CircuitPython – GitHub.
This week we’ll be updating some news items.
ICYMI – In case you missed it
The wonderful world of Python on hardware! This is our video-newsletter-podcast! The news comes from the Python community, Discord, Adafruit communities and more. It’s part of the weekly newsletter, then we have a segment on ASK an ENGINEER and this is the video slice from that! The complete Python on Hardware weekly videocast playlist is here.
This video podcast is on iTunes, YouTube, IGTV (Instagram TV), and XML.
Weekly community chat on Adafruit Discord server CircuitPython channel – Audio / Podcast edition – Audio from the Discord chat space for CircuitPython, meetings are usually Mondays at 2pm ET, this is the audio version on iTunes, Pocket Casts, Spotify, and XML feed.
Contribute!
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are here. It highlights the latest CircuitPython related news from around the web including Python and MicroPython developments. To contribute, edit next week’s draft on GitHub and submit a pull request with the changes. Join our Discord or post to the forum for any further questions.