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

CircuitPython support for the Makerdiary nRF52840 MDK added

Support for CircuitPython has been added to the Makerdiary nRF52840 MDK USB dongleGitHub.

The nRF52840 Micro Dev Kit USB Dongle is a small and low-cost development platform enabled by the nRF52840 multiprotocol system on a chip (SoC) in a convenient USB dongle form factor.

The nRF52840 Micro Dev Kit USB Dongle features a programmable user button, RGB LED, up to 12 GPIOs and a 2.4G Chip antenna on board.

The USB dongle can be used as a low-cost Bluetooth5/Tread/802.15.4/ANT/2.4GHz multiprotocol node or development board. Alternatively the USB dongle can be used as a Network Co-Processor (NCP) with a simple connection to a PC or other USB enabled device.

Thanks gpshead!

To the stars! 800!

Thank you Luciano for being the 800th person to star the CircuitPython repo on GitHub!Twitter.

CircuitPython snakes its way to the SparkFun LumiDrive LED Driver

More boards are supporting CircuitPython! Check out the SparkFun LumiDrive LED Driver. Here’s how and why SparkFun chose CircuitPython for their latest board, the LumiDrive LED Driver.

“CircuitPython is Adafruit’s version of MicroPython. What pray tell, is MicroPython? MicroPython is Python 3 for microcontrollers. MicroPython takes the power of the wildly popular Python interpreted language that is easy to use, easy to read, and powerful and makes it usable for microcontrollers. It feels familiar in the way you declare and use pins but unlike Arduino, you don’t have to compile or upload your code. This is because your microcontroller acts like a USB drive when you plug it into your computer. The code simply lives as a file that you modify directly and when it’s saved, it is automatically loaded. Algebraic! It’s also compatible with the Python 3 you have on your computer so that you can develop seamlessly on your desktop! Why are we using Circuit Python? Circuit Python has the advantage of having many libraries built in by default that are catered toward entry-level hobbyists. In the case of the LumiDrive, we’ll be utilizing the DotStar library, Adafruit’s library for APA102 LEDs.”

LumiDrive Hookup Guide, Product Showcase: SparkFun LumiDrive LED Driver video, and product page.

CircuitPython in 2019, thank you!

For 2019, we asked what everyone in the CircuitPython community to contribute by posting their thoughts to some public place on the Internet, and you did! Thank you! We’ve collected them on the blog, tagged #CircuitPython2019 – Adafruit.

Soon, we’ll draft an overarching vision post for CircuitPython in 2019 and discuss it in the weekly CircuitPython meetings on Discord, 2pm ET, every Monday.

See the blog post for more details.

News from around the web!

How to control motors from Raspberry Pi with Adafruit DC Motor Controller and CircuitPython – hackster.io. SciJoy learned how to control DC motors with a Raspberry Pi Zero W and an Adafruit Feather Motor Controller board using CircuitPython. They learned how to use the TB6612FNG chip to drive the motors. That chip has two full H-bridge circuits to control the direction of the motors. The Feather also has a PCA9685 chip, which is a PWM driver. It communicates with the Raspberry Pi over I2C. The robot uses the Blinka library to translate between Python 3 and the CircuitPython libraries – YouTube.

arofarn extend their Trellis M4 board with 2 NeoTrellis (seesaw)… here is the simpletest for multi-Trellis module working! – GitHub & video.

St. Mary’s Episcopal School 6th grade class is using the CircuitPlayground Express for coding – Twitter.

Hackaday.io has a curated list of CircuitPython projects, check’em out – hackaday.io

Chris Osterwood, CEO of Capable Robot Components, announced that the SenseTemp, their Open Source four-channel temperature sensor for instrumenting electronics is now available on Crowd Supply. It’s based on the Adafruit Feather using CircuitPython firmware that is easy to adapt to your test needs.

Geek Mom Projects made a game of four-in-a-row on the edge-lit matrix. Coded in CircuitPython on a Circuit Playground Express – Twitter.

“The Stress Management Mask 1000” made with CircuitPython and Mu by Teachingpython – Twitter.

