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

A Halo for Lucy – helping a dog avoid collisions using CircuitPython

Meet Lucy, a seven year-old border collie schipperke mix. 18 months ago, she was diagnosed with Progressive Retinal Atrophy — she is not getting enough blood flow to her retinae and she is slowly going blind. There is no cure.

Owner Bud Bennett purchased a halo. It is a metal hoop that surrounds her head. If she inadvertently gets too close to an object, the halo will collide with the object instead of her head. The contraption looks uncomfortable, but Lucy has tolerated it the few times she was burdened with it.

Bud has begun to investigate an alternative to the halo using CircuitPython – Hackaday.io

Add lights to a cosplay helmet with CircuitPython

From Issue 16 — HackSpace magazine, an intermediate project by Sophy Wong, some light soldering, create a simple program with CircuitPython, and even craft custom diffusers for external lights. To control the circuit, it uses the ItsyBitsy M0 Express from Adafruit. The ItsyBitsy gives you room to grow if you want to add more functionality to the helmet in the future. Maybe a voice changer? Or sci-fi sound samples triggered by capacitive touch areas on the helmet? The possibilities are endless, and once you’ve got your ItsyBitsy installed, it’s easy to reprogram with CircuitPython whenever you get a new idea.

Read more, buy issue, subscribe, and PDF.

HackSpace magazine – Adafruit Grand Central M4 Express review 9 out of 10!

The CircuitPython-powered Adafruit Grand Central M4 Express received a 9 out of 10 in HackSpace magazine! The Grand Central M4 Express packs a huge amount onto a microcontroller board. There’s enough IO to control almost anything, and the processing power to crunch through the massive amount of data it’s capable of bringing in. As the name suggests, it’s not the smallest board, but if you’ve got the room, this is a great brain for IO-hungry projects – HackSpace.

PyPortal and adafruit.io

There are going to be a lot of projects that use adafruit.io (a free Internet of Things service from Adafruit for makers) and PyPortal. We shipped a few units out and within a few hours, the demos and examples started pouring in! Here’s a forecast, as in a metric, not weath, display from Ron – Twitter.

CircuitPython snakes its way to the SAM32

The SAM32 is a Feather-sized SAMD51 with M4 core serving as UART bridge to WROOM ESP32, board view and GitHub.

New Atom package, now for safe CircuitPython editing

Atom is a popular multi-platform text editor, with excellent Python support, great for use with CircuitPython. But, out of the box, it may not edit files on a CIRCUITPY drive safely, because it doesn’t force all the data in a file to be written out immediately to the drive when you save. We’ve created a simple Atom package, fsync-on-save, to do this for you. This package replaces an older one, circuitpython-force-to-drive, which is now obsolete and has been deleted. The older package didn’t handle CIRCUITPY drives that had been renamed to some other name.

This immediate-write problem is only an issue on Windows and Linux. MacOS always writes out all the data to CIRCUITPY immediately, without help, so you don’t need fsync-on-save on MacOS. For more information about safe editing, check out this section on editing code in the Welcome to CircuitPython Learn Guide – Adafruit.

News from around the web!

Dave is making a Star Trek themed LCARs interface for a PyPortal alarm clock. Pictured here: “Night” mode, shifts to a red palette and dims along with weather display. Buttons of the left are for setting the alarm (time is synced hourly), and for telling mugsy to start a morning pourover – Instagram.

Darrell also received a PyPortal and quickly made a Twitter counter, nice work! Twitter.

Melissa noticed that the latest version of CircuitPython with terminal also runs on Hallowing – Twitter.

Pomodoro for the Adafruit Circuit Playground Express using CircuitPython – Video & GitHub.

USB Host Co-Processor (CircuitPython) & MicroPython): The USB Host co-processor connects USB devices such as USB keyboards to development boards without USB host ports or without USB host software. The connection is made via UART. Device specific firmware is programmed into the USB Host co-processor by dragging and dropping a firmware file – GitHub.

Groguard is adding Wi-Fi the Giant Board Linux Feather with a Wi-Fi FeatherWing – Twitter.

And in other Giant Board news, here is monitoring one Giant Board’s power consumption with another and uploading data to adafruit.io ! Great for seeing power usage plotted to a graph – Twitter.

Latest project design from CedarGrove. An E-rack module that compands CV signals. The CV input is amplified or attenuated and limited to a quantized output range. Hysteresis is used to squelch dead zone noise. The design incorporates CedarGrove’s CircuitPython library running on an Adafruit ItsyBitsy M4 Express – Twitter.

There are now .step, .stl, and .f3d CAR models for the PyPortal on GitHub.

Let’s try CircuitPython – Switch Science.

Microchip IoT Design week is March 11 to 15th, we’ll be posting up IoT projects which use Microchip products. Following along #IoTDesignWeek2019 and @MicrochipTech @MicrochipMakes via Dig-Key. Microchip has recently added Python on hardware to their publication “MicroSolutions Digital Magazine”PDF.

We started CircuitPython on Reddit recently and it’s really taking off! Thank you to the 300+ subscribers on reddit.com/r/circuitpython

