The joys of using Python on embedded devices – Keynote at PyCon!
PyCon announced that Nina Zakharenko will be a keynote speaker this year at PyCon! Nina will share the joys of using Python on embedded devices and how it impacts and grows our community!
Nina is a software engineer with over a decade of experience. She currently focuses on Python at Microsoft on the Cloud Developer Advocacy team. In the past, she’s written software for satellite control computers at HBO, code that’s helped people connect over their passions at Meetup, and implemented time-wasting features on Reddit.
Nina loves teaching developers and has spoken at conferences like PyCon Russia, EuroPython, and DjangoCon in the US and internationally. This year, she’s looking forward to attending her seventh PyCon, where you’ll find her co-organizing Mentored Sprints for Diverse Beginners.
PyCon 2019 Keynote speakers – PyCon.org
Python snakes its way to USB Hubs!
The Capable Robot Programmable USB hub is a USB hub that’s also a dev board and an I2C, GPIO, and SPI bridge. In addition to being a 4-port USB 2 High-Speed hub, this programmable USB hub is also a CircuitPython based development board!
An ATSAMD51 microcontroller configures the USB hub IC and is available for you to reprogram to change the behavior of your hub. The microcontroller ships with open source CircuitPython firmware which is updatable over the MCU USB connector. No drivers or reflashing hardware is needed. The Python firmware shows up as files on a small flash hard drive when connected to your computer and can be immediately edited.
We’ve signed up for updates on the Crowd Supply Page! We’ll see if we can get one to review as well.
HackerBox #0041 – Python-powered!
We are thrilled that the latest HackerBox is shipping with CircuitPython! HackerBox 0041 includes CircuitPython, MakeCode Arcade, the Atari Punk Console, and much more. This Instructable contains information for getting started with HackerBox 0041, which can be purchased here while supplies last.
Topics and Learning Objectives for HackerBox 0041:
- Exploring the SAMD51 ARM Cortex M4
- Embedded programming with CircuitPython
- Retro game design for MakeCode Arcade
- Assembling the Atari Punk Console Synth
HackerBoxes is the monthly subscription box service for DIY electronics and computer technology – HackerBoxes & YouTube.
15,000+ on Python Discord, congrats!
Adafruit is a partner on the Python Discord, and to celebrate the Python Discord server reaching 15K members, one of the server owners, Lemon, and a moderator, Eivl, have teamed up to do a tribute to Hot Ones by First We Feast while answering questions from the community – YouTube, Python Discord, & JOIN! The team used CircuitPython for a HOT project in the video!
News from around the web!
Ben posted up a bunch of great photos of the latest batch of Mini SAM M4s. Mini SAM is a LEGO minifigure-sized development board based on the Microchip SAMD51G 48-Pin 32-Bit ARM Cortex-M4F MCU running at 48Mhz – Minisam.cc & circuitpython.org download page.
Scott has some more progress on the CircuitPython powered GameBoy cart with MIDI in the works – YouTube.
Building a Standalone GPS Logger with CircuitPython using Adafruit and Particle hardware – movingelectrons.net
This week on Maker Update, a Star Trek themed alarm clock, Oblique Strategies, a high tech View Master, and a blood glucose display – YouTube.
PyPortal_GhostFrame displays people (and cats) that don’t exist, from ThisPersonDoesNotExist.com on an Adafruit PyPortal. This is a work in progress. You will find more details of this project on Dan’s site.
The TI-83 Gets a CircuitPython Upgrade – Hackaday.
deshipu has a fun HalloWing Tetris game started – GitHub.
DIY Gamepad made with CircuitPython – GitHub.
homemadegarbage.com tries out CircuitPython – Twitter.
CircuitPython vs C/C++ vs Lua for the Microcontrollers – thecustomizewindows.com
Anti Slump – this is DIY solution to the readily available devices on the market to make your posture stays upright. The code reads the accelerometer axis changes. You can set the declination threshold which will then activate the audio alert. The threshold can be changed directly from the A and B buttons instead of programmatically – GitHub & Instagram.
Multipurpose IR Remote – This is a DIY solution to make your own keyboard with essential commands to navigate, confirm and cancel – GitHub, Instagram & article.
Laura made a Swedish Word of the Day device. Laura wrote a PHP page that scrapes Transparent’s website and feeds JSON to the PyPortal via WiFi – Twitter.
From Dustin – For the adventurous out there, there is now code to support WPA2 Enterprise WiFi for CircuitPython on an M4 board with an SPI connected ESP32 – GitHub. You will need to compile the matching ESP32 firmware as well.
The TI-Python adapter for the TI-83 Premium CE running CircuitPython is now available in France. The TI-Python adapter allows you to program in Python on your current TI-83 Premium CE – Texas Instruments France.
CircuitPython Code for automating an Elegoo Arduino Car using an Adafruit Grand Central M4 – GitHub.
CedarGrove adapted a NeoTrellis M4 to a 32HP E-rack opening – Twitter.
Electronic Cats have a guide Using LoRa with CircuitPython and their USB stick.
Melbourne MicroPython Meetup – A monthly meetup for MicroPython Enthusiasts – Links! Thanks Matt.
ESP32 Hardware Design Guidelines is an updated PDF that was recently published by Espressif Systems via the April ESP NEWS newsletter.
Here’s BLINKA, CircuitPython for Linux, running on a BeagleBone Green Wireless – Twitter.
ESP32: A whole bunch of useful projects – Elektor Magazine.
MicroPython #2 – Hit the ground running by Unexpected Maker – YouTube.
HaloCode is a MicroPython-based single board computer – Docs.
TinyPICO will also ship in matte black – TinyPICO.
A graphical user interface written in MicroPython for M5Stack – GitHub.
Manage a Smart Kettle, powered by an ESP32 with Google Assistant. It uses Google Dialogflow to recognise speech and convert it into commands. MicroPython extracts commands and sends characteristics to a BLE kettle – hackaday.io & YouTube.
Grove.py is a Python library from Seeedstudio for embedded Linux platforms such as Raspberry Pi, nVidia Jetson Nano, and Coral dev board.
Product Review: Python Flash Cards – Mouse vs. Python.
rosshow displays various sensor messages in a useful fashion using Unicode Braille art in the terminal – GitHub.
Photomosaic is a simple end-to-end Python script to make cool mosaic posters made from scenes extracted from movies – GitHub.
UEFI – Unified Extensible Firmware Interface Forum site with the latest spec – PDF. What is UEFI? Remember when computer would boot up and there would be a BIOS? UEFI is that, the BIOS has been replaced by something newer called UEFI. It’s low level software that makes hard drives work, graphics, security, and other things. Ideally all UEFIs would be open-source so you know what’s going on.
With Windows 10 1809, Microsoft drops safe removal of USB drives as the default option – Beta news.
A Language Creators’ Conversation. PuPPy (Puget Sound Programming Python) annual benefit: A historic discussion of language creators about the past and future of language design.
Guido van Rossum, James Gosling, Larry Wall, and Anders Hejlsberg, creators of some of the most widely used programming languages in modern times, will share a panel on language design, the universe, and everything with opening words by Cyrus Habib, Lieutenant Governor of the State of Washington – YouTube.
PyDev of the Week: Abdur-Rahmaan Janhangeer on Mouse vs Python
CircuitPython Weekly Meeting for April 1st, 2019 available on YouTube
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? The uChip KickStarter!
Made with Mu
Over on TI-Planet, the community is flashing their TI-Python devices with a variant of CircuitPython with some Adafruit builds of CircuitPython and of course… using Mu! – ti-planet.org
Coming soon
AirLift Shield!
Gizmo! – YouTube.
PyBadge! – YouTube.
New Learn Guides!
PyPortal NASA Image of the Day Viewer from John Park
Adafruit VEML7700 Ambient Light Sensor from Kattni
Adafruit BMP388 – Precision Barometric Pressure and Altimeter from Kattni
Data Logging IoT Weight Scale from Brent Rubell
PyPortal IoT Weather Station from Brent Rubell
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!
Adafruit PiOLED – 128×32 Mini OLED for Raspberry Pi
Adafruit 128×64 OLED Bonnet for Raspberry Pi
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 144!
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 |
2124 |
24643 |
Adafruit_CircuitPython_Register |
462 |
3650 |
Adafruit_CircuitPython_PCA9685 |
364 |
1665 |
Adafruit_CircuitPython_Motor |
342 |
2065 |
Adafruit_CircuitPython_NeoPixel |
322 |
3811 |
Adafruit_CircuitPython_BusDevice |
274 |
9482 |
Adafruit_CircuitPython_ServoKit |
229 |
1436 |
Adafruit_CircuitPython_MotorKit |
175 |
1661 |
Adafruit_CircuitPython_BME280 |
119 |
1555 |
Adafruit_CircuitPython_MCP3xxx |
89 |
640 |
Upcoming events!
Happening April 26th and 27th 2019 in Chicago IL, USA, KiCon will be the first and largest gathering of hardware developers using KiCad. Talks at the conference will span hardware design, revision control, scripting, manufacturing considerations, proper library management and getting started developing the underlying tools. All talks have been listed on the conference site. Additionally, there will be contests, roundtable discussions with the developers and hands-on demos to deepen knowledge of hardware design and using KiCad.
Is this a conference only for current users of KiCad? No! Attendees will learn general concepts around PCB design, hardware creation and developing products for the market. Attendees include hardware and software developers from around the world, including members of the core KiCad development team out of CERN in Switzerland.
Attend this unconventional conference to learn more about how to build your next hardware project using open source, extensible tools. Join industry figures (and sponsors) like Digikey, Adafruit, Supplyframe and Bantam Tools. Interact with manufacturing experts from OSHpark, Royal Circuits, Aisler and SnapEDA. Meet and get to know others in the hardware community, who regularly are creating new hardware for fun and profit – kicad-kicon.com
PyLadies Dublin, Tuesday, April 16, 2019. Hot off PyCon Limerick, Mick Twomey is back giving an updated talk from November about the history of Python Packaging and why pipenv is awesome. Vicky Twomey-Lee will have some Adafruit Circuit Playground Express and you can play around with them with Circuit Python – Meetup.
PyCon AU has recently announced their Call for Proposals.
Digi-Key + Adafruit @ PyCon!
PyCon 2019 returns May 1–9, 2019 to Cleveland, OH – with talks, tutorials, sprints, and more!
Big news! Digi-Key and Adafruit have teamed up for PyCon 2019 so 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 addons 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.6. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20190406 is the latest CircuitPython library bundle.
v1.10 is the latest MicroPython release. Documentation for it is here.
3.7.3 is the latest Python release. The latest pre-release version is 3.8.0a3.
1130 Stars Like CircuitPython? Star it on GitHub!
circuitpython.org updates!
Downloads are now available from circuitpython.org! This site makes it much easier to select the correct file and language for your board. The downloads page is here. Here are the latest boards added! There are now 47 boards!
Meow Meow by Electronic Cats. Meow Meow is a electronic board that allows you to connect different objects to a computer and interact with it, since you can convert many everyday objects into touch panels that send signals to the computer, and allows you to use it as a conventional keyboard, you can even connect them to the internet. The board runs CircuitPython.
CatWAN USB Stick by Electronic Cats. The CatWAN USB Stick is programmed with a special firmware image that makes it an easy-to-use LoRa sniffer. You can passively capture the data exchanges between two LoRa devices, capturing with our “LoRa Sniffer”: the open source network analysis tool that we have created to use together. This board also runs CircuitPython.
Each board on circuitpython.org now has optional features for easier searching. We’re starting with 9 features and will add more over time as more boards are supported. The current list:
- Display
- Speaker
- Feather-compatible
- Battery Charging
- Wi-Fi
- Bluetooth/BTLE
- LoRa/Radio
- Robotics
- Solder-free Alligator clip
What else? We have a stats page that has each release and number of downloads per board, per release – circuitpython.org/stats
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
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.
11,600 thanks!
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 11,600 humans, thank you! Join today! https://adafru.it/discord
ICYMI – In case you missed it
The wonderful world of Python on hardware! This is the video-newsletter-podcast 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.
Updates to awesome-circuitpython
We updated awesome-circuitpython, the comprehensive, curated collection of all things CircuitPython – GitHub.
The update this week is it’s also on circuitpython.org/awesome!
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.