ICYMI (In case you missed it) – Tuesday’s Python on Microcontrollers Newsletter from AdafruitDaily.com went out.
If you missed it, subscribe now! – You’ll get one terrific newsletter each Tuesday (before this post). Over 8,160 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.
Welcome, here’s 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. Here we go!
CircuitPython 6.0.0 Beta 1 and Beta 2 Released
CircuitPython 6.0.0 Beta 1 and Beta 2 were released in the last week. These are the second and third beta releases of CircuitPython 6.0.0. The code is relatively stable overall. Beta 1 includes a new canio API, support for the 128×64 OLED and many fixes, while Beta 2 fixes a crash mode with RGBMatrix – Release Notes Beta 1 and Release Notes Beta 2.
A CircuitPython Programmable Watch
Twitter user TG-Techie is progressing with work on a watch running CircuitPython.
Choosing CircuitPython for the firmware was certainly the right choice, having a REPL makes testing on-board components easy as py.
In the latest updates, the new GUI framework is coming along – Twitter.
Join the Python Developers Survey 2020
This year, the Python Software Foundation is conducting the fourth iteration of the official Python Developers Survey. The goal is to capture the current state of the language and the ecosystem around it. By comparing the results with last year’s survey, they can identify and share with everyone the hottest trends in the Python community.
In 2019, more than 24,000 Python users from 150 countries participated and shared how they use the language.
Contribute to the community’s knowledge. The survey takes about 10 minutes to complete – Python Blog.
Other Official Python News
Python 3.9 Removes Backwards Compatibility Layers for Python 2.7 – Python.Org and Twitter.
As of Friday, October 2, 2020, Python 3.5 is no longer supported – Python Insider.
Changes are coming to pip, the Python package installation tool, this month. –Twitter and YouTube plus a Migration Guide.
Laughing Skulls with CircuitPython
Turn your Adafruit HalloWing M4, CLUE, Circuit Playground Bluefruit or ItsyBitsy M4 into a laughing haunted skull animation with CircuitPython 6.0. Includes code and resources – GitHub and Twitter.
KiCad 2020 Virtual Edition Badge
The KiCad 2020 Virtual Edition badge, designed by Thomas Flummer, uses the SAMD21 microcontroller and has 21 tiny RGB LEDs along the sides. The badge is programmable in CircuitPython – Twitter.
CircuitPython Deep Dive Stream with Scott Shawcroft
This week, Scott streams his work on Email and Code Reviews.
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.
Adafruit is stocked and shipping orders!
Now is the best time to get orders in for your favorite products, including items for students. Science is fun and educational when using Adafruit parts and free, easy to follow tutorials in the Adafruit Learning System.
See projects tagged #ElectronicHalloween all month for Halloween related projects using Adafruit gear. Adafruit carries all the technology to make Halloween special – Twitter and Adafruit Blog.
Unexpected Maker FeatherS2
The FeatherS2 is a PRO ESP32-S2 based development board in a Feather format. This Feather has some nice extras: 16MB Flash, 8MB PSRAM, and a STEMMA QT/Qwiic connector. It comes flashed with CircuitPython 6.0 Beta 1 – Unexpected Maker.
News from around the web!
Counting the number of phones with Coronalert.Be nearby with an Adafruit CLUE board – GitHub and Twitter.
Dan’s Buttons Galore! FeatherWing being used as a handheld sound cue system. It can play up to 64 sounds/tracks with 8 banks of 8 sounds each – Twitter.
Woolsey Workshop published a tutorial on how to get started using Blinka to support your CircuitPython Programs on the Raspberry Pi – Woolsey Workshop and Twitter.
Prevent annoying Mac ._ files on CIRCUITPY – todbit blog and Twitter.
Model Train Layout Lighting FX with CircuitPython & Arduino – YouTube.
Add a chatbot MOD to the official BBC micro:bit fork of MicroPython – GitHub.
MiniPython for the BBC micro:bit – GitHub.
Rob Morrill writes: “My students can work at whatever pace is comfortable for them in Firia Labs’s CodeSpace to learn Python on the micro:bit” – Twitter.
Reading and Writing CSV Files in Python – Real Python.
PyDev of the Week: Frank Valcarcel from Mouse vs Python
CircuitPython Weekly Meeting for October 5th, 2020 Notes and on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Creating a CircuitPython Music Visualizer.
The Desk of Ladyada – Testing out CircuitPython on ESP32S2 Metro – YouTube and 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 there were 6 new boards added!
Looking for adding 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!
Adafruit QT Py from Kattni Rembor
Adafruit IO Basics: Schedule Triggers from Brent Rubell
Easy No-Soldering Bluetooth Controlled Room Lights from Erin St Blaine
MIDI Melody Maker from Ruiz Brothers
Purple Air AQI Display from John Park
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 libraries, download the Adafruit CircuitPython Library Bundle. For the latest community contributed libraries, download the CircuitPython Community 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! 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 273!
Here’s this week’s new CircuitPython libraries:
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 just wrapped up my work on the CircuitPython library for the MCP2515 CANbus controller. It was fun to work with and I enjoyed collaborating with Jeff to determine the API that the
canio devices will use. This work will make it so that code written for one CAN controller, like those included with the SAM-E51, will be usable with another CAN controller, such as the venerable MCP2515.
Next up, I’m working on a sweet little 12-bit ADC, the TLA2024, before looping back to do some additional real-world tests with the CAN hardware and libraries.
For info about what I’ve been up to with CAN bus, check out Bryan’s report. I want to spotlight a contribution from GitHub user @mdroberts1243, who has added support for the FeatherWing SH1107 128×64 OLED display. It will be great to have these displays be compatible with CircuitPython starting with Beta 1. Thanks, Mark! I have one one of these displays that I hope to include in a project soon.
I’m back after being out for two weeks. I published a guide for the QT Py. Many of these were purchased before the guide was written, so if you got your QT Py, but aren’t sure where to begin, check out the guide to get started. I updated the guide for the TSL2591 to include the STEMMA QT version. I wrote up a quick guide for the LTC4311 with pinouts and downloads resources. I’m now working on a guide for the MIDI FeatherWing, so keep an eye out for that.
This past week I’ve been quite busy. It started off with writing a guide for the new MatrixPortal board, which turned out quite well.
I finished up the Python version of the PiTFT installer script and learned enough of the Click library to add some automation flags so that the script could be completely automated with a single command and no other user input. For complex installations with boards like the new BrainCraft Hat, this makes a huge difference. One of the big advantages of this is that we can customize the install command for each display and the user can run it without worrying about selecting the wrong options.
Finally, the Jetson Nano has been updated to include easily enabling SPI since I wrote a guide for it. So I went through and did a refresh of the guide to make it so it is up to date including how to enable SPI. I also added a page on SPI including TFT usage and using NeoPixels with SPI. With the recent improvements, this is now one of my favorite boards that supports Blinka.
Since last week, I’ve finished fixing Requests for now. Seems to recover from errors well enough. Plus, I burnt myself out a bit on working on networking so a break is welcome.
I continued to polish up UF2 for the ESP32-S2. I got release assets attached to releases. The last thing I need to do is write up a guide on how to add UF2 support to new boards and install it on them.
Most of this week though has been fixing software issues for two new Metros for two different platforms. Metros are the best form factor to start with because they have the debug connection for easy debugging. I’m excited to see new boards coming!
Hacktoberfest® is a celebration of Open Source Software, created by DigitalOcean. It’s open to everyone around the globe. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge. You can win a t-shirt or plant a tree.
Pull requests can be made in any GitHub-hosted repositories/projects. You can sign up anytime between October 1 and October 31. More – Hacktoberfest.
PyCon Estonia 2020 will be a virtual conference held October 8, 2020 – PyCon Estonia.
The Hackaday Remoticon will take place everywhere November 6th – 8th, 2020. It’s a weekend packed with workshops about hardware creation, held virtually for all to enjoy – Hackaday.
PyCon Sweden 2020 will be held 12-13 of November 2020 online – PyCon Sweden.
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 Discord or on Twitter with hashtag #CircuitPython.
CircuitPython’s stable release is 5.3.1 and its unstable release is 6.0.0-beta.2. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20201004 is the latest CircuitPython library bundle.
v1.13 is the latest MicroPython release. Documentation for it is here.
3.9.0 is the latest Python release.
1,855 Stars Like CircuitPython? Star it on GitHub!
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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 25,133 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 first video-newsletter-podcast that we’ve started! The news comes from the Python community, Discord, Adafruit communities and more. Kattni turns the weekly news into video form for ASK an ENGINEER and Adafruit social media. 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.
And lastly, we are working up a one-spot destination for all things podcast-able here – podcasts.adafruit.com
Codecademy “Learn Hardware Programming with CircuitPython”
Codecademy, an online interactive learning platform used by more than 45 million people, has teamed up with the leading manufacturer in STEAM electronics, Adafruit Industries, to create a coding course, “Learn Hardware Programming with CircuitPython”. The course is now available in the Codecademy catalog.
Python is a highly versatile, easy to learn programming language that a wide range of people, from visual effects artists in Hollywood to mission control at NASA, use to quickly solve problems. But you don’t need to be a rocket scientist to accomplish amazing things with it. This new course introduces programmers to Python by way of a microcontroller — CircuitPython — which is a Python-based programming language optimized for use on hardware.
CircuitPython’s hardware-ready design makes it easier than ever to program a variety of single-board computers, and this course gets you from no experience to working prototype faster than ever before. Codecademy’s interactive learning environment, combined with Adafruit’s highly rated Circuit Playground Express, present aspiring hardware hackers with a never-before-seen opportunity to learn hardware programming seamlessly online.
Whether for those who are new to programming, or for those who want to expand their skill set to include physical computing, this course will have students getting familiar with Python and creating incredible projects along the way. By the end, students will have built their own bike lights, drum machine, and even a moisture detector that can tell when it’s time to water a plant.
Visit Codecademy to access the Learn Hardware Programming with CircuitPython course and Adafruit to purchase a Circuit Playground Express.
Codecademy has helped more than 45 million people around the world upgrade their careers with technology skills. The company’s online interactive learning platform is widely recognized for providing an accessible, flexible, and engaging experience for beginners and experienced programmers alike. Codecademy has raised a total of $43 million from investors including Union Square Ventures, Kleiner Perkins, Index Ventures, Thrive Capital, Naspers, Yuri Milner and Richard Branson, most recently raising its $30 million Series C in July 2016.
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.
Join our Discord or post to the forum for any further questions.