Daily tips and tricks from the experts at Adafruit!
View this email in your browser

View this email in your browser.

Happy New Year! 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. Here’s the latest:

Where should CircuitPython go in 2021?

Where should CircuitPython go in 2021?

As 2021 starts, let’s take some time to share our goals for CircuitPython in 2021. Just like past years (full summary 2019 and 2020), we’d like everyone in the CircuitPython community to contribute by posting their thoughts to some public place on the Internet.

Here are a few ways to post: a video on YouTube, a post on the CircuitPython forum, a blog post on your site, a series of Tweets, a Gist on GitHub, or a /r/CircuitPython subreddit post.

We want to hear from you. When you post, please add #CircuitPython2021 and email circuitpython2021@adafruit.com to let us know about your post so we can blog it up here.

The post can cover any topic related to CircuitPython. Here are some specific topics you could address:

These, of course, are just ideas to start from. Please us know about all ideas you have for CircuitPython.

We, as a community, can use these ideas to coordinate and collaborate to make CircuitPython even better in 2021. Let’s use these ideas to spark further discussion and brainstorming. Keep an eye on the Adafruit blog and join the discussion on the Adafruit Discord.

More – Adafruit Blog

Coming Soon

Coming Soon - panel of boards

There are so many new pieces of hardware under development, we’re featuring them here. As with all things in the Top Secret category, these things are being conceptualized – release dates are not available. Keep an eye out on Adafruit New Products to watch for their possible introduction.

CYBERDECK HAT for Raspberry Pi 400

CYBERDECK HAT for Raspberry Pi 400 – Adafruit Blog and YouTube.

CYBERDECK BONNET for Raspberry Pi 400

CYBERDECK BONNET for Raspberry Pi 400 – Adafruit Blog and YouTube.

SAMD21 NeoPixel USB Stick – USB “TRINKET”

SAMD21 NeoPixel USB Stick – USB “TRINKET” – Adafruit Blog.

SD Card on a Chip!

SD Card on a Chip! – Adafruit Blog and YouTube.

STEMMA AW9523

We saw this nifty chip on the nicechips sub-reddit a few months ago and got a few samples. Recently we were thinking how we could really use this chip in a more complex design that could use a GPIO expander. So…it’s time to make a STEMMA breakout! This I2C expander driver has 16 constant-current LED drivers and I/O pins. It seems pretty straightforward, just watch out for the address line ‘default pin values’ and the reset pin’s internal pulldown. This breakout is looooooong so that you get every IO pin plus a matching ground pad.

STEMMA AW9523 – Twitter.

ESP32-S2 based CLUE board

ESP32-S2 based CLUE board

An ESP32-S2 based CLUE board – Adafruit Blog.

Feather ESP32-S2

We’ve been putting off getting a Feather board designed using the ESP32-S2… The ESP32-S2 mini modules make an easy job of this board. It’s very compact and the pins lined up perfectly (don’t you love when that happens) so that the IO numbers match the Feather pinout we prefer. We even got the high speed SPI pins on the SPI port, and the two DAC pins on A0 and A1. Given that we don’t need a USB to serial converter, and flash memory is built into the ‘mini, we had lots of space left in the middle. We ended up deciding on putting in a LC709203 battery monitor and a BMx280 sensor footprint that can place DPS310, BMP280 or BME280. For adding other sensors, we have a vertical-style STEMMA QT in the center. The current mini modules have 4Mbyte flash and no PSRAM, but given the existence of ESP32-S2FN4R2, we hope it’ll eventually happen.

Feather ESP32-S2 – Twitter.

Espressif Systems Announces the ESP32-S3 Microcontroller

ESP32-S3 Microcontroller

The ESP32-S3 features a dual-core LX7 32-bit processor operating up to 240 MHz. (The previous -S2 was single-core.) On-chip is 512 KB of SRAM and 384 KB of RAM with support for octal SPI to connect to external memory devices. The RF capabilities include WiFi 2.4 GHz b/g/n, legacy Bluetooth, and Bluetooth Low-Energy 5.0. Artificial Intelligence applications can take advantage of the ESP32-S3’s vector instructions in the MCU. These provide acceleration for neural networks and signal processing loads.

For peripherals, the ESP32-S3 supports up to 44 programmable GPIOs for GPIOs, SPI, I2S, I2C, PWM, RMT, ADC, DAC, UART, SD/MMC host, and TWAI.

More – hackster.io via Twitter and Espressif Website.

CircuitPython Deep Dive Stream with Scott Shawcroft

With New Year’s, Scott was off – expect Deep Dive to resume this Friday!

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!

Dishwasher status with Adafruit MagTag

A dishwasher status indicator with Adafruit MagTagTwitter.

Mention of CircuitPython in the book Practical IoT Hacking

Mention of CircuitPython in the book Practical IoT HackingTwitter.

Quico

Quico

Quico is the new name of the game console developed around the Adafruit Matrix Portal microcontroller board and an RGB LED Matrix display. A new Sound Shield uses a SN76489 chip on a custom shield board for the Matrix Portal – retro.moe.

PyPortal Titano Weather Display

A PyPortal Titano Weather Display – Adafruit Blog and GitHub.

Multi-mode Game of Life to show variations of the GoL, including viral contagion. Metro M4 and 16×32 RGB Matrix, running CircuitPython – Molecularist.

A very large FeatherWing

A keyboard designed as a FeatherWing – Twitter thread.

CircuitPython Star Wars Pixel Tree Topper

A CircuitPython Star Wars Pixel Tree Topper – Twitter.

Lightsaber

A refined 3D printed Lightsaber with Adafruit Feather and PropMaker FeatherWing programmed in CircuitPython – Twitter.