Issue 16 — HackSpace magazine – Adafruit STEMMA soil sensor review, it received a 9 out of 10! – PDF.

Nordic nRF52 dev/platform v3.2.0 with Adafruit’s boards support – PlatformIO Community.

Python on Calculators: Prizm fx-CG50 and TI-Python for 83PCE – cemetech.net

MicroPython drivers for e-paper modules – GitHub.

i8080 emulator for MicroPython – GitHub.

Introduction to MicroPython for ESP32 – thecustomizewindows.com

An online Python Editor for Pokitto was released. It is a free tool which enables you to write and test MicroPython programs online and create the binary for Pokitto. No installation or login needed. To celebrate the release, there is also a coding competition – pyinsky.herokuapp.com

Matt posted up the notes, slides, and video from the most recent Melbourne MicroPython meetup – melbournemicropythonmeetup.github.io. Highlights include: Sipeed MAIX hardware with MainPy, LittlevGL MicroPython bindings, PyPortal (very cute guys!), MicroPython support for the W600 boards and Damien’s work on Native Modules in MicroPython.

Yes, you can put IoT on the blockchain using Python and the ESP8266 – Hackaday.

Mechanical Engineering Associate Prof. at UL Lafayette, Joshua Vaughan, posted up notes and audio from the recent MicroPython lecture series – Twitter.

LittlevGL is a high-level GUI library. It’s implemented in C and its API is in C, and it works with MicroPython – Micropython + LittlevGL.

uPyMySQL is a pure MicroPython MySQL Client – GitHub.

WifiMarquee – An ESP8266 based scrolling marquee that can be controlled through a web-based wifi interface – GitHub.

FBConsole is a frame buffer console class for MicroPython – GitHub.

Keith posted a Snek update – Snek is a tiny embeddable language targeting processors with only a few kB of flash and RAM. Think of something that would have been running BASIC years ago and you’ll have the idea. These processors are too small to run MicroPython – keithp.com/snek & GitHub.

Slides from the Doing IoT using Python/JavaScript on Microcontrollers MeetupPDF.

Hack my house: Raspberry Pi as a touchscreen thermostat – Hackaday.

Introduction on how to exchange information between a micro:bit and a Raspberry Pi using Bluetooth Low Energy (BLE) – ukbaz.github.io

BeagleBone AI, TI AM5729 processor featuring 4 PRUs and 4 EVEs – beaglebone.org

tinygo, a Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM – GitHub.

PyLondinium is a gathering opportunity for enthusiasts of the Python Language organised by PSF volunteers in the City of London. They are looking for proposals on every aspect of Python: programming from novice to advanced levels, applications and frameworks, web, data science, machine learning, numeric computing – PyLondinium

Python Elgato Stream Deck Library is an open source Python 3 library to control an Elgato Stream Deck directly, without the official software. This can allow you to create your own custom front-ends, such as a custom control front-end for home automation software – Python Elgato Stream Deck.

Python in Visual Studio Code – February 2019 Release – devblogs.microsoft.com

Python Security Best Practices Cheat Sheet – Snyk.io

List of IPython (Jupyter) Notebooks by Peter Norvig.

How much math can you do in 10 lines of Python – wordsandbuttons.online

Build Your First Open Source Python Project. A step-by-step guide to a working package by Jeff Hale.

So you want to make money on Donkey™ Car? – donkeycar.com

Release Radar, February 2019 – GitHub. Includes: Git History, quickly browse the history of any GitHub file, including the one that made this newsletter!

numplie is a tiny 1000 line LLVM-based numeric specializer for scientific Python code – GitHub.

Python 3.8.0a2, early developer preview of Python 3.8 – Python.org

Good post from The Mouse Vs. The Python on the tool chain (and more) for writing books about Python.

Travis CI joins the Idera family – Travis CI Blog.

CircuitPython Weekly for 4 March 2019 on YouTube

PyDev of the Week: Mariusz Felisiak on Mouse vs Python

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter?. CircuitPython THE MAGAZINE 🙂

PyPortal – Transport to a world of making things

The PyPortal is the fastest and easiest way to make whatever IoT ideas you’ve ever had, all with Python. We’ll include a few of the demos here each week during the launch, all the example files, code, and tutorials can be found on learn.adafruit.com

Bitcoin “worth” – enter in the total number of Bitcoins you have, it then goes out on the web and get the conversion, real-time.

How many ADABOXes are left before the cut-off date for shipment? Also, get an ADABOX if you have not. Curated Adafruit products, unique collectibles, and exclusive discounts. All delivered quarterly. Subscribe now or give AdaBox to a friend.

Playing around with a “ChicagoFLF” font to see how it looks on the PyPortal and it feel like the first iPods. This is to test some fonts.

Game of Portals, this is a countdown clock for when Game of Thrones is on next. The PyPortal starts up, gets the time, calculates the time from April 14th in the .py file, plays a tune, then on the final day, it swaps out the image to one of those White Walker Ice King people – Video.

PyPortal using the Hackster.io API to get the likes and views of the project page for itself. It’s now up to 8 likes and 146 views – hackster.io

