The Top Programming Languages 2019 – Python tops the charts with a CircuitPython nod!
Python comes in at #1 with a nod to Python on hardware! – IEEE Spectrum.
“Python is having an impact that could not have been anticipated when the language was first released in 1991. The dramatic increase in computing power found in microcontrollers means that embedded versions of Python, such as CircuitPython and MicroPython, are becoming increasingly popular among makers.”
CircuitPython 5.0.0 Alpha 2 Released!
This is the second alpha release of CircuitPython 5.0.0. Alpha releases are meant for testing. Use the latest stable 4.x release when first starting with CircuitPython – Adafruit.
Machine Learning with Microcontrollers Hack Chat
“Ladyada” Fried and PT will host the Hack Chat on Wednesday, September 11, 2019 at noon PDT / 3PM EDT – Hackaday.
Click here to join – hackaday.io
We’ve gotten to the point where a $35 Raspberry Pi can be a reasonable alternative to a traditional desktop or laptop, and microcontrollers in the Arduino ecosystem are getting powerful enough to handle some remarkably demanding computational jobs. But there’s still one area where microcontrollers seem to be lagging a bit: machine learning. Sure, there are purpose-built edge-computing SBCs, but wouldn’t it be great to be able to run AI models on versatile and ubiquitous MCUs that you can pick up for a couple of bucks?
We’re moving in that direction, and our friends at Adafruit Industries want to stop by the Hack Chat and tell us all about what they’re working on. In addition to Ladyada and PT, we’ll be joined by Meghna Natraj, Daniel Situnayake, and Pete Warden, all from the Google TensorFlow team. If you’ve got any interest in edge computing on small form-factor computers, you won’t want to miss this chat. Join us, ask your questions about TensorFlow Lite and TensorFlow Lite for Microcontrollers, and see what’s possible in machine learning way out on the edge.
A scary Python powered ADABOX is coming
This is the last week to sign up for the ADABOX 013, Halloween box. All we can say is that it has Python on hardware and it will be scary 🙂 JOIN US – ADABOX.COM.
CircuitPython snakes its way to the XinaBox Programmable Core
This tutorial will show you how to load an implementation of CircuitPython onto an XinaBox core, then use the Mu Editor to interact with it – Hackster.io
News from around the web!
Blinka appears on the “after dark” PCBs from OSH Park – Twitter.
The Open Book — An Open, Feather-Compatible eBook! – Hackster.io
STEM Cell Robotics has a cool vid of some cool kids with Circuit Playground – Instagram.
WoW classic anti-AFK tool using the Trinket M0 microcontroller as a HID – Instagram.
Thank you Geek Mom Projects! – Twitter.
Tool to generate native .mpy files from a .elf file – GitHub.
Nice little vid about being able to play WAV files on the Circuit Playground Express board using CircuitPython – Twitter.
SLCPython Sept Meetup 2019. In this meetup, Faris will be presenting the magic of a PyBadge using CircuitPython – YouTube.
“…MicroPython is the future for embedded electronics.”
Hackaday calls it –
“…MicroPython is the future for embedded electronics. We will always need embedded engineers, but in the same way that electronic design trended away from analog and toward digital, engineer-focused electronics will trend toward higher level languages and I think Python has already managed to vanquish its challengers.” – Mike Szczys, Editor in Chief, HACKADAY.
Huzzah 32 Matrix FeatherWing. A FeatherWing for the Adafruit Feather Huzzah 32 ESP32 board that connects to a RGB LED Matrix panel. Designed by Brian Lough – Tindie.
From Hackster, the Braincraft board! “Available as both a standalone board and as a Raspberry Pi HAT, the Braincraft board was conceived by Adafruit along with Pete Warden, part of the TensorFlow Lite team at Google, who was also involved in the design of the SparkFun Edge board.”
Proof of Concept of ESP32/8266 Wi-Fi vulnerabilities: CVE-2019-12586, CVE-2019-12587, CVE-2019-12588 – GitHub.
A curated list of awesome MicroPython libraries, frameworks, software and resource – GitHub.
Concurrently detect the minimum Python versions needed to run code – GitHub.
If the iPhone was created in the style of Apple’s retro computers – YouTube.
Some obscure C features – Pancakes and computers.
The latest IoT newsletter is out!
Our journey to type checking 4 million lines of Python – Dropbox.
Open Source Hardware Certifications For August 2019 – Make.
Regex Crossword.
Reach Robotics is closing up shop – TechCrunch.
Google’s Engineering Practices documentation, how to do a code review – GitHub.
Looks like AP Circuits is closed – Reddit via Twitter.
Daniel Garcia, the originator of FastLED, has passed away – Reddit.
wiringPi, wiringPi GPIO library – deprecated… lessons for the open-source community – Adafruit.
Hackaday turned 15 – YouTube.
Ren’Py, gotta try this out!
“Ren’Py is a visual novel engine – used by thousands of creators from around the world – that helps you use words, images, and sounds to tell interactive stories that run on computers and mobile devices. These can be both visual novels and life simulation games. The easy to learn script language allows anyone to efficiently write large visual novels, while its Python scripting is enough for complex simulation games. Ren’Py is open source and free for commercial use.”
There is also a Ren’Py HyperCard framework too.
The Importance of Diversity in Tech – Adafruit.
DeepFaceLab is a tool that utilizes machine learning to replace faces in videos – GitHub.
AI cheat sheets at aicheatsheets.com
Sensing the Air Quality, a low-cost IoT Air Quality Monitor based on the Raspberry Pi 4 – Towards Data Science.
The Fry’s Era by Jean-Louis Gassée –
“Throughout the 90’s and aughts, Fry’s Electronics was a Silicon Valley institution, a truly aboriginal techie bazaar where geeks could find everything they needed to live in autarky, from logic boards to voltmeters, dried noodles to “nice” clothes for a job interview, magazines, energy bars, mini-fridges… A quarter-century later, Fry’s stores have become sad, pale shadows of their glorious past.”
This HyperCard graphics pack is super cool.
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Device Simulator Express, a Microsoft Garage project.
PyDev of the Week: Aymeric Augustin on Mouse vs Python.
CircuitPython Weekly for September 3rd, 2019 on YouTube and on diode.zone
CircuitPython Weekly for September 9th, 2019 on YouTube
Made with Mu
Year 7 students take their finished Digital Technologies projects home – Twitter.
PyperCard on Android
A beginner friendly way to write cross-platform Python GUI apps, including Android. The HyperCard inspired GUI framework, PyperCard, is going mobile! Beginners will compile the apps “in the cloud” via the Mu editor – YouTube.
What’s the CircuitPython team up to this week?
Each week we have a mini-update on what the team is working on, here is what’s cookin’ this week!
Bryan
“Earlier week I finished on the TVL493D and Airlift Bitsy Add-on guides. Next up, I’m assembling, testing and getting started on the drivers for the PCT2075. This is an inexpensive I2C temperature sensor and “thermal watchdog”. This means that, in addition to getting the temperature, you can ask it to tell you when the temperature has gone above or below a temperature that you choose.”
Dan
“CircuitPython BLE HID devices (mouse, keyboard, etc.) are now working on iOS. Thanks to our resident BLE and HID expert Thach, who figured out the issue. I prepared and released CircuitPython, 5.0.0-alpha.1, the first release for major version 5 of CircuitPython. This release also includes support for monochrome and ePaper displays done by Scott, among many other fixes and additions. Check out the release notes and try it out! I fixed an odd problem with CircuitPython DotStar colors on the PyRuler. Sometimes we buy a new batch of a supposedly identical product, and it’s not quite the same as before. 🙂 This week, I’m working on adding bonding support to BLE. Bonding remembers pairing information, so you don’t have to re-pair every time.”
Jeff
“Hello from Nebraska! I’m Jeff (@jepler on discord and GitHub) and this is my first time writing for the Python on Hardware newsletter. I am working on the CircuitPython core. I continue to amass audio breakout boards, since audio has been the main aspect of my work on the core so far. My current project is to implement I2SOut for nRF boards like the Circuit Playground Bluefruit. While the PWM audio out I implemented this summer is okay, the quality is limited to 8 bits. With I2SOut, you will also be able to do 16 bit audio for CD-like audio quality. Image shows various audio breakouts around a central breadboard, with tools and equipment also visible. An nRF feather is running a PDMIn sound level demo adapted from Circuit Playground Express.”
Kattni
“This week I’ve been working on product guides. I added the new JST breakout and a CircuitPython example to the PDM Microphone Breakout guide, and wrote up the new guide for the ATECC608. We began working towards updating this guide so we have a better way to track open issues and pull requests across all of the library GitHub repositories. I’ve started working on the massive guide for the Circuit Playground Bluefruit, our latest Circuit Playground board. It’ll have all the details about the new board, including pinouts and a guided tour. Look for it soon!”
Lucian
“Hello from the Artisans Asylum of Boston! I’m Lucian (@hierophect), and this is also my first time in the Python for Hardware newsletter. I am developing for the STM32 port of CircuitPython, and related functionality. I am working to expand the functionality of CircuitPython across ST’s Discovery line of development boards, starting with expanded module support for AnalogIO and BusIO, as well as adding QSPI Flash support for the discovery boards that include it. I’ll also be working on standardizing support across the F411, F412, and F405 MCUs to support a wider variety of both ST and third party STM32 breakouts and development modules.”
Melissa
“I just finished up a guide on Object Detection with TensorFlow on the Raspberry Pi 4. You can check the guide out here. The next project that I’m working on is writing a guide to get Blinka up and running on the Nvidia Jetson Nano.”
Coming soon
Artemis Feather? Maybe! – Twitter.
CircuitPython on the STM32F412
Feather STM32F405 – How did we do?
Updates on our STM32405, previous post –
“we wanted to make a super fast stm32 based feather and decided to go with the tried and true STM32F405 which is small enough to fit, and super speedy! here’s our first pass at a Feather design – not fully finished (there’s a few more wires to route) but 95% of the way there! please check it out and let us know if you have any suggestions. we put the SD card on the sdio bus, have the two DAC’s on A0 and A1 to match our other feathers, and added some SPI flash (it doesn’t seem like the stm32f405 has a QSPI peripheral?) it’s 2.0?x0.9?, with USB C and should be compatible with all of our wings.”
Melbourne MicroPython Meetup
August 2019 Melbourne MicroPython Meetup – Thanks Matt!
New Learn Guides!
Adafruit Airlift Bitsy Add-On – ESP32 WiFi Co-Processor from Bryan Siepert
Saving CircuitPython Bitmaps and Screenshots 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 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 184!
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 |
1088 |
46199 |
Adafruit_CircuitPython_BusDevice |
701 |
20642 |
Adafruit_CircuitPython_MCP230xx |
369 |
6121 |
Adafruit_CircuitPython_NeoPixel |
132 |
6368 |
Adafruit_CircuitPython_ADS1x15 |
101 |
2801 |
Adafruit_CircuitPython_Register |
97 |
7520 |
Adafruit_CircuitPython_ServoKit |
84 |
3718 |
Adafruit_CircuitPython_PCA9685 |
81 |
4755 |
Adafruit_CircuitPython_BME280 |
81 |
2667 |
Adafruit_CircuitPython_Motor |
80 |
5335 |
Upcoming events!
PYCON UK 2019 – Cardiff City Hall, Friday 13th to Tuesday 17th September. PyCon UK is back at Cardiff City Hall, for five days of talks, workshops and collaboration. The conference also features a young coders’ day, themes dedicated to science and education, and numerous Python-related events – PyCon UK.
October is Open Hardware Month @ Open Source Hardware Association.
“October is Open Hardware Month! Check out the Open Hardware Month website. Host an event, find a local event, or certify your hardware to support Open Source Hardware. We are providing resources and asking you, the community, to host small, local events in the name of open source hardware. Tell us about your October event by filling out the form below. Your event will be featured on OSHWA’s Open Hardware Month page (provided you have followed OSHWA’s rules listed on the “Do’s and Don’ts” page).”
Read more, Tweet for speakers in 2020, and Open Hardware Month @ http://ohm.oshwa.org/
micro:bit Live 2019 is coming to BBC MediaCityUK, Greater Manchester, England on October 4-5. This will be the very first annual gathering of the global micro:bit community of educators and partners – micro:bit.
PyCon DE & PyData Berlin, Germany // October 9 – 13 2019. Main conference, 3 days of talks and workshops. More than 100 sessions dedicated to PyData (artificial intelligence, machine learning, ethics…) and Python topics (programming, DevOps, Web, Django…) – de.pycon.org.
Hackaday Superconference is November 15th, 16th, and 17th in Pasadena, California, USA. The Hackaday Superconference is returning for another 3 full days of technical talks, badge hacking, and hands-on workshops: Eventbrite & hackaday.io
Latest releases
CircuitPython’s stable release is 4.1.0 and its unstable release is 5.0.0-alpha.2. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20190909 is the latest CircuitPython library bundle.
v1.11 is the latest MicroPython release. Documentation for it is here.
3.7.4 is the latest Python release. The latest pre-release version is 3.8.0b4.
1378 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 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 Makey Makey, to micro:mag, to Hackaday, Microcenter, Raspberry Pi and more.
13,938 thanks!
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 13,938 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 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.
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. Join our Discord or post to the forum for any further questions.