Owain made a fun Saturday morning project, a remote controlled bell dinger using CircuitPython – Twitter.

In 2019 iTapArcade plans to focus on getting makers excited to code in CircuitPython based on creating embedded games and wirelessly interacting with mobile games leveraging CircuitPython and Circuit Playground Express. iTapArcade plans to add Bluetooth to the current Game Shield Kit for Circuit Playground Expressitaparcade.com

micro:mag Issue 3 is out! This issues features “10 Amazing micro:bit Projects” and has a review of the Adafruit CRICKIT, 9 out 10! – micromag.cc & PDF.

Python creator, Guido van Rossum, is enjoying GPIOzero. We love it too – did you know that the API that we designed for CircuitPython is inspired by GPIOzero? That’s why there are so many similarities in the abstractions – Twitter.

Ben added a documentation page for people migrating from RPi.GPIO to GPIOzero – readthedocs.io

Newt-Duino: Newt on an Arduino, looks like Keith managed to get a super tiny version of Python on an Arduino Duemilanove – keithp.com

fridgedoorhack is a MicroPython program that plays an alarm if a door was left open. It plays RTTTL (Nokia) ringtones on a piezo buzzer and logs events to a file. It also plays a confirmation sound if a door is closed. It uses uasyncio for co-routines – GitHub.

Installing MicroPython on the Sipeed Maix range of RISC-V 64 boards – Robot One Zero.

Using the Wii Nunchuck controller with MicroPython on ESP8266 – MCHobby Blog.

Python on Hardware community hub on hackster.io – Based on MicroPython, a new lean and efficient programming language optimized to run on microcontrollers and in constrained environments – hackster.io

LoRa with MicroPython on the ESP8266 and ESP32 by German Gensetskiy.

Parallax asks “What language would you like to focus on in the classroom for future Propeller-based learning?” in a Twitter online poll, so far MicroPython is leading with 50% of the votes. Parallax is also answering questions about learning Python with their new “Ask Miguel” series.

Getting started with picamera using Python – projects.raspberrypi.org

Rainbow Vomit is for driving WS2812 LEDs from a computer using PythonGitHub.

micro-jpeg-visualizer is a JPEG visualizer in just 250 lines in easy to read Python 3.0 code – GitHub.

PyDev of the Week: Nina Zakharenko – Mouse vs Python. Nina will be doing a talk “Light Up Your Life – With Python and LEDs!” which includes CircuitPython at PyCascades!

How not to be afraid of Python anymore. A dive into the language reference documentation by Neil Kakkar.

Python Lessons Learned. Read This Before You Start Building a Distributable Python Package – jongallant.com

Yellowstone Sound Library – This warehouse collects the public sound library of Yellowstone National Park (USA). These sounds contain the sounds of the natural environment and animals. Contains MP3s, photos, and more. Including the Python code used to fetch’em – GitHub.

JupyterLab is the next-generation web-based user interface for Project Jupyter. Try it on Binder. JupyterLab follows the Jupyter Community GuidesJupyterLab Documentation.

A new Python kernel for Jupyter by Martin Renou.

How to unzip a file, extract single, multiple, or all files from a ZIP archive using Python – thispointer.com

Machine Learning in Python – pyimageresearch.

What you should know about Python list by Yasufumi Taniguchi.

Dockerizing Python Applications – Stack Abuse.

Automated Machine Learning in Python by Derrick Mwiti.

howmanypeoplearearound calculates the number of people in the vicinity using the approximate number of smartphones as a proxy. A cell phone is determined to be in proximity to the computer based on sniffing WiFi probe requests. Possible uses of howmanypeoplearearound include: monitoring foot traffic in your house with Raspberry Pis, seeing if your roommates are home, etc. – GitHub.

Python Discord is the official Discord server of r/Python. It’s a large, friendly community focused around the Python programming language, open to those who wish to learn the language or improve their skills, as well as those looking to help others – Discord. Additionally, they also have a handy resource page.

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? CircuitPython on the SparkFun SAMD21 Mini Breakout.

Happy Mu Year 2019! Mu, version 1.0.2 is here!