The Virus in 39 LEDs – red, yellow, orange (and limiting resistors); NeoPixel Jewel (7 pixel); rainbow PLA icosahedron (model by @Clockspring3D), LiPo battery, slide switch, and orchestrated in CircuitPython by an Adafruit ItsyBitsy M0 with battery backpack – Molecularist.

Hobby Unicorn Builds a Robot

A father and daughter build a robot over holiday break with CircuitPython – YouTube via Twitter.

Pixel Christmas light displays

Two pixel Christmas light display in action. Top is 300 Adafruit NeoPixels powered by a Feather M4 Express with CircuitPython. The bottom is two 64×32 matrices chained together running Arduino with the Adafruit protomatter library – Twitter.

Buhbye 2020 with an Adafruit Trinket M0

Buhbye 2020 with an Adafruit Trinket M0 – YouTube via Reddit.

Visualization of light speed between Sun, Earth, Moon, Jupiter, and Saturn using 149 NeoPixels driven by a Trinket M0 running CircuitPython – Molecularist.

Circuitpython driver library for AT42QT1070 Capacitive Touch Sensor – GitHub.

MicroPython on Vexriscv on up5k on an ice40-feather

FPGA hacking: MicroPython on Vexriscv on up5k on an ice40 Feather – Twitter Thread.

Building an E-Ink Calendar, and a UI Toolkit along the way

Building an E-Ink Calendar, and a UI Toolkit along the way with MicroPython and 0Auth2 – rahulrav.com.

Raspberry Pi HQ Camera: Autofocus for the Telephoto Lens

Raspberry Pi HQ Camera: Autofocus for the Telephoto Lens (JiJi). The M5Stack application is programmed in MicroPython – LeMaRiva.

NumPy Illustrated: The Visual Guide to NumPy

NumPy Illustrated: The Visual Guide to NumPy – BetterProgramming and YouTube.

Learn to Code with Fantasy Football

Learn Python with Fantasy Football – fantasyfootballdatapros via Reddit.

How Python attributes work

Python behind the scenes: how Python attributes work – tenthousandmeters.

Python and MySQL Database: A Practical Introduction

Python and MySQL Database: A Practical Introduction – Real Python via Twitter.

PyDev of the Week: Froilán Irizarry Rivera on Mouse vs Python

CircuitPython Weekly Meeting for July 4th, 2021 (notes) on YouTube`

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? The Ultimate Component Storage System.

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.

No new boards were added this holiday week but there are some in development, stay tuned.

Looking for adding a new board to CircuitPython? It’s highly encouraged! Adafruit has four guides to help you do so:

New Learn Guides!

New Learn Guides

MagTag Twitter Display from Brent Rubell

Adafruit LTR390 UV Sensor from Brian Siepert

Adafruit SGP40 Air Quality Sensor from Kattni

Adafruit MagTag Project Selector from Dylan Herrada

CircuitPython Libraries!

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 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 289!

New Libraries!

Here’s this week’s new CircuitPython libraries:

Updated 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!

Bryan

The last two weeks have been fairly short for me due to schedule changes and the holidays. With that in mind, I’ve been largely focused on getting existing projects out the door as well as documentation and guide work. While it’s already into January, as I write this it’s the first work day of 2021 so I thought to reflect on the past year. It’s ended up being overlong for this format, and I think it’s important enough that I’ve split it off into a blog post. As I think the message is an important and with any luck a hopeful one.

Thanks all for being a part of my community and everything you’ve done to help in 2020.

Dan

I prepared and released CircuitPython 6.0.1. It fixed a significant BLE and FrequencyIO regressions. We also included Scott’s JSON speedup, which is substantial.

Since then, I’ve been working on fixes clearing the issue queue for 6.1.0. There are still a number of issues that need fixing or research.

Jeff

This week I released the next beta test version of CircuitPython, 6.1.0-beta.3. Thanks to contributions from Adafruit people and the community, we continue to move ESP32-S2 towards a stable release! Check it out and give us feedback.

Kattni

This week was a short week for me. I worked with Bryan on the new guide for the Adafruit LTR390, and created the Fritzing object for the board. I wrote the guide for the new MPR121 QT Gator breakout. I also did some miscellaneous support on Discord and the forums.

Lucian

This past week, I’ve been working on a new MagTag guide for smart flashcards, and reviewing further changes to the Socket module.

Melissa

This past week I took some time off and have been enjoying the holidays.

Scott

The big thing this week was getting the PinAlarm code merged in. PinAlarm allows you to wake from sleep (light or deep) based on the logic level of an external pin. This is commonly used to wake based on button presses or based on the interrupt line from an external sensor. Keep trying the latest versions of CircuitPython for the latest and greatest.

Upcoming events!

linux.conf.au 2021

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.

The schedule and tickets are available at lca2021.linux.org.auAnnouncement.

FOSDEM 2021 Python Developer Room

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 2021

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.

2021 Open Hardware Summit

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.orgOSHWA.

PyCon US 2021

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 Discord or on Twitter with hashtag #CircuitPython.

Latest releases

CircuitPython’s stable release is 6.0.1 and its unstable release is 6.1.0-beta.3. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20210103 is the latest CircuitPython library bundle.

v1.13 is the latest MicroPython release. Documentation for it is here.

3.9.1 is the latest Python release. The latest pre-release version is 3.10.0a3.

1,970 Stars Like CircuitPython? Star it on GitHub!

Call for help – Translating CircuitPython is now easier than ever!

CircuitPython translation statistics on weblate

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

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! They are accepting resumes through January 14th, 2021 – Adafruit Jobs Board.

26,495 thanks!

26,495 THANKS

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 26,495 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

ICYMI

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.

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 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.

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. You may also tag your information on Twitter with #CircuitPython.

Join our Discord or post to the forum for any further questions.