 It's that time again. This is Katnie with your weekly Python on Hardware News. Every week, we put together the Python for Microcontrollers newsletter. It is available through AdafruitDaily.com. Head over to sign up and see all the past and current newsletters, or tune in each week to hear what's going on. This issue of the Python for Microcontrollers newsletter corresponding to Circuit Python Day is the 99th issue of both the newsletter and the accompanying Python on Hardware video produced from newsletter content. 99 is the snakiest number to coincide with Circuit Python Day on 99. Check out past and current newsletters at AdafruitDaily.com slash Category slash Circuit Python, and past and current videos at adafru.it slash PoH episodes. Adafruit is working with the team to safely remain open as we continue to navigate COVID-19. For more information, visit Adafruit.com slash OpenSafely. Adafruit is stocked and all orders are shipping. Expect possible delays as we continue to ramp up. Now is the best time to get orders in for your favorite products, including items for students. To find the latest Adafruit products and all of the essentials you love, visit adafruit.com. September 9th is Circuit Python Day. This is the day in which Adafruit and the community worldwide celebrate Circuit Python. Happenings and events will occur throughout the day. You can check out the scheduled events at adafru.it slash cpdayschedual. This year, Circuit Python Day is being dedicated to Lambo Labs Makerspace, who are helping with the aftermath of the Beirut disaster. A new version of MicroPython has just been released, version 1.13. It includes a new MicroAsync.io module, code formatting, and BT stack bindings with Unix support. For the ESP8266, the default file system has changed from Fat to LittleFS version 2. For more details, check the MicroPython release notes. In this week's Circuit Python deep dive livestream, Scott streamed his work on a requests recap and an ESP32-S2PR iteration. Check out the latest video and past videos at adafru.it slash deep dive. This is a tank tread vehicle programmed in Circuit Python. There's a motor feather wing and a seesaw in the body, and a feather M4 Express with an RFM95 in the turret. There are also a few MOSFETs for the lights and lasers, as well as a video transmitter in the turret. All in Fallout 4, Vault Tech Blue and Yellow. Northwood's Dev Studio writes, I saw the TFT joystick feather wing and I just needed to make a virtual pet with it. After mixing together a feather M4 Express, TFT joystick feather wing and some code, companion bot was born. He's too cute and fun to just keep him to myself. In celebration of Circuit Python Day, I made him public. Enjoy companion bot as he chats, dances, shops, fights, and plays cards. Code available from Northwood's Dev on GitHub. Reader board is an information display using an RGB LED matrix and the Adafruit RGB matrix bonnet for Raspberry Pi. Write up available on hackaday.io. Code and video available from Damage Dolphin on GitHub and YouTube respectively. Check out a simple Python script that is controlled by the Harry Potter universal remote control wand made by the Noble Collection. It requires a Raspberry Pi as the controller and a Flurk USB IR receiver in combination with the universal remote wand to control functions in the script. Write up on Instructables and code available from Coleminer31 on GitHub. A child needed USB input foot pedals for computer keyboard shortcuts for working from home or going to school online. This simple contact switch implementation uses an Adafruit Gemma M0 board programmed in Circuit Python to read the switch presses and output defined values as USB HID keyboard text. Details available from Caitlin's dad on Twitter. In this week's episode of microcontrollers with King or North, learn about encoder inputs with Circuit Python and Arduino. Learn how to write more Pythonic loops when coming from a C-style language background in the video how to write Pythonic loops in overview available on realpython.com. HandCalcs is a library to render Python calculation code automatically in LaTeX but in a manner that mimics how one might format their calculation if it were written with a pencil. Write the symbolic formula followed by numeric substitutions and then the result. Because HandCalcs shows the numeric substitution, the calculations become significantly easier to check and verify by hand. Code available from Connor Furster on GitHub. Learn about Python tools for managing virtual environments in a guide posted by Jonathan Bowman to dev.to. Learn about cool new features in Python 3.8 in this guide on realpython.com. Check out PyTest's plugins to love, a top five and honorable 50 out of 700 plus plugins to get nicer output and faster execution. Available on toward data science.com. Fastcore, an underrated Python library that extends the Python programming language and provides utilities that enhance productivity. Details available on fastpages.fast.ai. Spatial Thinking with Python by Sanger Shanan. This talk covers the importance of spatial data and how to store, manipulate and visualize it. It also covers QGIS and building geospatial dashboards. Video available at pyvideo.org. The Melbourne Python Meetup had a deep dive earlier this year on the MicroPython Garbage Collector. Video available from Melbourne Python Meetup on GitHub. Data structures are the fundamental constructs around which you build your programs. Each data structure provides a particular way of organizing data so that it can be accessed efficiently depending on your use case. Python ships with an extensive set of data structures in its standard library. Check out the common Python data structures guide available from realpython.com. MarnoCell posts to YouTube a video about scraping YouTube video data in Python. Coming soon, Qtipy, a new board from Adafruit. Qtipy is a SAMD21 board featuring a USB-C connection and its plug-and-play with any StemAQT board. CircuitPython East at Jeff requested that the Qtipy have a spot for an external flash chip on the bottom for expansion. And voila, RevB, with an SOIC8 on the bottom connected to a hardware spy port. For more details, follow Adafruit on Twitter. The number of CircuitPython supported microcontrollers and single board computers continues to grow. This week, there are 149 CircuitPython-compatible boards. The 150th is set and will be announced soon in the celebration of 150 CircuitPython boards. Are you interested in adding a new board to CircuitPython? Check out the Adafruit Learn System for a series of guides about getting your board added to CircuitPython and CircuitPython.org. There are two new Python on hardware-related guides in the Adafruit Learn System this week, including Work at Home Uninterrupted. Make a Neopixel LED sign using CircuitPython. Designed to have a swappable faceplate to provide multiple options for the sign. A slide switch is built into the side for easy powering on and off, and it runs off a LiPo battery so it can be mounted to your door without any dangling cables. Build a busybox interruption sign with a custom 3D printed case by following this guide from Noah and Pedro. Play rock, paper, scissors in single player mode, two player mode using BLE, and multiplayer mode using BLE and included graphics and sound, all in the Adafruit Clue in this guide from Kevin Walters. The current number of CircuitPython libraries is 267. This includes both the Adafruit CircuitPython libraries and the CircuitPython community libraries. There are no new libraries this week, but there were a number of updated libraries. As always, visit CircuitPython.org slash libraries to download the latest Adafruit CircuitPython bundle. Included in this week's updates from the CircuitPython team, the big news in Canland, or at least Brian's corner of it, is that he's now successfully sending Can frames to the MCP2515 in CircuitPython, and they can be read and unpacked by the other devices on the bus. This is just the very first step to getting something usable, however. There is still plenty of work to be done to bring this library up to the standard set by existing Arduino libraries. In addition to whatever Pythonification is needed to make it fit with the CircuitPython ecosystem. Later this week, he'll be working with Jeff on sketching out the API that Can devices of all sorts will use within CircuitPython. While Brian's working on the MCP2515, Jeff's hard at work adding support for the Can peripheral to the SAME51. Once they both get the basics of bytes flowing back and forth working, they'll start planning a minimum viable product, which is Project ManagerSpeak for an initial working example with no bells in a single whistle, with an implied Bell expansion pack coming soon. Dan's initial underscore BLE HCI pull request has now been revised approved and is merged. He's touched up the Adafruit BLE library to add the ability to specify an HCI adapter. After discussion with Scott, he created a separate Adafruit Airlift Library to handle HCI adapter specific initialization instead of embedding it in the standard Adafruit BLE library. Dan released CircuitPython 6.0.0 Alpha 3 late last week. He reviewed Scott's pull request to add native ESP32 support for Wi-Fi. It should be merged soon. So we'll have another release with two big new pieces of functionality shortly. The new release will probably be beta zero since we finished up the API changes and additions we had in mind for CircuitPython 6.0.0. Jeff asks, what sounds like it should be simple, but turns out to take about half a week to resolve? A couple of bugs that were reported with our GB matrices. Once this pull request is merged, it will fix some bugs that community members and Adafruit folks reported. Before the fixes, these bugs would lead to safe motor crashes requiring use of the reset button. Now, when RGB matrix needs more RAM than was available, CircuitPython will now raise a memory error. A display small enough that it can't even show a 1x1 terminal will work properly, and RGB matrix displays that can now be rotated in case you want an extra tall display like this 64x32 matrix in portrait orientation. Melissa worked on the STM32MP1 so that we can get Blinko working on it. She put in some time a few weeks ago, but ended up putting it on hold when she couldn't get pip running on it. After that, she was just working on it a little at a time when she had free time. She found there was a newer image than the one that came with it, and so after some experimentation, she figured out how to update it using the STM32MP1 to flash the SD card. The method she found to work was not such a straightforward method, especially since the software STM32CubeProgrammer would crash on macOS. It turns out there's a command line interface core hidden inside that that can be run from the terminal to write a new image. With the new image, she tried once again to get pip installed, and this time she was successful. Once she knew she had a good image, she used Apple Pie Baker to back up a copy, and verified the image could be written just using Balena Etcher, so we now have a much easier way to update on all systems. Pie Gotham is a New York-based eclectic pie-centric conference covering many topics. Pie Gotham TV is taking place October 2nd and 3rd 2020 with a single track of talks presented online. Visit 2020.piegotham.tv for more information. PieCon India 2020 will be held online from October 3rd through 5th. Visit in.piecon.org slash 2020 for details regarding the conference. The Hackaday Remote-a-Con will take place everywhere November 6th through 8th 2020. It's a weekend packed with workshops about hardware creation held virtually for all to enjoy. Details available on hackaday.com. Translating Circuit Python is now easier than ever. Translations make the project more accessible to a broader range of folks. Adding or improving translations is a great way to get started contributing to the project. With the help of fellow open-source project Weblate, we're making it even easier. You can create a new account just for Weblate or sign in using other sites like GitHub or Google. If you write another language, visit adafru.it slash translatecp sign in and start translating. Looking for more Python on hardware all week? Join the Adafruit community on Discord and check out the help with Circuit Python and Circuit Python channels. We're over 24,000 strong and continuing to grow. You'll find a supportive, positive community filled with like-minded folks. Join at adafru.it slash Discord. And that is your Python on Hardware News for this week. Visit adafruitdaily.com to subscribe to the newsletter or tune in again next week.