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

Python snakes its way on the SparkFun SAMD21 Mini

If you’ve got a Sparkfun SAMD21 Mini on hand, and you’d like to try it out with CircuitPython – you’re in luck! Shawn Hymel, engineer extraordinaire, just updated the “Installing CircuitPython on SAMD21 Boards” guide to include instructions and board definitions for this cute red board. The most recent hot-off-the-press builds are available in our S3 bucket here. Try it out today! – Adafruit.

CircuitPython snakes its way to hackaday.io APIs!

CircuitPython Hackaday portal, more soon 🙂 Video & CircuitPython Hackaday portal on hackaday.io. Uses hackaday.io api.

“Like” the project and it updates live on our desk!

10,000 thank yous!

The Adafruit Discord community where we do all our CircuitPython development in the open!

Together as a community, we reached over 10,000 humans on Sunday 1/13/19 around 11am ET with new human member endian, thank you! Join today! https://adafru.it/discord

Tim’s CircuitPython magazine spread

Timothy Garcia sent this wonderful CircuitPython magazine spread in, he writes “I just wanted to share a magazine spread design I did themed around CircuitPython for my final exam for InDesign CC at Uni. It was a four-hour exam but felt like fifteen minutes because I enjoyed working with the content. I took the photos from the Adafruit Flickr, It was a great resource ! Thank you and to the rest of the Adafruit team for serving as an inspiration to many of my design school projects.”PDF.

CircuitPython in 2019

As 2018 comes to a close we like to reflect on how the year went and set goals for 2019. In the last two years (2017, 2018) this has been a blog post by Scott (aka tannewt). For 2019, we’d like to do it a bit differently. This time we’d like everyone in the CircuitPython community to contribute by posting their thoughts to some public place on the Internet.

We’ll read these over the holidays and into the first half of January. After the January 14th CircuitPython weekly we’ll draft an overarching vision post for CircuitPython in 2019 and discuss it in the following meeting.

See the blog post for more details.

News from around the web!

Sophy Wong has some sneak peeks of a CircuitPython light painting glove for HackSpace Magazine captured in-camera with a long exposure and hand held flash. You can do a lot with just one NeoPixel! – Twitter.

Preview of a self-powered “classic” MIDI interface for the Adafruit Trellis M4’s STEMMA interface. Provides MIDI Type B current-loop input and output using the M4’s UART mode. Purple PCB from Oshpark sized the same as a quarter PermaProto board. Coded with CircuitPython by CedarGrove – Twitter.

Sandy made a sound effect board using public domain sound files from the National Park Service and CircuitPython! – Twitter.

Dotstar grid working with a Trinket M0 using CircuitPython – Twitter.

Because you need a clock that just says “It’s daytime”, a 24 hour 180 degree clock by David Goodwin, made with CircuitPython – YouTube.

Adafruit Feather nRF52840 Express with CircuitPython powers the IoT Octopus32 – Twitter.

Embedded.fm featured CircuitPython on episode “272: STICK ‘EM ON WHALES” 34mins in – embedded.fm

Use the RP NJ CoderDojo Blockly IDE to create, deploy and run an Adafruit CircuitPython program on a Raspberry Pi with an attached Adafruit Crickit Hat – YouTube.

Oshpark posted up @groguard’s Giant Board which runs Linux in the form factor of the Adafruit Feather – Oshpark.

PyBoard Color LCD Skin with Resistive Touch – LCD160CR v1.1. Looks like it will work with the upcoming PyBoard D (featured in our previous newsletter) – Adafruit.

foamyguy loves Python and messing around with electronics. Boards such as Adafruit’s Circuit Playground Express make it easy for him to take both anywhere – Hackaday.

Laser cut, edge-lit, LED CircuitPython based clock from Geek Mom Projects – Twitter.

Introduction to Trinket M0 – coyote.edu.gr

CircuitPython on the ESP8266 – pdbartsch.github.io

Dotstar (aka APA102) library for MicroPython by mattytrentiniGitHub.

Adventures in Manufacturing Automation talk at Hackaday SuperconferenceHackaday.

Translating microbit.org – Are you fluent in more than one language? Read on to find out how you can contribute to the microbit.org translation project – microbit.org

uble is a lightweight Bluetooth Low Energy driver written in pure Python for MicroPython – GitHub.

FarmNet is an open source LoRa-based farm sensing and actuation network – GitHub.

toaru_jpeg is C rewrite of a minimal Python JPEG decoder – GitHub.

And… toaruos is a completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc. – GitHub.

New and expanded edition of “Invent To Learn” by Sylvia Libow Martinez, Gary S. Stager Ph.D., now available with 25% more content. Updated resources. New tech addressed include Adafruit, Circuit Playground, Python and more – Amazon.

Python For Beginners – This repo is focused towards people who are learning Python for the first time – GitHub.

