View this email in your browser.
Hi everyone! Here is the latest Python for Microcontrollers newsletter brought you by the Python on hardware community! We’re on Discord, Twitter, and for past newsletters – view them all here. If you’re reading this on the web, subscribe here. Snake on through to the other side, let’s get slinking!
The many forks & ports of MicroPython
There are many interesting forks and ports of MicroPython and we are going to get them in one place with as much information as possible. This is the start of the list on GitHub, please add any comments there with ones we’ve missed, or open an issue/PR to update the list. The goal of this is not to encourage forks, it’s a list that has all the forks and ports, for what platforms, latest updates, and if they are open-source.
CircuitPython day in Beirut
Video from the CircuitPython celebration day in Beirut (2019), organized by Lamba Labs. This video is from last year, but was just posted on Twitter, it’s great!
Bluefruit Playground app updates!
The latest update for Bluefruit Playground on iOS turns you into a digital puppeteer! Simply attach Circuit Playground Bluefruit to the back of your hand with a rubber band and use familiar sock puppet gestures to control Sparky the Blue Smoke Monster.
Go full screen, record, and change backgrounds – you can even kick things up a notch by triggering emotes with CPB’s onboard pushbuttons. Head over to the Apple App Store to grab Bluefruit Playground – it’s free!
The QR code will take you right to the Apple – App store.
Get a CLUE at Pycon from Digi-Key and Adafruit!
Get a CLUE at PyCon US! Digi-Key and Adafruit have teamed up to get the latest and greatest Bluetooth and CircuitPython powered boards to each attendee, the CLUE!
“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 and some photos of PyCon hardware.
HackSpace has a MEGA DEAL!
The Raspberry Pi foundation is launching a time-limited special offer on subscriptions to HackSpace magazine and The MagPi magazine for readers in the USA, a savings of 48% compared to standard overseas subscriptions. They want to help as many people as possible get their hands on these fantastic publications. HackSpace 12 month subscribers get a free Circuit Playground Express – Raspberry Pi. You can subscribe to these magazines for the discounted price of $60 a year – just $5 per issue. Not only will you receive twelve issues direct to your door, but you’ll also receive a free gift and save up to 35% compared with newsstand prices. The discounted offer is only running until 31 March 2020 – Subscribe.
CLUE making the rounds in the news… CLUES NEWS.
Adafruit Clue: An affordable Arduino-alternative that comes with an IPS display and several sensors – Notebookcheck.
Adafruit CLUE sensor packed development board – Geeky Gadgets.
Adafruit Clue – love at first sight – RAREblog.
Testing of the Open Hardware Summit 2020 wrist-watch badge
Here are some photos and videos of the testing of the Open Hardware Summit 2020 wrist-watch badge! – Twitter. See the round up of the in-progress photos and builds – Adafruit.
Arm announces Cortex-M CPU Ethos-U NPU
Ok, big-ish news from ARM. ARM announced the Cortex-M processor (M55) and the Arm Ethos-U55 micro neural processing unit (NPU). The Cortex-M55 will be the next round of chips for embedded devices. ARM is really promoting the increase of speed for machine learning models. Expect to hear about Cortex-M and Ethos-U for “Edge computing” a lot.
We’ll get the chips as soon as possible, so we can get some great hardware to run our BrainCraft projects using TensorFlow lite, as well as CircuitPython.
- Unlock the Benefits of Artificial Intelligence for IoT Devices – Arm & PDF.
- Arm Cortex-M Series Processors – Arm.
- Enhancing the Capabilities of the Smallest Devices. Arm Helium technology is the M-Profile Vector Extension (MVE) for the Arm Cortex-M processor series. Helium is an extension of the Armv8.1-M architecture and delivers a significant performance uplift for machine learning (ML) and digital signal processing (DSP) applications – Arm.
- Arm focuses on AI with its new Cortex-M CPU and Ethos-U NPU – TechCrunch.
- Arm Cortex-M55 – Arm.
- Arm Ethos-U55 – Arm.
- AI for IoT: Opening up the Last Frontier – Arm.
- Arm Takes Aim at Low-Power Edge AI with New Cortex-M55 and Ethos-U55 Core IP – hackster.io
News from around the web!
MIDI Tinkering: Now with an LIS3DH accelerometer controlling modulation and an 8-way switch to change octaves by Blitz City DIY.
Kattni is mentioned in the latest PythonBytes: Episode #168: Race your donkey car with Python –pythonbytes.fm
Melissa tested out to see if CircuitPython and CLUE could work with the Bit:Buggy, it can! – Twitter.
And JP made sure it works with LEGO minifigures, it does.
Why did we call the CLUE, CLUE? Time to get a CLUE about why we called it CLUE: Product naming – Adafruit.
Special thanks to Andrew in the Adafruit community Discord server for making this CLUE pinout, here is the .ai file for download if needed.
Animated GIF playback on CLUE – We wrote a library to play animated GIFs on ‘arcada’ compatible boards in Arduino. The CLUE has a 240×240 display and two buttons, so it’s a perfect li’l GIF player. Check out the guide for a UF2 you can drag n drop onto your CLUE – YouTube.
Look at this cute CLUE powered mini-Ultimaker from Patrick, just look at it – Twitter.
We gave some CLUEs for Valentine’s day.
Allie and Digi-Key teamed up to teach over 106 kids all about coding – Twitter.
Gerald is testing a new CLUE with the Cube:Bit from 4tronix with the ColorPicker from the Bluefruit app using CircuitPython – Twitter.
Safety 1st Blink wearable: Safety Glasses outfitted with a CLUE for environmental sensing and display through an RGB LED ring – hackaday.io & YouTube at 19m 07s.
CircuitPython is bringing Python to more developers and makers around the world – Twitter. Anwesha Das also has a post/overview from the event.
Hackaday has posted the winners of their Tell Time Contest and there are some really great clock projects! This 7 segment clock, a runner-up by Alex Padilla, is neat, programmed in CircuitPython – hackaday.io
A Sliding Puzzle for the PyBadge and PyBadge LC – The Aspiring Roboticist.
CircuitPython library for the i2c Encoder from Simone Caron – GitHub.
MakerThornhill has been working on this cool ePaper/eInk version of the Doctor’s Psychic Paper using CircuitPython – Twitter.
First draft of eveL, the low-level module of the Gameduino bindings – GitHub.
Kevin’s CircuitBrains boards are now listed and live on circuitpython.org/downloads. Kevin submitted the Deluxe model to Crowd Supply and will have a project to support fabrication and fulfillment soon – Twitter.
David now is using a bigger thermal camera, using the PyPortal as a screen. Thanks to CircuitPython, the same code works on the Adafruit PyGamer, Clue and PyPortal boards. The only trick is to optimize for screen resolution – Twitter & GitHub.
PicoPew: A tiny game console shield for the TinyPICO – Tindie.
Sock puppet robot update! Getting its body! With sustainability and easy adoption in mind, Alex has been working to create a cardboard carapace for this bot. Plus, a potential AI upgrade and other cool tools and projects – hackster.io
CircuitPython on a Teensy 4.0 workin’ right out of the box – Twitter.
Greg Davill and Michael Welling are preparing a GroupGets campaign for the most excellent OrangeCrab. Launching soon! ECP5 + DDR + Feather form factor – Twitter.
Feather-format e-ink badge! – Twitter.
Thank you SupplyFrame and hackaday.io for sending us this poster!
On Language and Unifont by Joey Castillo.
Digi has a MicroPython mention “MicroPython edge compute capabilities” for their Embedded World 2020 efforts. Also, check out the Digi XBee development tools section on their site: MicroPython Programmability. Digi International manages their fork of MicroPython on GitHub as xbee-micropython. See the previous post on “MicroPython snakes its way to SparkFun Thing Plus XBee 3 in Adafruit FEATHER format.”
MicroPython on LEGO SPIKE Prime – Instructables.
micro:bit shaped boards and/or boards with the micro:bit style edge connector collection – Adafruit.
This has made the rounds everywhere, it uses an Adafruit FONA. How a Space Engineer Made Her Own Rotary Cell Phone: The funky DIY device is a creative way for her to eschew the always-on lifestyle – WIRED.
Hardware Flashback podcast, The Newton! – relay.fm
How to be a (More) Maker-Friendly AT Vendor – ATMakers.
ESP32 trick: Use your microSD jack as a JTAG connector – Twitter. You could probably use this Micro SD PCB extender if you don’t want to make a custom PCB adapter.
2019: The Year in Parts – Octopart.
Ultimate electronics online “book” – ultimateelectronicsbook.com
The PyPy folks have a new logo and new site, check it out – pypy.org
If you like this newsletter, you’ll probably like the Tindie newsletter: Fetch! – check it out.
USB Raw Gadget is a kernel module that allows to emulate USB devices from userspace. This repository contains instructions and examples for using Raw Gadget – GitHub.
The MCU Dilemma: Microcontroller vendors are breaking out of the box that has constrained them for years. Will new memory types and RISC-V enable the next round of changes? – semiengineering.com
A fun web toy / search engine for color palettes, using an algorithm called K-Means clustering, that can provide colors for specific words – thevangogh.in. This is CircuitPython, and it looks good!
repper.app is a very cool pattern making site. There’s a free 14 day free trial. We think we’re going to keep it after the trial period, so we can make these cool Blinka patterns for videos and more – repper.app
What are the underrated newsletters you like reading? – hackernews.
The BBC micro:bit with Giles Booth – kidslab.dev
UK police deny responsibility for a poster urging parents to report kids for using Kali Linux – ZDNet. The poster was found via Twitter. It might not be real – if a kid is doing all this, they’re a smart kid, and Kali seems to agree.
Top 10 FOSS legal developments in 2019 – Security Boulevard.
Python in Visual Studio Code – February 2020 Release – Microsoft.
Playing and Recording Sound in Python – Real Python.
TV backlight compensation – lofibucket.com
Contributing to CPython via Guido.
5 Things You’re Doing Wrong When Programming in Python – YouTube.
JustPy is an object-oriented, component based, high-level Python Web Framework that requires no front-end programming – JustPy.io
Vidify – Watch music videos in real-time for the songs playing on your device – GitHub.
Open inventory management and (coming soon) Point of sales (powered by Python) for small shops. Towards ERP. First-timers-friendly – GitHub.
Somewhat timely, on our weekly show, we talked about the counterfeits on Amazon of “The Art of Electronics by Horowitz & Hill” – we (Adafruit) purchase the books directly from the publisher (Cambridge Press), and then we see the same book on Amazon cheaper. Some of real, some were counterfeits, but we’ll never get the same kill-everyone-else pricing that Amazon does, or the same pricing a counterfeiter can do. We usually are pretty close with the pricing, but sometimes our price is a little more. The good news (sorta?) is that we have a ton of customers who have been burned by Amazon over the years, from counterfeit textbooks to counterfeit products, so specifically for the Art of Electronics, getting it from Adafruit is the for-sure way to make sure it’s the real version. We now have the X Chapters in stock and it’s the real one of course.
An overview of Bluetooth Beacons – Part 1 by Mohammad Afaneh. And part 2 was just posted as well.
PyDev of the Week: Martin Fitzpatrick on Mouse vs Python
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? The CLUE!
Feather M7 is moving along nicely – Twitter.
The BONSAI BUCKAROO for CLUE & micro:bit. We can’t wait for spring to arrive, and we’re looking forward to caring for some plants! We designed this little add-on for micro:bit or CLUE boards – you just bolt it on with 5 screws to get a buzzer/beeper, motor driver and breakouts for connecting a soil sensor (two alligator clips + nails work just fine). Simple, but effective! – YouTube.
Testing out sensor plotting directly on the CLUE display. We wrote a plotter/scope for the CLUE in Arduino. You can plot any of the built in sensors (light, temperature, pressure, humidity, color, proximity, accel, gyro, mag) all directly on the 240×240 display. We even added auto-scaling! this makes it really easy to test out the sensors and measure the world around us. Code – GitHub.
Displaying 9 DoF orientation in a browser using webserial with CLUE. The CLUE board has a 9 DoF motion sensor (accel/gyro/mag) that can be used to calculate orientation (video). It’s hard to visualize using just text. Normally, folks would use a Processing sketch to display the 3D model, but now that webserial is available in the browser, it’s much easier to use that! This website uses webserial to get the Euler angles & three.js to display a bunny that moves around. We’ll update it to use quaternions next – YouTube.
A bunch of PYLOTON projects, open-source smart-bikes and wearables.
Preview of maker.makecode support for nRF52840 – YouTube.
New Learn Guides!
BLE Synth with the Feather nRF52840 and Circuit Playground Bluefruit from Liz Clark
Introducing Adafruit CLUE from Kattni
CircuitPython TFT Candy Hearts from Carter Nelson
Bluetooth Cycling Speed & Cadence Sensor Display with Clue from John Park
Making a PyPortal User Interface with DisplayIO from Richard Albritton
NeoPixel LED Heart Necklace from Noe and Pedro
Tree with Animated Eyes and Motion Sensor from Erin St. Blaine
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 212!
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’s the team up to this week?
What is the team up to this week? Let’s check in!
This past week has been a fun time, working on a project and guide to make a Sip and Puff device that requires no soldering and very minimal code! I was able to make use of the Feather STM32F505 and its built in STEMMA QT connector to easily plug it into an ST LPS33HW ported pressure sensor, as well as a STEMMA QT OLED screen to output status and configuration information.
Along the way, I also learned a lot about Assistive Technology and the plethora of makers helping support it, making it more accessible and even more functional. ATMakers.org and Makers Making Change are two great organizations that are helping get AT devices, based on Open Source Hardware and Software, into the hands of folks that need it.
I’m happy to do what I can to contribute, and while the sip and puff I was able to put together is one among many, I look forward to contributing wherever I can.
The Sip and Puff guide is out now, so head over and take a look. See how you can use it, or one of the many other open source AT projects, to make a difference for people that need some assistance.
This week I fixed several of the remaining issues that needed resolution before we release CircuitPython 5.0.0 for general availability. On nRF boards, I coded around a hardware bug, so we can now use the fast SPI peripheral. The CLUE board display is now a lot faster. For all builds, I improved the accuracy of the time module functions from milliseconds to microseconds.
I helped Dylan and John Park use the BLE bicycle sensor library I wrote last week for a fun project. You’ll be seeing the Learn Guide for it soon.
We had a head-scratching bug about why I2C operations were getting slower and slower when used in a loop. I spent a lot of time on this, but it turns out it had nothing to do with I2C per se. Instead was due to a particular pattern storage allocations in the adafruit_bus_device library. I made the library more efficient, and the issue provoked Scott to make the storage allocator faster
I’m going on the road for a couple of weeks and packing just the basics to continue on my work with ulab and JEplayer.
When I’m not sightseeing, I’ll be busy with improvements to ulab, a numpy-like package for CircuitPython, and porting JEplayer’s UI to the PyPortal Pynt’s touchscreen.
This week I published the Introducing Adafruit CLUE guide. This guide has detailed information about all the features of CLUE with a thorough Pinouts page including images and a fancy edge-connector pinout diagram (courtesy of Andrew Tribble!), as well as setup instructions for both Arduino and CircuitPython.
Next, I worked on a series of CLUE demos using the new CLUE library: a height calculator, a spirit level, and a temperature and humidity monitor. I put together a quick guide page for each that will be available soon. They can be found under CLUE CircuitPython Demos in the Introducing Adafruit CLUE guide. The plan is to extend this series of demos. Next up is a compass demo. After that, who knows! There’s so many options with the CLUE, the possibilities are endless!
This past week, I continued working on WebSerial and adapting it to work with the new CLUE for calibrating the IMU sensor. Unfortunately, I kept running into an issue where it seemed to get overwhelmed by too much data and would slow way down, so I will probably be taking a different approach.
In order to gather my thoughts a little better, I switched over to working on Github issues for a few days. I’ve been focusing mostly on fixing some outstanding display issues and added a couple of new shapes to the Adafruit_CircuitPython_Display_Shapes library. Afterwards, I’ll be switching back to working on the CLUE board and IMU sensor again.
Last week I continued work on BroadcastNet. I’ve started getting PRs out, but everything is still pending. This week I’m working on using a Raspberry Pi 3 as a BroadcastNet bridge, with the hope it will be more reliable than an ESP32 wifi link. I’m very excited to use Ethernet for it.
Over the weekend, I attended PyCascades 2020 and it was great to see a bunch of awesome Pythonistas. I was the last talk and the video of it is available. – YouTube
This week so far, I took a detour into memory allocation performance, after Ladyada and Dan found something really weird. It was a really tight loop reading accelerometer data and storing it, where the gaps between reads increased from 1 ms to 10 ms and then reset. Turns out it was an un-optimized allocation case which I’ve now optimized as well. So, check out the last builds and let us know how it’s (hopefully) improved performance for you.
The 2020 Open Hardware Summit is March 13th 2020, NYU School of Law, New York USA. The “badge” for the event is CircuitPython powered!
“The Open Hardware Summit is the annual conference organized by the Open Source Hardware Association a 501(c)(3) not for profit charity. It is the world’s first comprehensive conference on open hardware; a venue and community in which we discuss and draw attention to the rapidly growing Open Source Hardware movement. Speakers include world renowned leaders from industry, academia, the arts and maker community. Talks cover a wide range of subjects from electronics, mechanics to related fields such as digital fabrication, fashion technology, self-quantification devices, and IP law. As a microcosm of the Open Source Hardware community, the Summit provides an annual friendly forum for the community.”
Additionally, there is a 2020 Open Hardware Summit topic on Discord to join before, during, and after! – Discord.
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.
CircuitPython’s stable release is 4.1.2 and its unstable release is 5.0.0-beta.5. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20190215 is the latest CircuitPython library bundle.
v1.12 is the latest MicroPython release. Documentation for it is here.
3.8.1 is the latest Python release. The latest pre-release version is 3.9.0a3.
1602 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 and greater 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.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 16,503 humans, thank you! Join today! https://adafru.it/discord
1,600 Stars on GitHub!
The CircuitPython repo on GitHub has now received over 1,600 stars. Do you like CircuitPython? Click the star to like it!
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.
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.