The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware.
Over 6,606 subscribers worldwide!
CircuitPython 5.0.0 Alpha 1 Released!
This is alpha release number 1 of CircuitPython 5.0.0. Alpha releases are meant for testing. Download this release from circuitpython.org. 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 and e-paper displays, extensive additions and changes to BLE support, and PWM audio support.
ADABOX last week to sign up for the Halloween box!
This is the last week to sign up for the ADABOX 13, Halloween box. All we can say is that it for-sure has Python on hardware and it will be scary ?? JOIN US – ADABOX.COM.
Meet Device Simulator Express
Device Simulator Express, a Microsoft Garage project, built by Garage interns, makes it easier to program the Adafruit Circuit Playground Express in Python / CircuitPython, with or without a physical device!
“This summer, 16 groups of Garage interns tackled interesting engineering challenges ranging from making apps more accessible to VR solutions for cybersecurity. One of them was sponsored by the Python Tools for AI team and electronics paragon Adafruit. They set out to make programming embedded solutions for IoT devices simpler and more available to a broader audience. Device Simulator Express, a Microsoft Garage project, is a Visual Studio code extension that enables developers to program the Adafruit Circuit Playground Express in CircuitPython, with or without a physical device.”
CircuitPython snakes its way to Gamebuino
“Soru had already previously heard of MicroPython 1, a python port designed for embedded platform to “fit and run within just 256k of code space and 16k or RAM”. Sounds perfect for the gamebuino, right? So, let’s see if someone already made a port for the Arduino Zero. Why that arduino? Its hardware from a chipset perspective is the same as the gamebuino meta, and it is pretty popular, so there bound to be someone who ported it! And yes, as it turns out adafruit forked MicroPython, creating CircuitPython, and, look and behold, it already has official ports to atmel-samd based bored – including the Arduino Zero!”
We are hoping the team at Gamebuino merges the changes into mainline and/or pull requests, which will make things easier and better for them and the community together!
MicroPython snakes its way to the cover of micro:mag!
This issue’s cover feature is “Explore MicroPython”. There are lots of MicroPython content in this issue, most of the code is written in MicroPython. For the cover feature, you’ll find some information about MicroPython, tips on which editor to use, useful links/guides and 10 MicroPython mini projects for you to try! – Download PDF.
CircuitPython powered USB hub now in production!
With the campaign successful and concluded, the efforts have now transitioned to preparing for and starting production, read all about it – Crowd Supply.
Preparing Graphics for E-Ink Displays
Back in the early Macintosh computer days, when the Earth’s crust was still cooling, getting photos and artwork to look presentable on these computers’ 1-bit monochrome displays was something of an art form.
Much of that know-how has fallen by the wayside as screens improved…but with wafer-thin, ultra-low-power 2- and 3-color E-Ink displays appearing everywhere now, a refresher in those techniques is suddenly relevant again, more so with CircuitPython and all the supported displays – learn.adafruit.com & check out all the latest photos on Flickr.
CircuitPython powered 3D printed LoRa remote control
“I just wrapped up another monthly project and I thought you all would like it. It’s a simple LoRa (long range wireless) remote control, intended as a tool to help me do some LoRa-based robots. More on LoRa here. Inside is a simple 2-axis analog joystick and a trigger I found in my parts bin. I think it’s from McMaster Carr but I couldn’t find it. The board inside is the 900Mhz LoRa M0 Feather from Adafruit running CircuitPython, and there’s a micro-usb connector on the end. The Feather shows up as a USB drive and the code runs live & reloads whenever I save the file, so it’s a pretty easy way to troubleshoot as I go. More on CircuitPython here. The code is simple and in early form, but is on Github here. I designed all the parts in Tinkercad, as I am still far more comfortable there than in Fusion 360. The files on Tinkercad are here but the build list and parts are also listed on my Thingiverse entry here. I’m doing about one project a month or so, and I’m documenting the progress on Instagram through neat photos. I hope you like it! You can see the full series of photos on my Instagram here.”
CircuitPython snakes its way to DragonCon!
Disney Villain armor – Ursula 3D Printed armor. LEDs are NeoPixels and a Gemma M0 programmed in CircuitPython – Twitter.
What are Bryan, Dan, and Melissa up to?
Bryan finished testing Kattni’s TLV493D breakout and wrote the CircuitPython driver. This was an interesting one, as there are no individually addressable registers like most I2C sensors. Instead you have to read bytes from the sensor until you get the information you need, and the same on writes. Next up, Bryan is working on the guide for the upcoming Airlift BitsyWing.
Dan has CircuitPython BLE HID working on MacOS, Windows, Linux, and Chromebooks. It does not yet work on iOS, for unknown reasons, so Dan is debugging that with help from Thach, our resident BLE expert. Dan is also revising the bleio API so that Services, Characteristics, and Descriptors are added to their parent objects when they are created. And last up, Dan is adding compilation options to CircuitPython so that a custom build can enable and disable individual USB and USB HID devices. This takes a step toward user-defined HID devices.
Melissa is writing a guide on installing TensorFlow Lite on the Raspberry Pi 4. She has it working with Object Detection using the Raspberry Pi Camera and a PiTFT.
Feather takes flight on the Kea Feather
The Kea Feather has built in WiFi and BLE connectivity. Kea is based on the Adafruit Feather pinout for compatibility with a huge selection of ‘wing’ boards for adding sensors and subsystems. The powerful STM32F411 micro on Kea supports programming it with .Net MicroFramework, GHI TinyCLR, nanoMF and MicroPython, as well as native programming – ingenuitymicro.com.
ESP32-S2 low-power 2.4 GHz Wi-Fi System-on-Chip
56 pin ESP32-S2 – Twitter.
“ESP32-S2 is a low-power 2.4 GHz Wi-Fi System-on-Chip (SoC) solution. With its state-of-the-art power and RF performance, this SoC is an ideal choice for a wide variety of application scenarios relating to the Internet of Things (IoT), wearable electronics and Smart Home. ESP32-S2 includes a Wi-Fi subsystem that integrates a Wi-Fi MAC, Wi-Fi radio and baseband, RF switch, RF balun, power amplifier, low noise amplifier (LNA), etc. Espressif’s new SoC is fully compliant with the IEEE 802.11b/g/n protocol and offers a complete Wi-Fi solution. At the core of this SoC is an Xtensa® 32-bit LX7 CPU that operates at a maximum of 240 MHz. The SoC supports application development, without the need for a host MCU. The on-chip memory includes 320 KB SRAM and 128 KB ROM. It also supports a number of external SPI/QSPI/OSPI flash and SRAM chips for more memory space. With its multiple low-power modes, ESP32-S2 is designed for ultra-low-power performance. Its fine-grained clock gating, dynamic voltage and frequency scaling, as well as the adjustable output of its power amplifier contribute to an optimal trade-off between communication range, data rate and power consumption. The device provides a rich set of peripheral interfaces, including SPI, I2S, UART, I2C, LED PWM, LCD, camera, ADC, DAC, touch sensor, temperature sensor, as well as 43 GPIOs. It also includes a full-speed USB On-The-Go (OTG) interface which enables USB communication at all times. ESP32-S2 has several dedicated hardware security features. Cryptographic accelerators are integrated, thus providing AES, SHA and RSA algorithms. Additional hardware security features are provided by the RNG, HMAC and Digital Signature modules, as well as flash encryption and secure boot signature verification. These characteristics allow the device to meet stringent security requirements.”
Downloads are 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 just some of the latest boards added! There are 74+ boards!
Snekboard by keithp.com.
Circuit Playground Bluefruit by Adafruit.
HalloWing M4 Express by Adafruit.
MONSTER M4SK by Adafruit.
News from around the web!
Introduction to CircuitPython and the Circuit Playground Express – GitHub.
A personal wristband card10badge for the ccccamp2019 and beyond… card10 is pronounced cardio, 10 is binary for 2. It runs MicroPython. This is an interesting quote from Hackaday:
“…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.”
Spherical POV (Persistence Of Vision) device using WiFi and BLE – Home Made Garbage.
Novena Five-Year Anniversary, there are about 50 units left of the open-source laptop, last chance to buy one – Crowd Supply.
Recreate Super Sprint’s top-down racing in Python – Raspberry Pi.
Industrial and commercial applications are becoming the biggest market for the Raspberry Pi – IEEE Spectrum.
M5Stick-V object recognition training service – v-training.m5stack.com.
A curated list of public TEE resources for learning how to reverse-engineer and achieve trusted code execution on ARM devices – GitHub.
exFAT in the Linux kernel? Yes! – Microsoft open source blog, and spec.
Python Community Interview With Marlene Mhangami – Real Python. Marlene is a passionate Pythonista who is not only using tech to facilitate social change and empower Zimbabwean women but is also the chair of the very first PyCon Africa.
Python 3.8.0b4 is now available for testing – Python.org.
Building an Image Hashing Search Engine with VP-Trees and OpenCV – PyImageSearch.
Kiwi PyCon X 2019, Wellington – YouTube.
PyDev of the Week: Katherine Kampf on Mouse vs Python.
Python IDE and Code Editors – Code Infinite.
Made with Mu
Why Mu? Mu tries to make it as easy as possible to get started with programming but aims to help you graduate to “real” development tools soon after. Everything in Mu is the “real thing” but presented in as simple and obvious way possible. It’s like the toddling stage in learning to walk: you’re finding your feet and once you’re confident, you should move on and explore! Put simply, Mu aims to foster autonomy. Try out Mu today! – codewith.mu
TLV493D STEMMA. This TLV493D is a low cost I2C triple-axis magnetometer, specifically designed for joysticks but could be used for other magnetic sensing! Kattni did the board layout for this one, and Bryan is writing the CircuitPython library.
BrainCraft board preview! – YouTube.
The PA1010D miniature GPS with I2C interface. This STEMMA board is this lil 1”x1” GPS board, with UART and I2C support. On the back is the RTC coin battery. The I2C makes it easy to chain an OLED onto the end, and this one is displaying the NMEA sentences. Working great so far! – YouTube.
New Learn Guides!
Explore Magic Cap, a smartphone OS from a decade before the iPhone from Matthew Goodrich. You’re saying this is not Python related?? We are doing a lot of these guides of retro devices to learn from the best as we add more UI and features to CircuitPython.
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 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 178!
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:
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.
Bring your Python hardware to PyCon UK
Here’s a call for PyCon UK attendees to bring their Python on Hardware projects to an open session.
We had a similar session one year and people brought a lot of cool projects (including plenty of CircuitPython!) so I’m really looking forward to see as many people as possible bringing their cool projects again this year ?? – Thanks Carlos! Twitter
“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).”
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
20190830 is the latest CircuitPython library bundle.
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 13,835 humans, thank you! Join today! https://adafru.it/discord
Discord now offers “server boosts”. We have 12 on our server (level 2) and if we get to 50 boosts, we get to level 3 and some other good features for the community: +100 emojis for a total of 250, 384 Kbps audio, vanity URL, 100 mb uploads for all members (and all the things we have now, like the server banner). Stop by and boost! 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.