This is a bug fix release with numerous contributions from the growing community of volunteer developers. Collectively, the Mu community has fixed and improved many of the things users have been requesting.

Adafruit specific updates: More devices for Adafruit mode along with a capability to work with future devices which have the Adafruit vendor ID. The update also adds Particle Argon, Boron and Xenon boards to Adafruit mode, since they’re also supported by CircuitPython.

Please see the release notes for details of the fixes made – MadeWithMu & download.

Coming soon

Metro M4 WiFi Express, SAMD51 with all the goodies you expect for CircuitPython + ESP32 co-processor (caboose?) on the SPI bus to do SSL, WiFi and maybe even BTLE! Best o’ both worlds 🙂

We’re previewing a fun CircuitPython powered IoT device, in testing we’re using some APIs to get live data, including sites like hackaday. The in-progress project is posted on hackaday.io and there’s a post about it! HACKING HACKADAY.IO FROM CIRCUITPYTHON

Here’s what Hackaday had to say about the project, and specifically CircuitPython – “We’ve been seeing a lot of CircuitPython code lately. Just in case you’re not familiar with it, CircuitPython is Adafruit’s version of Micropython, a Python language targeted at embedded processors. While it sounds like something concocted purely to make old-school embedded-C programmers grumble, it’s actually powerful and convenient for embedded prototyping and development. Fueled by the speed of the latest inexpensive microcontrollers and a rapidly growing set of libraries that take the sting out of using integrated peripherals and common hacker-friendly parts, it offers a solid alternative to older embedded frameworks. There are lots of examples around if you want to get started.’

GitHub resources for all

GitHub Learning Lab has a ton of excellent resources if you just starting out with using GitHub or if you’re a pro!

Aaaand! On the Adafruit Learning System we have Contribute to CircuitPython with Git and GitHub by Kattni.

New Learn Guides!

Music Box with Dancing Adabot from Dano Wall

Grand Central Soundboard in Ten Minutes from Mike Barela

LoRa and LoRaWAN Radio for Raspberry Pi from Brent Rubell

Introducing the Adafruit Grand Central M4 Express from Kattni Rembor

Updated Learn Guides!

Welcome to CircuitPython! from Kattni Rembor

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!

Adafruit 16-Channel Servo Driver with Raspberry Pi

Adafruit PCA9685 16-Channel Servo Driver

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

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:

Repo Last Week Total
Adafruit-Blinka 1623 15683
Adafruit_CircuitPython_CharLCD 864 6769
Adafruit_CircuitPython_BusDevice 776 7736
Adafruit_CircuitPython_RFM69 562 4914
Adafruit_CircuitPython_seesaw 315 2362
Adafruit_CircuitPython_74HC595 304 2428
Adafruit_CircuitPython_TCS34725 303 2305
Adafruit_CircuitPython_MPR121 300 2654
Adafruit_CircuitPython_RFM9x 299 2310
Adafruit_CircuitPython_Crickit 298 2548

Upcoming events!

PyCascades 2019! February 23 — 24, 2019, Seattle. WA. PyCascades is a two-day Python conference that will be held in the scenic coastal city of Seattle, Washington (USA).

Nina Zakharenko will be doing a talk “Light Up Your Life – With Python and LEDs!” which includes CircuitPython!

Organized by members of the Python communities in Vancouver, Seattle, and Portland, they aim to bring together Python users and developers from the Pacific Northwest and around the world – 2019.pycascades.com Tickets are on sale now!

May 2019 Cleveland, Ohio! 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 – PyCon.

Latest releases

CircuitPython’s stable release is 3.1.2 and its unstable release is 4.0.0-alpha.5. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20190121 is the latest CircuitPython library bundle.

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

3.7.2 is the latest Python release.

815 Stars Like CircuitPython? Star it on GitHub!

Call for help – CircuitPython messaging to other languages!

We recently 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 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. FEATURED JOB: 3D Generalist, and 3D Environment Artist, Iridium Studios Los Angeles, California – jobs.adafruit.com

Join the 10,000+ community!

The Adafruit Discord community where we do all our CircuitPython development in the open reached over 10,154 humans, thank you! Join today! 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’re trying out! 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.


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.