If you missed it, subscribe now! – You’ll get one terrific newsletter each Tuesday (before this post). Over 8,229 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.
Hi everyone! It’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. Now the news!
Blinka now supports 60 Single Board Computers!
As of this week, Blinka now supports 60 single board computers (SBC). Blinka allows SBCs to run most of the 280+ CircuitPython libraries.
CircuitPython 6.0.0-rc.1 released
Release candidate 1 is the second release candidate of CircuitPython 6.0.0. The CircuitPython team doesn’t know of any stability issues overall. If you find any issues with it, please file an issue on GitHub. If no issues are found within a week or so, this version will be released as stable – Adafruit Blog.
CircuitPython in Space Update
At least 4 spacecraft running CircuitPython 5.3.1 are launching in December by NASA! More info at pycubed.org
The LCA2021 #swagbadge Project
A limited number of LCA2021 Swag Badge electronic badges will be produced for the online Linux Conference Australia, which will be distributed to conference attendees, The conference is January 23-25 2021 Online, Worldwide. The LCA2021 Swag Badge is being specially developed and tailored for the conference. The board will be ready for development with the latest MicroPython installed and features an ESP32 microcontroller and dual OLED displays – Open Hardware Conference.
CircuitPython Deep Dive Stream with Scott Shawcroft
This week, Scott streams his work on an ESP32-S2 MagTag eInk Portal.
You can see the latest video and past videos on the Adafruit YouTube channel under the Deep Dive playlist – YouTube.
Adafruit is shipping orders!
Adafruit is stocked and shipping orders!
Now is the best time to get orders in for your favorite products, including holiday projects and gifts.
Adafruit parts have free, easy to follow tutorials in the Adafruit Learning System.
News from around the web!
Debra Ansell, GeekMomProjects, is quickly becoming the “Go-To” authority on great-looking LED lighting! Her latest work uses NeoPixel strip lit acrylic matrices. Animations are from Adafruit’s CircuitPython adafruit_led_animation library, running on an Adafruit ItsyBitsy M4 Express board – hackster.io.
Work in progress on a MIDI keyboard with Feather and CircuitPython – Twitter.
An example of CircuitPython – using putty as a serial terminal, reading a BME280 sensor with color management and terminal refresh – Twitter (French).
A gaming chair augmented with CircuitPython-based technology – Twitter.
MicroPython – How can I develop MicroPython on the Raspberry Pi? – Looks Like Matrix (German).
Getting Started With MicroPython – Real Python.
Tried yesterday for the first time the python REPL on a µcontroller board (CircuitPython from Adafruit but could have been MicroPython or Seeedstudio ArduPy) It’s quite cool to interact live with APIs… If you know someone interested in learning how to code, physical computing is more engaging than computing matrices products! Robotic, home automation, dynamic lightning with addressable RGB LED strips are all fun projects! – Mastodon and Twitter.
The MicroPython micro:bit MOD C Library – an advanced tutorial for the official BBC micro:bit V2 where we mod the C modmicrobit.c library and add your own custom C function to create your own custom firmware to interact with your development files in Python – GitHub.
Top 10 Trending Python Projects On GitHub – Towards Data Science.
Image Processing in Python: Algorithms, Tools, and Methods You Should Know – neptune.ai.
A new book – Drawing from data: resources for data exploration with Python – Drawing From Data.
On code isolation in Python – rushter.com.
Python Exception Handling With Else – NotesforMSc.
Python 3.10.0a2 is now available for testing – Python Dev Blog.
PyDev of the Week: Mary Chester-Kadwell on Mouse vs Python
Solder Party is coming out with a new Feather form factor board – dual MCU. The main MCU is a NXP i.MX RT1011, running at 500MHz with 128KB RAM, 8MB QSPI Flash. The co-processor is an ESP32, can be easily used from the main MCU for WiFi and BLE over SPI – Twitter.
MagTag is the latest bit of low-power, magnetic magic from Adafruit! With an 2.9” EPD (ePaper) panel, with a whopping 296 x 128 pixels, capable of 4-bit grayscale and an ESP32-S2 processor – hackster.io and Adafruit.
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 we had 11 new boards added!
- X86 II ULTRA
- STM32MP1 Discovery Kit 2
- Raspberry Pi 400 Desktop
- PINE H64
- Orange Pi Zero Plus2
- Clara AGX Xavier
- BeagleBone Green Gateway
- Banana Pi M2 Zero
- Bast Wifi
- Metro M7 1011
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!
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 280!
Here’s this week’s updated CircuitPython libraries:
What’s the CircuitPython team up to this week?
What is the team up to this week? Let’s see:
As expected, I was able to test the hardware for the TMP117 temperature sensor last week, and it went very well! I finished the CircuitPython library over the last week, and in the process I found a new favorite temperature sensor! The data layout is quite easy to use, and the feature set works quite well for simple temperature related tasks. I’ll be using this little gem in a few upcoming personal projects.
Additionally after bodging one little bug, I was able to verify the hardware for the new revision of the CAN FeatherWing, which uses the MCP25625 controller with the integrated transceiver. Since this chip allows for a further shrinking of the required space, I think it’s quite likely you’ll see this chip in other, smaller forms in the future.
I fixed a final issue in the CircuitPython 6.0.0 release candidate build, and also merged in a few last minute changes from Lady Ada and Jeff Epler. On Monday night, I released the second release candidate, 6.0.0-rc.1. Please try it out if you get a chance. If there are no further urgent fixes, we’ll re-release rc.1 as the final 6.0.0 build. Yay!
I have finished up the BLE work I’ve been doing for the past several months, and I’m now going to join the folks working on ESP32-S2 CircuitPython port.
A CircuitPython library isn’t complete without a guide, so the past few days I’ve been working on a guide that introduces canio and shows some simple programs to use it. What will you do once you can network your CircuitPython boards together with canio?
This week I published the Adafruit Metro ESP32-S2 guide. It’s full of all the details about the board including an Overview, Pinouts, and resource Downloads page. The guide also covers how to get started using the board with CircuitPython and how to get CircuitPython installed. If you managed to get your hands on one of the beta boards, check out this guide to get it up and running!
I also updated the pin definition for the Metro ESP32-S2 in CircuitPython as the initial pin def did not match. We decided to go with IOx pin names to avoid confusion due to the pin layout on the Metro ESP32-S2 differing from typical Metros. There is a page in the guide that clarifies the reasoning, and has a detailed diagram showing what pin names are available. If you want to use CircuitPython with this Metro and have the accurate pin definition, make sure you’re running the absolute latest from the S3 link on CircuitPython.org.
This past week I worked on wrapping up my NeoPixel work, fixing some issues that only occur when multiple NeoPixel lines are used simultaneously, as well as making sure those fixes were added to the CircuitPython implementation as well. I also reviewed some incoming modules submitted by the community for the ESP32-S2, including CountIO and RotaryIO.
Beyond the NeoPixels, I’ve been brushing up on the UDP-IP stack so I can assist more with the networking end of the ESP32-S2 work – it’s been a long time since I did network programming so I’ve been catching up on material I’ve forgotten. I’ll hopefully have some working tests this week, so I can better assist with incoming issues related to network bugs.
This past week I added the Voice Bonnet to the Google Assistant guide that I wrote. This was originally written for the BrainCraft, but fortunately it worked without modification for the Voice Bonnet just fine. You can check out the guide here.
I also worked with Scott to try and narrow down some of the issues with the latest version of the CircuitPython Requests library. I was able to fix a few of the issues and Scott is handling some of the intermittent connection issues.
Finally, I worked on a guide for the 1.5-inch 128×128 Grayscale OLED. The guide is coming along nicely and should be out very soon. Be sure to watch out for it.
This week I’ve been debugging the latest version of requests. I’ve found issues with both ESP32SPI co-processor sockets and the socket implementation in the ESP32-S2. It seems to be more resilient now and those two implementations better match how sockets work in CPython. As a result, it’ll be easier to develop network libraries in CPython and expect them to work with both an ESP32 coprocessor (aka ESP32SPI) or the native networking on the ESP32-S2.
PyCon Sweden 2020 will be held 12-13 of November 2020 online – PyCon Sweden.
PyCon Indonesia is a conference where Python users, or people interested in Python, gather to learn from each other and meet other members of the community. This year, they have chosen “Connect – Collab – Contribute” as the theme. Online 14-15 November 2020. Includes a keynote talk by Nina Zakharenko: “The Python Community is Stronger Together” – pycon.id.
The Online Python Web Global Summit ‘20 – 19 November 2020. Start: 10 am UTC duration: 24 hours online – Geekle.
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.
20201107 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
PCB Electronics Assembler – eIQ, Santa Clara, CA – Adafruit Jobs Board.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 25,673 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
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.
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.