If you missed Tuesday’s Python on Microcontrollers Newsletter, here is the ICYMI (In case you missed it) version.
To never miss another issue, subscribe now! – You’ll get one terrific newsletter each Tuesday (before this post). Over 8,462 subscribers worldwide!
The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware. No spam, no selling lists, leave any time.
Iit’s time for the latest Python for Microcontrollers newsletter, brought you by the community! We’re on Discord, Twitter, and for past newsletters – view them all here. If you’re reading this on the web, subscribe here.
CircuitPython 6.1.0-rc.0 is now out
CircuitPython 6.1.0 rc.0 is the first release candidate for 6.1.0.
Fixes and improvements since 6.1.0 Beta 3:
- Fix initialization of onboard NeoPixels. #3934.
- Update ulab to 1.6.0. #3929.
- Fix handling of zero brightness in _pixelbuf. #3917.
Board and port specific changes:
- CPX: Add back frozen adafruit_bus_device back to CPX. #3932.
- UnexpectedMaker FeatherS2: Correct pins and add default board devices. #3925, #3914.
- ESP32S2: Add alarm.touch.TouchAlarm. #3850.
- Mini SAM 4: Freeze in adafruit_dotstar library. #3923.
Read about all the changes and the new boards since 5.3 – Adafruit Blog.
CircuitPython Blinka for Single Board Computers Explained
The CircuitPython.Org website has been updated to include an explanation of what the CircuitPython Blinka compatibility layer for SBCs does:
Blinka brings CircuitPython APIs and, therefore, CircuitPython libraries to single board computers (SBCs). It is a pip installable Python library that runs in normal “desktop” Python. The CircuitPython runtime isn’t used. CircuitPython libraries can also be installed via pip.
See the guide for further details.
CircuitPython 2021 Entries Coming In
The CircuitPython development team is excited at all of the feedback posted as part of the #CircuitPython2021 campaign! They want to hear what you believe is important to you now and going forward using Python on Hardware. Read the latest:
Latest Posts Summary – Adafruit Blog.
Kickoff Post – Adafruit Blog.
Python Software Foundation
PSF Trademark Usage Policy
This document contains the 1.5.0 version policy of the Python Software Foundation (“PSF”) regarding the use of its trademarks. Any use of any PSF trademark must be in accordance with this policy – python.org via Twitter
Python 3.8.7 is now available
CircuitPython Deep Dive Stream with Scott Shawcroft
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.
News from around the web!
Development continues on a CircuitPython controlled watch by TG-Techie – Twitter.
The watch’s new framework is now a state dependent, extensible, framework that allows for utilization of native user interface elements, like CircuitPython’s displayio library! Thanks to the CircuitPython community and Adafruit who have put lots of time and care into the ecosystem.
Pac-man ghost animation with CircuitPython and NeoPixels – Twitter.
The Matrix Portal Flow Visualizer was written for the Matrix Portal but with a few minor tweaks
can run on the Adafruit PyPortal and should run on the Adafruit PyPortal Titano (untested) showing subsonic flows – YouTube.
Build a Raspberry Pi-powered Smart Pill Cabinet programmed in Python – gallaugher.com.
An open source intercom for kids using Raspberry Pi and Telegram – Chordata.
Wave – Realtime Web Apps and Dashboards for Python – GitHub.
A Lua to Python conversion program – GitHub.
The Shell and the Microcontroller: programming microcontrollers using a REPL – Hackaday.
remote-mouse allows use of a smartphone as a pointing device for a computer (say, a Raspberry Pi working as media server) in a similar fashion to certain smart TV remotes. There is also some limited text input capability – GitHub.
PyCameraServer – a Flask video / image / Youtube / IP Camera frames online web-editor with live streaming preview for objects recognition, extraction, segmentation, resolution upscaling, styling, colorization, interpolation, using OpenCV with neural network models – GitHub.
Cheap EMUlator: lightweight multi-architecture assembly playground written in Python – GitHub.
Array is a functional mutable sequence inheriting from Python’s built-in list. Array provides 100+ higher-order methods and more functionality to the built-in list, making operations on sequences simpler and one-liners neater with no third party packages required – GitHub.
With Python f-strings you can use <, > and ^ to left / right / center justify strings – Twitter.
PyDev of the Week: Ken Youens-Clark on Mouse vs Python
Adafruit’s Ladyada was building prototypes this past weekend – Twitter.
USB2422 I2C-configurable USB 2-port hub is a low cost USB hub with EEPROM you can connect to I2C to configure – Twitter.
New Boards Supported by CircuitPython
The number of supported microcontrollers and Single Board Computers (SBC) grows every week. This section outlines which boards have been included in CircuitPython or added to CircuitPython.org.
This week no new boards were added but several are in the works.
Looking to add a new board to CircuitPython? It’s highly encouraged! Adafruit has four guides to help you do so:
- How to Add a New Board to CircuitPython
- How to add a New Board to the circuitpython.org website
- Adding a Single Board Computer to PlatformDetect for Blinka
- Adding a Single Board Computer to Blinka
New Learn Guides!
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!
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! Have you written a library you’d like to make available? Submit it to the CircuitPython Community Bundle. Interested in helping with current libraries? Check out the CircuitPython.org Contributing page. We’ve included open pull requests and issues from the libraries, 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.
You can check out this list of all the Adafruit CircuitPython libraries and drivers available.
The current number of CircuitPython libraries is 290!
Here’s this week’s updated CircuitPython libraries:
What’s the team up to this week?
What is the team up to this week? Let’s check in!
I made a CircuitPython 6.1.0-rc.0 release this week, after consultation with Scott and Jeff. There are many fixes and additions past 6.0.1. There are still some significant bugs I’d like to see fixed soon, and I’m working on those. I’m on the trail of a memory overwrite that seems to be causing problems with time.sleep().
Back in December, I added support for binary “.pcf” files to the adafruit_bitmap_font library. These fonts take up less space on your device’s CIRCUITPY drive and are also faster to load into RAM. However, there was no convenient converter from “.bdf” format to “.pcf”. I changed that this week with a web-based converter and wrote a short guide page about using it. This is especially handy for battery-powered MagTag projects, since less time spent loading fonts means more time in Deep Sleep so the battery will last for longer between charges.
I started a library PR/issue sweep and started to reach out to folks on library PRs to see where everyone is at. If you’re waiting on a reply to a PR, and it’s been more than 24 hours (not including weekends), feel free to tag whomever you’re waiting on – we’re all getting caught up after the holiday. In guide land, I updated the CCS811 guide with the STEMMA QT revision of the board. I wrote the guide for the new Adafruit SCD30 as well which has all the details about the board that you need to get started with it.
This past week I’ve wrapped up my Flashcard guide on the MagTag, and I have been diving into Socket behavior in CPython in hopes of bringing CircuitPython closer in terms of error reporting and performance. I’ve also been looking into other bugs on my list, related to Busio and other peripherals across several ports.
This past week I was back from the holiday break and worked on catching up on GitHub Pull Requests and issues that had been submitted while I was gone. I continued working on refactoring the PyPortal library that I had started before the break. One of the things I was stuck on was updating how it handled images and I realized that the MatrixPortal and MagTag libraries weren’t actually handling image downloads, so I changed my focus to expanding the functionality of those libraries at the same time.
Besides that, not a whole lot to report. I’m getting caught up after the holidays.
Will be doing a deep dive on Fridays at 2 pm Pacific again!
Australia’s grassroots Free and Open Source technologies conference linux.conf.au is scheduled for January 23-25 2021 online/worldwide. Limor “Ladyada” Fried, electrical engineer and founder of Adafruit, will be one of their keynote speakers. In her keynote, Limor will discuss how Python is snaking its way into hardware, Linux single board computers and more.
FOSDEM is a free and non-commercial event organised by the community for the community. Typically hosted in Brussels, Belgium, FOSDEM 2021 is taking place online February 6-7, 2021. This year, there will be a Python Developer Room. Details – Adafruit Blog.
PyCascades is a regional PyCon in the Pacific Northwest, celebrating the west coast Python developer and user community. Held online February 19th — 21st, 2021 – PyCascades.
The 2021 Open Hardware summit will be held online, Friday April 9, 2021. The summit will be livestreamed, but ticket holders will have access to additional interactive portions of the summit like meet-and-greets, workshops, and sponsor booths. Find details, including ticket and sponsorship information at 2021.oshwa.org – OSHWA.
PyCon US, the annual official annual Python gathering, has been announced to be held online May 12-15, 2021. Sprints will be held May 16-18, 2021. More information and signups at https://us.pycon.org/2021/
Send Your Events In
As for other events, with the COVID pandemic, most in-person events are postponed or cancelled. If you know of virtual events or events that may occur in the future, please let us know on Twitter with hashtag #CircuitPython.
20210109 is the latest CircuitPython library bundle.
Call for help – Translating CircuitPython is now easier than ever!
One important feature of CircuitPython is translated control and error messages.
With the help of fellow open source project Weblate, we’re making it even easier to add or improve translations.
Sign in with an existing account such as Github, Google or Facebook and start contributing through a simple web interface. No forks or pull requests needed!
As always, if you run into trouble join us on Discord, we’re here to help.
jobs.adafruit.com – Find a dream job, find great candidates!
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.
Job of the Week
Director of Resource Development – Python Software Foundation
The PSF is seeking to hire a Director of Resource Development to spearhead fundraising and sponsorship efforts! Hurry, they are accepting resumes through January 14th, 2021 – Adafruit Jobs Board.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 26,589 humans, thank you! Adafruit believes Discord offers a unique way for CircuitPython folks to connect. Join today at https://adafru.it/discord.
ICYMI – In case you missed it
The wonderful world of Python on hardware! This is our Python video-newsletter-podcast! The news comes from the Python community, Discord, Adafruit communities and more and is reviewed on ASK an ENGINEER Wednesdays. The complete Python on Hardware weekly videocast playlist is here.
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.
And lastly, we are working up a one-spot destination for all things podcast-able here – podcasts.adafruit.com
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. You may also tag your information on Twitter with #CircuitPython.