Pixelizator. Pixelize your images with Swift or Python – GitHub.

Pyinstrument is a Python profiler. A profiler is a tool to help you ‘optimize’ your code. Pyinstrument shows you why your code is slow – GitHub.

Python with a Cocoa GUI on macOS – The Daily Photon.

What I’ve Learned About Optimizing Python – Gregory Szorc.

How Python does Unicode – b-list.org

Space_Invaders. Python clone with a modern twist – GitHub & video.

Tracking Orangutans with Drones and Gnu-Radio (v2.0) – Machine Doing.

Python write list to file – 8 bit avenue.

Python Best Practices for More Pythonic Code – Real Python.

Why is Python so slow? – Anthony Shaw.

Progress Bars in Python – Sam Wilkinson.

mkepub is simple minimalistic library for creating EPUB3 files – GitHub.

Socket Programming in Python: Client, Server, and Peer Examples – PubNub & video.

New year, new GitHub: Announcing unlimited free private repos and unified Enterprise offering – GitHub.

You can now set your status on GitHub! Use your status to share specific information with only your organization, or share a status with all of GitHub – GitHub. You can set it to an emoji, we set ours to a python.

IRCCloud is a pay-for service that integrates IRC to services like Slack, might be handy … IRCCloud.

PyDev of the Week: Lance Bragstad from Mouse vs Python

CircuitPython Weekly for January 14th, 2019 on YouTube

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Adafruit Grand Central M4 Express featuring the SAMD51.

Coming soon

E-Ink Featherwing.

Minor update to the upcoming CircuitPython 4 poster, special thanks to Nordic!

New Learn Guides!

Spinning Disc Step Sequencer from John Park

Python Debouncer Library for Buttons and Sensors from Dave Astels

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

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:

Repo Last Week Total
Adafruit-Blinka 1648 14063
Adafruit_CircuitPython_CharLCD 870 5905
Adafruit_CircuitPython_RFM69 551 4352
Adafruit_CircuitPython_BusDevice 429 6961
Adafruit_CircuitPython_seesaw 296 2050
Adafruit_CircuitPython_TMP006 286 1672
Adafruit_CircuitPython_TCS34725 282 2002
Adafruit_CircuitPython_RFM9x 280 2011
Adafruit_CircuitPython_74HC595 279 2124
Adafruit_CircuitPython_TMP007 279 1811

Adafruit library usage on Raspberry Pi

Thanks to some database query’in by Raspberry Pi Community Manager Ben Nuttall, we’ve got some nifty stats to share about Adafruit library usage on Raspberry Pi! Piwheels is the Raspberry Pi ‘PyPi Mirror’ and is the site most Pi users grab files from when they run ‘pip’.

 

This graph shows month-over-month (not cumulative) growth of some of the core Adafruit python support libraries. Not too surprising, lots of people are using them now that we’ve got 125+ CircuitPython drivers and libraries that can now be used on Raspberry Pi.

Starting in May 2018, the big increase is from when we went through all of our guides to test and add Pi wiring/usage info, while deprecating our old “pure python” drivers. You can also see a dip in Adafruit-GPIO downloads in December, which is when we moved Blinka to using Adafruit-PlatformDetect for determining which Raspi we’re running on and removed the dependency.

We expect to see more and more Raspberry Pi / Linux users taking advantage of our huge collection of CircuitPython library in 2019! Stay tuned for more stats throughout the year.

And a note from the community… via Twitter RPJ’s bots @rpjios writes – “I’m already relying heavily on your libraries for my RPi sensor data platform… Thank you so much for being such an awesome and prolific community contributor. You’re single-handedly enabling so many amazing things!” RPJiOS: RPJ’s RPi OS, a sensor data platform for the Raspberry Pi built with Python 2.7 and redis – GitHub

piwheels stats for 2018

piwheels was launched in mid-2017, and started counting downloads in November of that year, so now there is over a year’s worth of data on which packages have been downloaded, and how much time has been saved.

If you’re not familiar, piwheels.org is a Python package repository providing natively compiled wheels for the Raspberry Pi’s Arm architecture, making pip installations fast for Raspberry Pi users.

In 2018, a total of 5,154,233 packages were downloaded, saving users 39 years, 10 months and 29 days. Some more stats for the year:

  • Average daily downloads: 14,519
  • Average monthly downloads: 429,519
  • Most downloads in one day: 25,389 on 30 November
  • Most downloads in one month: 662,621 in December (21,445 daily average)

Read the entire post here – piwheels.org

Upcoming events!

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.

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

755 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

jobs.adafruit.com has returned and folks are posting their skills (including CircuitPython) and companies are looking for talented makers to join their companies. It’s a new year, get the perfect job for you, featured jobs: Community Manager – Hackaday, Club Program Coordinator & Club Growth Manager – Raspberry Pi.

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.

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. Join our Discord or post to the forum for any further questions.