ICYMI (In case you missed it) – Tuesday’s Python on Microcontrollers Newsletter from AdafruitDaily.com went out.
If you missed it, subscribe now! – You’ll get one fab newsletter each Tuesday (before this post Wednesday).
The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware. No spam, no selling lists, leave any time.
Over 6,939 subscribers worldwide!
200 CircuitPython Libraries!
The CircuitPython Library Bundle contains all current libraries available for CircuitPython. CircuitPython libraries are separate files designed to work with CircuitPython code. CircuitPython programs require a lot of information to run. CircuitPython is so simple to use because most of this information is processed in the background and stored in libraries. Some libraries are built into CircuitPython. Others are downloaded and stored on your CIRCUITPY drive in a folder called lib.
The full list of all the CircuitPython libraries contained in the library bundle can be found on the circuitpython.org libraries page.
CircuitPython snakes its way to Binho!
Control a MagicLight Plus Bluetooth Smart Light Bulb with CircuitPython
CircuitPython Random Number Generator
Using Mu to plot sensor data with MCP2221 USB to I2C converter
Here we are using Mu to plot sensor data with the MCP2221 USB to I2C converter. We finished adding Blinka support for the low-cost MCP2221 USB to I2C/ADC/GPIO converter. This demo uses Mu to plot sensor data with no microcontroller programming – we run Python natively on the PC, reading the sensor data through the USB/I2C converter. We think this could be really powerful when you want to do data logging or analysis on a powerful computer, as there’s no intermediary. We have 200+ CircuitPython libraries, and many are I2C-compatible sensors – YouTube.
CircuitPython slithers to the pages of MAKE Magazine!
Make: Vol. 71 FIX OUR PLANET featuring CircuitPython! On page 82 is a CircuitPython powered edge-lit LED heart by Geek Mom Projects. AND in TOOLBOX, the CircuitPython ruler from Digi-Key and Adafruit! – Make Magazine.
ADABOX 014 in the wild
The CircuitPython powered BLE ADABOX 014 is making its way to the thousands of people around the world. Thank you so much to everyone who gets an ADABOX and the entire team who makes it happen, and to Digi-Key and Nordic for making it one of the best ADABOXes yet! – ADABOX.
Melbourne MicroPython Meetup
Videos and notes from the Melbourne MicroPython Meetup(s) are up!
- November 2019 Melbourne MicroPython Meetup – News Roundup – YouTube.
- Natural Sequence or Fabricated – MicroPython-powered art – YouTube.
- LittleFS integration for MicroPython – YouTube.
Adafruit joins the LoRa Alliance
We are thrilled to announce that we have joined the LoRa Alliance! What is the LoRa Alliance?
The LoRa Alliance® is an open, nonprofit association that has grown to more than 500 members since its inception in March 2015, becoming the largest and fastest-growing alliance in the technology sector. Its members closely collaborate and share experiences to promote and drive the success of the LoRaWAN® protocol as the leading open global standard for secure, carrier-grade IoT LPWAN connectivity. With the technical flexibility to address a broad range of IoT applications, both static and mobile, and a certification program to guarantee interoperability, LoRaWAN® has already been deployed by major mobile network operators globally, with continuing wide expansion into 2019 and beyond.
Why did we join?
“Humans done a great job of connecting people in dense populations like cities or buildings – WiFi and Cellular are ubiquitous technologies that connect people, machines and sensors. The future is to connect people wherever they are, and that’s where LoRa has so much promise. We think LoRa and LoRaWAN are the best way to solve last-mile connectivity for Industrial and Agricultural IoT” – Limor “Ladyada” Fried.
Find us in the Member Directory here.
Ready to learn more? There is a plethora of of guides available on the Adafruit Learning System about LoRa/LoRaWAN topics ranging from sending packets between radios to setting up your own decentralized LoRaWAN Network.
We’re not just fans of LoRa, we’re also fans of LoRaWAN and The Things Network! We have written guides and drivers to simplify joining The Things Network with CircuitPython hardware.
Here are just a few of the LoRa hardware we manufacture right here in New York City:
Uses Python libraries so you can send or receive LoRa data with other matching modules, send data to a LoRaWAN gateway, or even set up your own single channel LoRaWAN-to-Internet gateways.
Feather M0 RFM9x – an all-in-one Feathers with an onboard RFM9x radio module cooked in, built-in USB, and battery charging.
U-blox NINA B302 running CircuitPython – Portuguese (Smartcore)
A BUNCH of posts about the U-blox NINA B302 running CircuitPython – Portuguese (Smartcore):
- NINA B302 e PYTHON.
- Programando BLE no CircuitPython NINA B302.
- NINA B302 – LENDO COM DHT22 COM CIRCUITPYTHON.
- LENDO ENTRADA ANALOGICA NINA B302 COM CIRCUITPYTHON.
- Acessando LCD 2×16 com o NINA B302 em CircuitPython.
- U-BLOX NINA B302 e CIRCUITPYTHON ACESSANDO OLED SSD1306 via I2C.
A nRF Sniffer for Bluetooth LE
The nRF Sniffer for Bluetooth LE 3.0.0 released, now with Python 3 support. It turns any nRF52840 DK, nRF52 DK, nRF51 DK or the nRF51 Dongle into a powerful BLE sniffer with Wireshark decoding the traffic – Nordic.
Also worth mentioning: nRF Connect for Mobile, for Android.
News from around the web!
Out of a class of 500, Becky Button was one of 12 students chosen to present a computer science term project! It just happens to be based on CircuitPython! Here’s a clip of the presentation! – Twitter.
Over on the MicroPython forums, the Ant Team posted about their board they made with their milling machine, the Arcobaleno –
“We are The Ant Team and we designed a MicroPython compatible board to check the capabilities of our PCB milling machine, The Ant. Likely, we will use our board and MicroPython for future projects, we enjoy using it ?? The board is open and shared with the “CC Attribution 3.0 Unported License”. This is an image of the Arcobaleno prototype board milled, soldered and tested with MicroPython. In this video and in its description there is all the info about it. And in the Arcobaleno repository you will find all the project files. Thanks to Damien George for creating MicroPython and to all the community that develops and supports it. Tell us what you think about it.”
PiOLED on Jetson Nano – YouTube.
And in other NumWorks news, they have a contest! You can win a real calculator by making your most beautiful Christmas Python script! To participate follow @numworks on Twitter, retweet this tweet, and comment with a screenshot of your code on the calculator, an emulator, or on your NumWorks account – Twitter.
Saturnalia: A rotating Christmas tree with a 3D printed gearbox and MicroPython/ESP32 controlling both stepper and lights – nick.
Artemis is an eyeglass-mounted device that can be configured to locate a specific type of object, or a person. When the target is found, Artemis will track it with a laser – GitHub.
This CircuitPython Badge Brings Tamagotchi Back – hackster.io
quick2wire-blinka is a Blinka-based library for Quick2Wire boards – GitHub.
Reimaging sustainable fashion – Microsoft In Culture.
DJ Rezz seems to have cool NeoPixel glasses – Twitter.
Handheld game design workshops are going to be offered for all ages starting in January in Norwell, Massachusetts USA, from STEM Cell Robotics.
“Why play games when you can make them instead! Students jump right into handheld video game design using the Microsoft MakeCode development platform. MakeCode’s intuitive block coding interface allows students to quickly create impressive interactive games. Each week the students will have fun creating a new game while learning fundamental computer science concepts!”
Engineered Sandwich is a small rechargeable freestanding light-emitting sculpture. A translucent 3D-printed lens press fits between two hand-finished wood buns. A CircuitPython controller randomly changes RGB LEDs, continuously projecting a cool gradient on all sides of the lens and through a series of slots at the top of the piece. The shape and title are inspired by the ongoing advances in plant-based meat products. The lamp can operate plugged to a USB outlet or untethered for 3 hours per recharge. CircuitPython powered – Instagram.
Data Logging Zero to Hero with CircuitPython and MQTT – hackster.io
A new Adafruit IO Feature: Kiosk Mode for Dashboards – Adafruit. Adafruit IO Dashboards have a new “kiosk mode” URL that will launch the dashboard in a “no browsing mode” without any of the surrounding page. This is super-handy if you’re designing an exhibit or would like to use a Raspberry Pi + an HDMI Display to monitor your Adafruit IO Feeds.
Check out Greg’s OrangeCrab r0.1, ECP5 DDR3 memory in a Feather form-factor – GitHub.
This dog has a CircuitPython powered dog collar! – Twitter.
Wirelessly powered NeoPixel ring in a resin cube – Instagram.
OOZE MASTER 3000 was designed with Halloween in mind, but doesn’t take much to re-theme it for a Christmas-y icicle effect – learn.adafruit.com
Brandon Satrom is Sr. Manager for Developer Relations at Particle. An unabashed lover of the web, mobile and an avid tinkerer, Brandon loves to talk about sensors and circuits, microcontrollers, open source, robots and whatever new shiny tool or technology has distracted him from that other thing he was working on. Brandon has spoken at national, international and online events, and is the author of four books. He lives in Austin, Texas.
We’ll talk all things Machine Learning, tinyML, etc. and some demos with Mesh networking with tinyML models.
The latest Marlin Firmware 2.0.0 supports Adafruit Grand Central / SAMD51 – Adafruit.
micro:bit pong – Twitter.
Alex from hackster.io is using the Adafruit ML EDGE BADGE! – YouTube.
A new LoRa satellite – YouTube.
Code the Classics, pre-order is available now from Raspberry Pi Press.
“This stunning 224-page hardback book not only tells the stories of some of the seminal video games of the 1970s and 1980s, but shows you how to create your own games inspired by them using Python and Pygame Zero, following examples programmed by Raspberry Pi founder Eben Upton.”
How to set up a TensorFlow Lite environment for the ESP32 – Towards Data Science.
Generate an interactive geo heatmap from your Google location data – GitHub. This is a script that generates an interactive geo heatmap from your Google location history data using Python, Folium and OpenStreetMap.
The Open Book Feather e-reader – OSH Park.
SiFive Unveils the Learn Inventor Educational RISC-V Development Board – “The board, designed for the education and maker markets, combines the Freedom E310 32-bit RISC-V chip, running at 150MHz and including 64kB of static RAM and 512kB of flash storage, with an Espressif ESP32 microcontroller for Bluetooth and Wi-Fi communications. A BBC micro:bit style edge connector provides large GPIO connectors for crocodile clips and smaller ones for expansion boards, while the front of the board features a 6×8 RGB LED matrix display and two user-configurable push buttons.”
AWS NASA JPL Space Challenge – Use machine learning to autonomously operate the virtual Open-Source Rover created by NASA’s Jet Propulsion Laboratory (JPL) to explore the surface of Mars – spacechallenge.tech
Emoji Trends: How emojis are used on Twitter – GitHub.
AI Dungeon 2 is a completely AI generated text adventure built with OpenAI’s largest GPT-2 model. It’s a first of it’s kind game that allows you to enter and will react to any action you can imagine – AI Dungeon.
TinyUSB shout out from Jeroen Domburg – Design and Manufacture of the Hackaday Superconference Badge – YouTube.
tio – A simple TTY terminal I/O application – tio.github.io
BtleJack: a new Bluetooth Low Energy swiss-army knife – GitHub.
The View Source 2019 – Amsterdam videos are up! YouTube.
The PyCon Sweden 2019 videos are up! – YouTube.
TensorBoard.dev PREVIEW. Easily host, track, and share your ML experiments – tensorboard.dev
The Python Software Foundation is receiving $407,000 USD to support work on pip in 2020 – Python Foundation.
Malicious Python libraries caught stealing SSH and GPG keys – ZDNet.
Getting Started with Python in Visual Studio Code – channel9.
Python Bytecode: An Introductory Tutorial – YouTube.
nbdev: use Jupyter Notebooks for everything – fast.ai
The QianLi iCopy is a multifunction device for transferring data on iPhone parts including LCD and Touch, Vibrating Motor and Baseband. It transfers the chip data from the original iPhone screen to a replacement screen – YouTube.
Tract: a Hugo theme for ambitious documentation projects – Luc Perkins.
Inkscape 1.0-beta2 version is here! – Inkscape.
A 360 degree photo, printed on a sphere – YouTube.
Magic Leap… The next WeWork? And over on Hacker News, the math begins “Magic Leap One has been for sale for 6 months. At $2.6B in total funding, that’s $433,333 per unit for 6,000 units. The sticker price is $2,300 per unit.”
A History of Intellectual Property in 50 Objects by Claudy Op den Kamp and Dan Hunter – Cambridge University Press.
PyDev of the Week: Sebastian Steins on Mouse vs Python
Take Flight with Feather – Hackaday and Digi-Key
The Adafruit Feather is the latest platform for microcontroller development, and companies like Particle, Sparkfun, and Seeed Studios are producing Feather-compatible devices for development and prototyping. Now it’s your turn. Design a board to fit in the Feather ecosystem and we’ll manufacture it. The best project in the Take Flight With Feather contest will be sent off to pick and place machines and head straight to the Digi-Key warehouse!
There are over 49 entries at this time!
Stop by hackaday.io for more details!
Thermal camera testing with the Braincraft HAT. Do you want to be like the Predator and have thermal vision? Well, maybe not with the 2 hour dental cleanings. So, instead, get DIY thermal vision with this MLX90640 thermal camera with STEMMA QT connector so it plugs right into the BrainCraft HAT. We’re displaying the heatmap output right on the 1.54” TFT. We think this could be useful for training ML/AI models that are looking for ‘heat signatures’… maybe could differentiate between Xenomorphs, Humans, and adorable kittens! – YouTube.
Nothing ever ends.
Working on some ideas for the Apple Notification Center Service (ANCS) that works with CircuitPython. What is ANCS?
The purpose of the Apple Notification Center Service (ANCS) is to give Bluetooth accessories (that connect to iOS devices through a Bluetooth low-energy link) a simple and convenient way to access many kinds of notifications that are generated on iOS devices.
The ANCS is designed around three principles: simplicity, efficiency and scalability. As a result, accessories ranging from simple LEDs to powerful “companion” devices with large displays can find the service useful.
The ANCS has no dependencies, apart from the standard set of Generic Attribute Profile (GATT) sub-procedures. An accessory acting as a GATT client is free to access and use other services provided by the iOS device while using the ANCS.
Endianness and String Encoding
Unless specified otherwise, all numerical values transmitted through the ANCS shall be little endian.
Unless specified otherwise, all string values transmitted through the ANCS shall be composed of unicode characters encoded with UTF-8.
- The Apple Notification Center Service shall be referred to as the ANCS.
- The publisher of the ANCS service (the iOS device) shall be referred to as the Notification Provider (NP).
- Any client of the ANCS service (an accessory) shall be referred to as a Notification Consumer (NC).
- A notification displayed on an iOS device in the iOS Notification Center shall be referred to as an iOS notification.
- A notification sent by a GATT characteristic as an asynchronous message shall be referred to as a GATT notification.
New Learn Guides!
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 201!
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 is the team up to this week?
What are we working on this week? Let’s check!
Not much out of the ordinary to report this week: I’ve been working on the drivers for the ICM-20649 for CircuitPython and Arduino. After that I started working on the guide for the LSM6DSOX which should be out soon-ish!
Next up I’ll be bringing up some new boards and working on a rev for a simple project I’ve been wanting to do for a while. Get yer nunchucks ready!
I added some convenience features to the BLE library so that you can set an advertising name other than the default one, and so it the name will show up before you connect the first time.
I’m refactoring and parameterizing the linker scripts for CircuitPython, so that it’s easy to specify different regions in the internal flash memory of the microcontroller. This is a precursor to creating a region in flash to store bonding information.
I’ve been reviewing many pull requests for the BLE library and CircuitPython, and also helping out with Learn Guide code for BLE.
While working on adding MP3 playback, I identified potential internal improvements for all the different kinds of audio sources in CircuitPython. I’m working on making these improvements, as well as fixing problems identified during testing of the MP3 code.
I also identified and made improvements to how text strings are stored in CircuitPython, reclaiming over 1kB of program space on the most resource constrained builds. This may not sound like a lot in this era of terabyte hard drives, but on boards like the Trinket M0, we were down to under 100 bytes free!
This week I published two guides I’ve been working on over the past few weeks: the Adafruit Circuit Playground Tri-Color E-Ink Gizmo guide and the Ultrasonic Sonar Distance Sensors guide. In the land of code, I’ve been working on adding animations to the Adafruit CircuitPython LED Animations library, which will make it super easy to include a few animations in your code. So far we have color cycle, blink, solid, comet and sparkle. The reason I added those animations is my Circuit Playground Bluefruit project which lets you control color and animations on another CPB using the accelerometer and the buttons. I’ll be putting it together with something festive for the season, and writing up a guide to go with it. Keep an eye out for that soon!
Last week I was out for Thanksgiving in NYC (the Brooklyn botanical gardens are extra cool in the winter, by the way) but there was nevertheless a small flurry of cleanup work around the edges of the holiday. I’ve been working on support for the PYB Nano, a small form factor STM32 board similar to the pyboard, as well as a generic STM32F411 “blackpill” breakout and the Meowbit. I’ve also hunted down some persistent bugs with the NeoPixel and displayio libraries, this should make adding these new boards more straightforward and functional out of the box. This coming week, I’ll be working on finalizing the new board packages, and hopefully working on some long delayed refactors of MCU package and internal flash management.
This week started off with a bunch additions to Blinka, the CircuitPython compatibility layer for Raspberry Pi and other Single Board Computers. I added support for enabling additional I2C ports on the Raspberry Pi 4 that used the same pins. Later, that same days a bunch of community Pull Requests for Blinka to add support for a number of boards. After reviewing and merging this in, I added 11 more boards under the Blinka section of circuitpython.org.
Next I finished reviewing a PR for Python PureIO and while I was in there, updated the repository to support automatic versioning. Then I jumped back to displays and added a rotation parameter for the TFT Gizmo, cleaned up the code a bit, and then moved on to the IS31FL3731 to add some Pillow examples to it. As I started working on adding an example, I noticed there was no convenient way of adding images over, which was necessary for Pillow support and added that functionality. Additionally, because the display is such low resolution, some of the examples for other displays just wouldn’t work for this display.
I wrote an example that displays text in each of the frames, wrote a small animated gif player that loads the animated gif frames into each of the frames and animates it, and finally finished off with a scrolling text marquee example. Now that the examples have been added, I’ll be working on updating some related guides. Also coming up, I’ll be helping out John Park with a cool Bluefruit project.
Last week I polished up the Apple Notification Center Service code and checked it into the library. I also prepped a demo for John Park that shows the icon of the app for the latest notification.
Once that was done I circled back to debugging BLE keyboard support with iOS and managed to fix it. I also merged the helpful debugging output into CircuitPython.
Next, I added support to the BLE library for the Magic Light bulb which is an RGB LED that can be changed over Bluetooth. When doing so, I ran into a crash that Kattni had been seeing and managed to fix it.
Lastly, I started working on a native PacketBuffer that can be used for BLE MIDI and the BLE Apple Media Service (to see what song is playing.) This work will also add support for negotiating BLE parameters for increasing speed and throughput. Stay tuned!
Scott is speaking at PyCascades about Python’s Next Decade and Us. It’s February 8th and 9th, 2020.
“PyCascades is a two-day, single-track Python conference. We previously hosted PyCascades in Vancouver and Seattle. For our third iteration in 2020 we’ll be in Portland, Oregon USA. PyCascades is organized by members of the Python communities in Vancouver, Seattle, and Portland. We aim to bring together Python users and developers from both the Pacific Northwest and around the world.”
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.
20191209 is the latest CircuitPython library bundle.
3.8.0 is the latest Python release.
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 15,539 humans, thank you! Join today! 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.