Adafruit new products: it fetches the images, converts that image for the device, gets the title and link of the latest products.

This gets and sends weather and environment data using adafruit.io

Coming Soon

Flexible E-Ink! Using CircuitPython – Video.

Keyboard to UART.

We’re working on what might be the first IoT “View-Master” project. It uses the PyPortal to retrieve images online based on what you want to see, or what someone has suggested you check out. Good for cat photos. It’s good timing too, MGM and Mattel are teaming up to make a View-Master movie it seems.

HyperCard was released 32 years ago (in 1987), and we’re going to pay a bit of a tribute to it with some PyPortal projects, including making a great button to start.

What is HyperCard? HyperCard was a piece of application software and a programming tool for Apple Macintosh and Apple IIGS computers. It was among the first successful hypermedia systems before the World Wide Web.

HyperCard combined a flat-file database with a graphical, flexible, user-modifiable interface. HyperCard also included a built-in programming language called HyperTalk for manipulating data and the user interface.

This combination of features – a database with simple form layout, flexible support for graphics, and ease of programming – led many people to use HyperCard for many different projects. Some people used HyperCard as a programming tool for rapid application development of applications and databases, others for building interactive applications with no database requirements, command and control systems, and many examples in the demoscene.

HyperCard was originally released in 1987 for $49.95 and was included for free with all new Macs sold afterwards. It was withdrawn from sale in March 2004, having received its final update in 1998. HyperCard ran in the Classic Environment, it was not ported to Mac OS X.Wikipedia.

Say hi to Octocat!

New Learn Guides!

Getting Started with CircuitPython and Bluetooth Low Energy from Kattni

Adafruit PyPortal – IoT for CircuitPython from Kattni

PyPortal Adafruit Quote Book from John Park

Crickit Dancing Marionette Kit from Dano Wall

PyPortal IoT Data Logger with Analog Devices ADT7410, Adafruit IO and CircuitPython from Brent Rubell

PyPortal GitHub Stars Trophy from John Park

PyPortal Reddit Stats Trophy from John Park

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!

Keep checking back for more updated guides!

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

New Libraries!

Here’s this week’s new CircuitPython libraries:

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:

Library Last Week Total
Adafruit-Blinka 577 18497
Adafruit_CircuitPython_NeoPixel 129 2696
Adafruit_CircuitPython_MotorKit 81 1068
Adafruit_CircuitPython_LIS3DH 51 966
Adafruit_CircuitPython_PCA9685 47 1004
Adafruit_CircuitPython_ServoKit 45 666
Adafruit_CircuitPython_ADS1x15 39 1076
Adafruit_CircuitPython_Motor 39 1065
Adafruit_CircuitPython_CharLCD 38 7822
Adafruit_CircuitPython_BME680 35 515


Upcoming events!

March 11th, London, UK. Meet, learn and share ideas about MicroPython. Nicholas Tollervey will be telling us about the latest features of Mu – a free code editor for Python, MicroPython and CircuitPython devices – Meetup.

KiCon is a KiCad user focused conference. Held for the first time ever, April 26th and 27th 2019 in Chicago IL, USA. Adafruit is a sponsor – kicad-kicon.com

Digi-Key + Adafruit @ PyCon!

PyCon 2019 returns May 1–9, 2019 to Cleveland, OH, USA – with talks, tutorials, sprints, and more!

Big news! Digi-Key and Adafruit have teamed up for PyCon 2019. Every attendee (about 4,000!) will receive a SPECIAL EDITION Circuit Playground Express, running … CircuitPython.

This effort is to get Python on hardware to the most folks out there, at the events that bring people together.

This is just one of many efforts we’re teaming up with Digi-Key to continue to fuel all the developers from beginners to pro, using Python on microcontrollers.

What else is happening? The CircuitPython team will be running several Open Spaces sessions (as they did last year), showing how to use CircuitPython on the Digi-Key / Adafruit PyCon special edition Circuit Playground Express. We’ll have extra add-ons to play with also: potentiometers, NeoPixel strips, and servos. The team will be running a CircuitPython Sprint for several days to work on CircuitPython libraries and CircuitPython core code. BYOMUSB “Bring your own Micro USB” cables, we’ll have some to borrow during the sprints/sessions, as well as some USB C adapters, good idea to bring one too!

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.

We will have a lot more updates, stay tuned to the Adafruit blog, Twitter, Discord, and more!

Latest releases

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

20190304 is the latest CircuitPython library bundle.

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

3.7.2 is the latest Python release. The latest pre-release version is 3.8.2a0.

1059 Stars Like CircuitPython? Star it on GitHub!

Call for help – CircuitPython messaging to other languages!

We 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 – CircuitPython

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. HELP with CIRCUITPYTHON PROJECT – DCS CONCEPTS LLC, code for a prototype of a small fun electronic toy/game – jobs.adafruit.com

10,921 thanks!

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 10,921 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’ve started! 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.

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 Eastern Time US. This is the audio version on iTunes, Pocket Casts, Spotify, and XML feed.


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.