ICYMI (In case you missed it) – Tuesday’s Python on Microcontrollers Newsletter from AdafruitDaily.com went out.
If you missed it, subscribe now! – You’ll get one fab newsletter each Tuesday (before this post Wednesday).
The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware. No spam, no selling lists, leave any time.
Over 6,850 subscribers worldwide!
CircuitPython 5.0.0 Beta 0 released!
This is release 5.0.0 beta.0. Beta releases are largely feature-complete, but are meant for testing. Use the latest stable 4.x release when first starting with CircuitPython. When you find a bug please check the current known issues and file an issue if something isn’t already known.
5.0.0 is the latest major revision of CircuitPython. It features many improvements and enhancements to
displayio, including grayscale OLED and e-paper displays, extensive additions and changes to BLE support, support for the STM32F4 and Sony Spresense microcontrollers, and PWM audio support. Downloads are available from circuitpython.org! The site makes it easy to select the correct file and language for your board. The downloads page is here.
Python snakes its way to more newsstands
Magazine covers, even now, are still are one the places we as a society decide to celebrate specific people in some way. For business and tech publications, who, or what, we put on the cover and why says what’s important to us, what we’ve done, and where we are going.
For years, we’ve done a feature here on Adafruit called “We are what we celebrate” which is a quick look at what is on the newsstands. Check out all the posts “We are what we celebrate” on the Adafruit blog.
On a specific Python note, we’re seeing more and more Python, and Python on hardware articles, books, and magazines – a welcome addition to newsstands.
A CircuitPython ADABOX ships in a few days…
The next ADABOX from Adafruit ships in about 5 days! We are about to run out of openings, so move fast! – adafruit.com/adabox Curated Adafruit products, unique collectibles, and exclusive discounts. Delivered quarterly. Subscribe now or give as a gift! Make outside the box – ADABOX.COM GET ONE NOW, IT IS CIRCUITPYTHON POWERED!! – YouTube.
Arm AIoT Dev Summit December 2 – 3, 2019!
Arm AIoT Dev Summit, Mountain View, California USA, December 2 – 3, 2019. The Arm AIoT Dev Summit is a developer-focused conference that provides a platform for you to exchange knowledge, discuss real-world use cases and solutions, and get hands-on with expert-led, deep-dive training and workshops.
Adafruit hardware will be there!
Along with like-minded developers, data scientists, and innovators, you will experience technologies enabling the Internet of Things (IoT), Artificial Intelligence (AI) and robotics. Get your hands on free hardware worth up to $500 arm.com/AIoT-Dev-Summit
Take Flight with Feather – Hackaday and Digi-Key
The Adafruit Feather is the latest platform for microcontroller development, and companies like Particle, Sparkfun, and Seeed Studios are producing Feather-compatible devices for development and prototyping. Now it’s your turn. Design a board to fit in the Feather ecosystem and we’ll manufacture it. The best project in the Take Flight With Feather contest will be sent off to pick and place machines and head straight to the Digi-Key warehouse!
Here are just some of them! There are over 33+ at this time!
Stop by hackaday.io for more details!
Speaking of Feather!
SparkFun RED-V Thing Plus – SiFive RISC-V FE310 SoC takes flight with FEATHER
“… the Thing Plus footprint is also Feather-compatible, you can take advantage of existing shield options. We have included a Qwiic connector to enable future use of our handy plug-and-play I2C Qwiic Connect System which means no soldering or shields are required. With so much freedom & growing industry functionality, the SparkFun RED-V Thing Plus is an ideal choice for your RISC-V project.” – SparkFun.
MAKER CHRISTMAS PRESENTS – Issue 25 – HackSpace Magazine: Maker Christmas!
On pages 36 to 49 of the latest HackSpace, check out “MAKER CHRISTMAS PRESENTS – The best tools, toys, and trinkets for your hacker Christmas list” …. a bunch of CircuitPython powered boards, and more, made the list!
AND! If you do subscribe… you get a free CPX!
What else? CircuitPython and Bluetooth Low Energy by Ben Everard. Link your phone to your microcontroller to send data and commands:
“Bluetooth is in a bit of a funny position in the maker world. While theoretically it is really well placed to be a great addition to the maker toolkit, historically it’s not been widely utilised because it’s been hard to use. Part of the problem is the need to write two bits of software – one for the microcontroller, and one for whatever you’re sending data to it with, whether that’s a phone or computer. Where WiFi has enabled makers to do one side with a simple bit of HTML, Bluetooth has often needed a fully featured app. There’s also a bit of confusion about names – Bluetooth and Bluetooth Low Energy (BLE) are different things, yet are both often lumped under the moniker ‘Bluetooth’. We’ll be using BLE. Things are getting a little easier thanks to a really easy-to-use set of modules in CircuitPython and the Adafruit Bluefruit app.”
Testing CircuitPython Modules
Nicholas Tollervey’s post about the latest testing of the radio module –
“I was privileged to recently complete a block of work for Adafruit. I’ve written a CircuitPython module called
adafruit_radiothat makes it easy for Bluetooth enabled Adafruit boards to communicate with each other. The API is a simplified version of the work myself and a number of other volunteers did on the equivalent functionality for the BBC micro:bit.”
News from around the web!
The AD5245 Digital Potentiometer breakout board is a simple implementation of the Analog Devices’ I2C, 10K-ohm chip. The potentiometer sports 256 resistance steps and can work with a power source from 2.7v to 5.5v. The pins act similarly to a passive resistive potentiometer, but require that voltages placed on any of the three pins not exceed the power supply voltage or drop below ground potential. A CircuitPython library is included in the code folder of the GitHub repository.
“It blew people’s minds to see how easy CircuitPython is to use.” – Twitter.
CircuitPython sculpture clock adds character to any desk – Hackaday.
The Edge Badge not only runs CircuitPython, it can run an NES emulator – Twitter.
Nice post up at Embedded Computing Design Hackaday Superconference 2019: An Incredible Collection of People and Tech –
“…it was especially neat to run into Scott Shawcroft, who was introduced as pretty much being “CircuitPython,” the language that’s used to program the Adafruit Edge Badges that we received. These badges are conveniently set up so that when plugged in you can open up the program as a text file and make modifications.”
Buddy the Elf is coming soon – using CircuitPython and Circuit Playground Express Bluefruit – Twitter.
After dark Blinka board, originally designed by Deshipu, sent off by Melissa – Twitter.
Latest batch of SAM32 boards, fresh out of the oven! CircuitPython powered SAMD51 with an ESP32 coprocessor and SD card. Open source and documented – SAM32.
BastWAN with SMR34 compatible with CircuitPython from Electronic Cats – Twitter.
Conductive thread + Circuit Playground – Instagram.
“It might be Christmas at Costco for 3 months out of the year. At our house, it’s still Halloween. These rainbow steampunk goggles are all trimmed up and ready to be worn, reprogrammed, and expanded upon.” – Instagram.
What’s better than an electronic tour of “Sparky The Unicorn?” A ride on “Sparky The Unicorn” – Twitter.
Just say no to boring luggage with the help of NeoPixels! Inspired by the OOZE MASTER 3000 project by PaintYourDragon – Twitter. Also, one editor’s note, do not be “that guy” who always says something about the TSA and airline regulations on Twitter when someone posts a project.
Looking foward to what Jorvon comes up with for the next companion bot – Twitter.
BEHOLD!!! It is LED-henge, brought to you by Trinket and 8 NeoPixels – Twitter.
deshipu showed off the latest prototype of PewPew M4 at the HeroFest: The Gaming, Esports and Cosplay Festival in the BERNEXPO! – Twitter.
A Feather CANBus Shield, designed by IAmOrion in United Kingdom. This is a CAN-Bus shield, designed with novices in mind and so it uses 99% THT (through-hole components). It is designed to be used with any of Adafruit’s Feather range – Tindie.
Tumult Hype 4.0 – have not tried this out, but want to – Hype.
6 remarkable features of the new United Nations open source initiative – OpenSource.com
Unable to load code for ESP32 Dev Module board? We’re keeping an eye on this as the new Arduino Pro IDE – GitHub.
Where Can You Find Things Like Giant Sequins And Fake Dirt? Check Out the Great Big Exhibit Resource List! – ExhibiTricks.
Porting Adafruit ZeroDMA to Rust – GitHub.
A GitHub Arctic Code Vault Countdown with PyPortal – Using the PyPortal Event Countdown Clock guide, we took a PyPortal and made a countdown to the deadline for the Arctic Code Vault – learn.adafruit.com
NeoPixel bunny ?? – Instagram.
3D printed stars on trees – Instgram.
The latest ESP news is here! – Espressif.
Here is the latest edition of The Circuit where they bring you a bite sized digest of news, events, and jobs in the STEM and maker world.
STM32F405 Feather hooked up to a MPL115A2 telling me how cold a location is in the morning – Twitter.
Why is the migration to Python 3 taking so long? – Stack Overflow.
3d-ken-burns – This is a reference implementation of a 3D Ken Burns Effect from a single image using PyTorch. Given a single input image, it animates this still image with a virtual camera scan and zoom, subject to motion parallax – GitHub.
OpenRAM is an open-source Python framework to create the layout, netlists, timing and power models, and placement and routing models for SRAMs in ASIC design. It was just given $75k from Google in support of the project – OpenRAM.
Python Tutorial: Zip Files – Creating and Extracting Zip Archives – YouTube.
Fire and smoke detection with Keras and Deep Learning – PyImageSearch.
How To Run TensorFlow Lite on Raspberry Pi for Object Detection – YouTube.
Python in Visual Studio Code – November 2019 Release – Microsoft.
Legra (Lego brick Graphics) is a small library that lets you draw using LEGO® like brick shapes on an HTML element. This library defines basic graphics primitives like lines, rectangles, polygons, ellipses, bézier curves, etc. All shapes are drawn either outlined or filled in. The size and color of the bricks used can be configured. Legra can be used to create fun digital sketches, diagrams, or data visualizations – LegraJS, and GitHub.
The Circular Piano on Gaga’s Stage – PianoArc Story – YouTube.
Running Windows on a consumer calculator was a dream until the appearance of the HP Prime G2 Graphical Calculator. This calculator has the most superior hardware specification in the market so far. This post discusses the implementation of UEFI and ACPI on this device – imbushuo.net
Apple has broken ground on its new 133-acre campus in Austin, which will initially house 5,000 employees. They will make the Mac Pro there – Apple.
“A few years ago, I uploaded some interview snippets recorded in October 1983 with members of the original Mac team, intended for commercials that were never used. This post is the entire reel of proposed commercials, featuring mini-interviews with Mike Murray, Burrell Smith, Bill Atkinson, Susan Kare, George Crow and me.”
When we hear about how the teams from the Apple 1983 Mac effort emphasized ease of use and simplicity … it reminds us of many of the things we say and want to do with CircuitPython.
NASA’s Latest Software Catalog Offers New Codes, Easier Way to Download Free Software – NASA.
Here’s One Reason the U.S. Military Can’t Fix Its Own Equipment. Manufacturers can prevent the Department of Defense from repairing certain equipment, which puts members of the military at risk – NY Times.
NYC Mayor Signs Executive Order to Establish Algorithms Management and Policy Officer – NYC.
Information is Beautiful Awards 2019: The Winners – informationisbeautifulawards.com
Linux 5.4 Release – Main changes: Arm, MIPS & RISC-V architectures – cnx.
The Bus Ticket Theory of Genius, “to have a disinterested obsession with something that matters” – Paul Graham.
PyDev of the Week: Miguel Grinberg on Mouse vs Python
New Learn Guides!
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 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 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. 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 196!
Here’s this week’s new CircuitPython 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:
What is the team up to this week?
Epic week, all reporting in!
This week on my bench I have, drumroll please…. two more motion sensors! The ICM20649 and BMA456 have both made their way to me and I’ve successfully done initial tests with both. Next up, I’ll be working on drivers for both CircuitPython and Arduino. Is this the end of Motion Sensor Season? Only time will tell…
We released CircuitPython 5.0.0-beta.0 Tuesday, along with the companion new
adafruit_ble library! We’re now updating all our CircuitPython BLE Learn Guides to match the new API in 5.0.0-beta.0
This week I am improving how the CircuitPython software itself is built. I fixed a problem which could have caused translations to be incomplete, and worked on compatibility with a newer version of the GCC compiler. I also prototyped some performance improvements (15-30% increase running Python code according to one benchmark), but it is not yet compatible with all supported boards, so further work is required.
This week’s guide was the PA1010D Mini GPS Module – a little all-in-one breakout that uses I2C and has STEMMA QT connectors on it. The new guide has wiring diagrams, example code, and all the board information you need to get started with the Mini GPS Module. I started a guide for the Circuit Playground Tri-Color E-Ink Gizmo as well. The guide will include some easy-to-use CircuitPython code, making it super simple to get started adding an e-ink display to your Circuit Playground Express and Bluefruit projects.
Speaking of Circuit Playground, I also did a complete refactor of the Circuit Playground Express library to now include the Circuit Playground Bluefruit! All of the Express code will continue to work the same, but you can now use the same concepts on the Circuit Playground Bluefruit. It still needs to be fully tested, but quick tests were successful. The Bluefruit module has all the same features as the Express module, plus a couple of bonus features, and the plan is to eventually add Bluetooth features as well!
This week I worked on implementing the NeoPixel module into the STM32 port, as well as addressing some timing bugs in the SPI and delay code. I also implemented the true random number generator into os.urandom. This coming week, I’ll be working on adding new boards to the STM32 port, fixing some final issues with
displayio, and cleaning up the port structure to better handle the distinction between a board and an MCU package.
This past week I got back from Hackaday SuperCon where I had a lot of fun and got to meet a lot of awesome people. After getting back, I caught up on emails and other messages and went on to closing some outstanding pull requests. I also worked with Kattni to write the E-Ink Gizmo guide by adding the E-Ink Gizmo to the Gizmo Library and writing a quick example. After that, I added an example to the Adafruit EPD library and added E-Ink support to the Arduino ImageReader library. After the guide is available, I will be working on updating any guides for CharliePlexing with the IS31FL3731.
I had a great time last weekend chatting with folks at Supercon. Lots of interest in supporting CircuitPython on more hardware! Once back and caught up, I dove back into the new BLE library and dusted off the pairing support. Once paired, I got the Apple Notification Center Service up and running and then got BLE HID mostly working. This short week will be more BLE HID and also making an Apple Pie. ??
Arm AIoT Dev Summit, Mountain View, California USA, December 2 – 3, 2019. The Arm AIoT Dev Summit is a developer-focused conference that provides a platform for you to exchange knowledge, discuss real-world use cases and solutions, and get hands-on with expert-led, deep-dive training and workshops – arm.com/AIoT-Dev-Summit
TechAhoy Inc. is a nonprofit makerspace located in Queens, NY building tech literacy by educating, encouraging and empowering community members, some classes coming up!
“We are planning two family workshops that will be hosted over the weekend: 1. Code Together – learn to code with your kids using a Circuit Playground Express, an amazing board from Adafruit and 2. Light up the Night – learn how to add LEDs and EL wire to jackets, hats, and more. We are also offering the Code in Python class on Saturday December 7th at 3PM!”
Scott is speaking at PyCascades about Python’s Next Decade and Us. It’s February 8th and 9th, 2020.
“PyCascades is a two-day, single-track Python conference. We previously hosted PyCascades in Vancouver and Seattle. For our third iteration in 2020 we’ll be in Portland, Oregon USA. PyCascades is organized by members of the Python communities in Vancouver, Seattle, and Portland. We aim to bring together Python users and developers from both the Pacific Northwest and around the world.”
April 15-23, 2020, Pittsburgh, Pennsylvania USA – The PyCon 2020 conference, which will take place in Pittsburgh, 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 2020.
20191123 is the latest CircuitPython library bundle.
3.8.0 is the latest Python release.
ALL a BOARD – 87+ boards!
CircuitPython.org/downloads now has over 87 boards!
Latest boards include:
- The Edge Badge by Adafruit.
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 – Find a dream job, find great candidates!
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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 15,092 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.
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.
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.
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.