 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 of the past and current newsletters, or tune in each week to hear what's going on. Adafruit shifted this week to focus our energy on supporting Black Lives Matter. We are angry, frustrated, and in pain because of the violence against and murder of Black people by the police. We are in the fight against racism. The Adafruit team has specific actions we've taken, are continuing, and will continue to take together as a company and culture. We are asking the Adafruit community to get involved and share what you are doing. Together we will work on real change that requires real action and real effort. Join us and the anti-racist efforts to end police brutality, reform the criminal justice system, and dismantle the many other forms of systemic racism in the United States. For more information and a list of regularly updated resources, visit adafruit.com slash Black Lives Matter. Adafruit is working with the team to open safely as New York City begins to lift COVID-19 restrictions. We continue to follow the same safety protocols we have been since the beginning and will continue to do so. At this time, regular non-COVID-related orders are shipping, but expect delays as we are still at a limited capacity. As manufacturing was interrupted, some items may be out of stock. Please look to Adafruit resellers to obtain these items more quickly. In the US, Digi-Key is suggested. Visit adafruit.com slash open safely for details. There are now over 20,000 members on the Adafruit Discord server. This is where we discuss much of our Circuit Python development, transparently and in the open. Today the member total is 20,671 and continues to grow. Thank you to everyone who is a part of it. The Adafruit Discord offers a unique way for Circuit Python folks to connect. Join today at adafru.it slash discord. The Hack Club's Summer of Making brings six weeks of mentorship, weekly get-togethers, and non-stop making culminating in an awards show. Github is sponsoring $50,000 worth of hardware grants for student-makers, alongside support from Adafruit and Arduino. Students worldwide from ages 13 to 18 are welcome to join. Pre-registration is available now. Signups open June 18. Looking to learn Python? Here are a couple places to begin. Anthony Shaw posts Learning Python from Scratch, an article with 10 recommendations for learning Python, including different tutorial styles depending on your learning style. Check it out at TonyBeloni.github.io. David Beasley has made the excellent practical Python course available under the Creative Commons license. Materials are available on Github at github.com slash dabbys-course. David writes, Students of this course are usually professional scientists, engineers, and programmers who already have experience in at least one other programming language. No prior knowledge of Python is required, but knowledge of common programming topics is assumed. Most participants find the course challenging, even if they've already been doing a bit of Python programming. Details are available at dabbys-course.github.io slash practical-python. Microsoft and Github announced that they are making an online IDE such that students can get right to work in a web browser, avoiding software conflicts that might happen with code installs on their local machines. Code on a laptop or with a tablet, students won't be slowed down by their devices. Students can get started quickly in the same coding environment so educators may teach instead of troubleshooting. Currently, integration includes MakeCode Arcade, which will likely receive Python programmability later this year as it is rolled out across the MakeCode family. Check it out at github.blog for more information. In this week's Circuit Python Deep Dive livestream, Scott worked on debugging the bus.io library for Circuit Python on the ESP32-S2. Check out the latest video and past videos at adafru.it slash deep dive. Python T is a weekly chat with the Python community hosted by Python East and Nina Zakarenko. This new podcast occurs on Fridays at 4 p.m. U.S. Pacific Time on twitch.tv slash N-N-J-A-I-O. The Python Software Foundation has announced the first beta of Python 3.9, scheduled for production release in October. With the release of the beta, all of the major changes of Python 3.9 are set. Python has been previously developed and released every 18 months. PEP602 is accepted with the Python development team adopting an annual release cycle. This new timeline means that Python 3.9 will ship in October 2020. Python 3.10 officially started pre-alpha development on May 19, 2020 and will enter the alpha development stage when 3.9 ships and will ship in October 2021. Future Python releases will follow the same pattern. Visit blog.python.org for all the details. The Zen of Python is a well-known collection of aphorisms which describe the aesthetics of the Python language. They were channeled by Pythonista Tim Peters in 2004 and codified as PEP20. Barry Warsaw recently wrote a song and lyrics based on the Zen of Python under the terms of a Creative Commons 4.0 license. Check out the song and a post about writing it at wefairchange.org. The Raspberry Pi Foundation has a weekly newsletter where you can read the latest on the Pi platform. Some items of note this week. The 8 gigabyte Raspberry Pi is on sale now. The latest Raspberry Pi OS update in May 2020 and a virtual tour of the Raspberry Pi OS. Visit raspberrypi.org slash weekly to sign up or check out the newsletter. Audio mixer in Circuit Python allows two voices to play simultaneously with separate controls and levels. JP hosts to Twitter and YouTube using audio mixer on a Feather M4 with a PropMaker feather wing for audio amp, tap trigger, and NeoPixels. A few weeks ago, Scott helped merge COUNTIO into Circuit Python. The StudioBot robot uses COUNTIO to drive a PID on the robot's motors to keep it driving straight. The encoder also counts to get a better idea of distance. Video available on the building block Studio YouTube. David Glaude posts to Twitter duplicating a USB keyboard to USB and BLE with Circuit Python. The USB keyboard is connected via the OTG port to a Trinket M0 running KB-DADV-UART-USB-H from GD Sports 1. The Trinket sends it via UART transmit to the UART receive of an NRF 52840. Kevin posts to Twitter a colorful Chevrolet emblem animated with Circuit Python controlled via a phone running on the Adafruit Feather NRF 52840 Bluefruit. John wrote up creating a work from home on-air light using the Circuit Playground Express. The code monitors whether the MacBook Air's camera is on and turns on the LEDs of the CPX Red to let others know. Check it out on JohnKief.net. Greg posts to Twitter doing line animation in Circuit Python using the Adafruit Pi Gamer. Program Circuit Python with the Circuit Python Pew Pew M4 kit from Tindy. Caitlin's dad posts to Twitter a Lightup Rainbow Pride fountain pen using NeoPixels and Circuit Python. Caitlin's dad also posts to Twitter an animated Pac-Man Lightup hoodie. Check out an early version of Circuit Python with the Espressif ESP32-S2 on a mysterious board in a post from Arturo182 on Twitter. Follow along with Adafruit M0 and the US025 Ultrasonic Sensor Circuit Python example project on LearnMicroPython.com. Learn some computer science basics such as binary, hexadecimal, and ASCII while being introduced to MicroPython on the M5 stack in this tutorial on YouTube. Find it on the M5 stack Twitter. The MicroPython on UBlocksNina W102 work continues with MicroPython receiving voice commands from Amazon Alexa Voice. Perform binary batch analysis with the interactive disassembler IDA Pro 7.4 Automation on IRQ5.io. Learn how to make a discord bot in Python in this article on RealPython. Read about what's involved with installing the latest version of Python on macOS Catalina and overriding the old default pre-installed version in this walkthrough on interglobalmedianetwork.com. Find out why you can't find your Python modules in this video lesson about PIP on RealPython.com. The number of Circuit Python supported microcontrollers and single board computers grows every week. There are no new boards added to CircuitPython.org this week, but more are currently being ported to CircuitPython. 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 were three new Python on hardware-related guides in the Adafruit Learn system this week, including create beautiful LED animations with a new CircuitPython library that makes coding LED animations super simple yet easily complex in this guide from me. Learn about the possibilities of native mp3 playback in CircuitPython and create a creepy talking puppet in this guide from John Park. Nothing cures the blues like MIDI over Bluetooth. Learn how to convert a xylophone into a BLE MIDI instrument using 30 solenoids and the itsy-bitsy nrf52840 express in this guide from Liz Clark. The current number of CircuitPython libraries is 231. There is one new library this week, Adafruit Circuit Python PM25. There are also a number of updated libraries. As always, visit CircuitPython.org slash libraries to download the latest bundle. Included in this week's updates from the CircuitPython team, this past week has seen Brian returning to working on the libraries for the STICM 20948 9DOF motion sensor. You may recall from previous updates that this chip integrates its magnetometer a bit differently. While it's common to see multiple sensors integrated into the same package, it is not all that common to see one of the included sensors accessed through one of its neighbors in the package. To make a long story short, in certain situations the i2C master controller in the ICM 20948 would get into a bad state and not be able to communicate with the magnetometer, thanks to the engineers at Sparkfun for solving this issue. As a result of the newfound stability of the magnetometer, Brian was able to add in support for adjusting the data rate. Jeff has been working on support for SD cards using a potentially faster interface called SDIO. This is the way the SD card is connected on the STM32F405 feather, and it is not currently usable from CircuitPython, which only understands SD cards connected via SPI. His early results show that when reading bulk data directly from the SD card, not using a FAT file system, some pretty impressive data rates are achieved. Next up, he'll give the same treatment to the SAMD51 port of CircuitPython. This week I continued working with LED animations and published the CircuitPython LED animations guide. There's nothing like writing a guide for a library to find bugs in that library. So along with the guide came a series of bug fixes and GitHub issues for bugs that weren't as urgent. As for the guide, apparently making 31 animated GIFs takes much longer than I expected, so it took a bit longer than I originally planned. But the guide turned out really well. If you're interested in displaying animations on your neopixels or dot stars, check out the CircuitPython LED animation library and the associated guide. Melissa was pretty focused on porting Display.io over to Blinka. This was really a lot of fun and she probably spent more time working on it than she normally does on projects, but she also got a lot out of it. One of the more interesting challenges was having the Raspberry Pi writing to the display without blocking the user's script. The way she got around that was to implement threading for the display, and depending on whether auto refresh was on or off, it would automatically start or stop the thread. She also implemented Font.io as a part of it so that we could have even more compatibility between the CircuitPython and Blinka platforms. The way that it works is that it uses Pillow to render its fallback font, then converts that into a Display.io bitmap for complete compatibility. One of the more pleasant surprises she had in that she had written it to be compatible enough was that it ran the example for the display shapes library perfectly and she wasn't even expecting it to run. There's still a lot of items to tackle to make it complete, but you can find the library at github.com slash Adafruit slash Adafruit underscore Blinka underscore Display.io if you would like to experiment with it or work on some of the issues. FlaskCon is a community-driven Flask event being held July 4th and 5th. It is intended for speakers and attendees all over the world to participate in technical and evangelical sessions related to Flask. Flask is a micro web framework written in Python. Call for Papers is currently open. Visit flaskcon.com for more information. EuroPython 2020 this year will be an online conference from July 23rd to 26th. Attending the conference days will require a ticket and participating in the sprints will be free. Check out ep2020.europython.eu for details. PyCon AU has announced they're holding PyCon line AU in August. Check out 2020.pycon.org.au for more information. PyCon India 2020 will be held online from October 3rd through 5th 2020. A call for proposals is now open through the 14th of August. Visit in.pycon.org slash 2020 for details regarding the CFP and the conference. 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 web late we're making it even easier. You can create a new account just for web late or sign in using other sites like github, google, or facebook. If you write another language visit adafru.it slash translate cp 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 20,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.