ICYMI CircuitPython Newsletter: 200 CircuitPython Libraries, Binho, BLE, and more! #Python #Adafruit #CircuitPython #ICYMI @circuitpython @micropython @ThePSF @Adafruit

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!

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.

And now there are 200! – GitHub and circuitpython.org

CircuitPython snakes its way to Binho!

binho blinka

The Binho Nova is a Multi-Protocol USB host adapter with support for I2C, SPI, UART, 1-WIRE, SWI protocols all in one slim, robust package, and now it supports CircuitPython BLINKA! – binho.io

Control a MagicLight Plus Bluetooth Smart Light Bulb with CircuitPython

MagicLight

This module provides services available on a MagicLight Plus Bluetooth Smart Light BulbGitHub.

CircuitPython Random Number Generator

RNG

This is a CircuitPython based hardware random number generator that uses avalanche noise. It is based on the Trinket M0 – GitHub, via Twitter.

Using Mu to plot sensor data with MCP2221 USB to I2C converter

MCP2221

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 71

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

ADABOX

ADABOX

ADABOX

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

elbourne 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

LoRa

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.

LoRa Dir

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.

Things

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:

Bonnet

Adafruit LoRa Radio Bonnet with OLED (915MHz/433MHz)

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

Feather M0 RFM9x – an all-in-one Feathers with an onboard RFM9x radio module cooked in, built-in USB, and battery charging.

RFM9x

If you have a Raspberry Pi, or any CircuitPython-compatible hardware, you can easily add LoRa/LoRaWAN to your project using an Adafruit RFM9x Radio Breakout or an Adafruit LoRa Radio FeatherWing.

U-blox NINA B302 running CircuitPython – Portuguese (Smartcore)

UBLOX

A BUNCH of posts about the U-blox NINA B302 running CircuitPython – Portuguese (Smartcore):

A nRF Sniffer for Bluetooth LE

nRF Sniffer

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!

Cubes

Arturo is using CircuitPython to test @gregdavill‘s LED Cube panels – Twitter.

Becky Button

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.

ANT

ANT

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.”

The Ant + Micropython = ARCOBALENO – YouTube, GitHub, BitBucket.

PiOLED

PiOLED on Jetson Nano – YouTube.

Numworks

NumWorks has a graphing calculator app in the Apple app store that is just like the physical hardware calculator, so technically? Maybe? MicroPython runs on iOS now! – Apple.

Xmas

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

Saturnalia: A rotating Christmas tree with a 3D printed gearbox and MicroPython/ESP32 controlling both stepper and lights – nick.

Artemis

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.

Feather and CPXB

Play BLE Hide & Seek with a Feather and Circuit Playground Bluefruit – Twitter and GitHub.

Minesweeper

Minesweeper, a CircuitPython implementation of the classic Minesweeper – hackaday.io and GitHub.

hackster

This CircuitPython Badge Brings Tamagotchi Back – hackster.io

pym

Learn using hardware simulation, from pym! A book to learn Python. It targets people who are completely new to the language – pym, via Twitter.

Quick2Wire

quick2wire-blinka is a Blinka-based library for Quick2Wire boards – GitHub.

Reimaging sustainable fashion

Reimaging sustainable fashion – Microsoft In Culture.

Rezz

DJ Rezz seems to have cool NeoPixel glasses – Twitter.

STEM

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

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.

MQTT

Data Logging Zero to Hero with CircuitPython and MQTT – hackster.io

Kiosk mode

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.

Orange Crab

Orange Crab

Orange Crab

Check out Greg’s OrangeCrab r0.1, ECP5 DDR3 memory in a Feather form-factor – GitHub.

CircuitPup

This dog has a CircuitPython powered dog collar! – Twitter.

Cube

Wirelessly powered NeoPixel ring in a resin cube – Instagram.

OOZE

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

particle

On Wednesday, Dec 11th at 8pm EST, Particle’s Senior Manager of Developer Relations, Brandon Satrom will be on ASK AN ENGINEER!

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.

Marlin

Marlin

The latest Marlin Firmware 2.0.0 supports Adafruit Grand Central / SAMD51 – Adafruit.

microbit pong

micro:bit pong – Twitter.

Coverage

Coverage.py is a coverage measurement tool for Python. It is maintained by @nedbat. The artwork is by @artofbatch, and here’s how it came to be (great logo!) – Sleepy Snake.

hackster EDGE

Alex from hackster.io is using the Adafruit ML EDGE BADGE! – YouTube.

LoRA

A new LoRa satellite – YouTube.

Code the Classics

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.”

Sony

New Sony PS5 patent reveals a strange new controller, Metro via Twitter, and Let’s Go Digital.

How to set up a TensorFlow Lite environment for the ESP32 – Towards Data Science.

heatmap

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.

OSH Park

OSH Park

The Open Book Feather e-reader – OSH Park.

Learn Inventor

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

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

Alfred

Speaking of! Alfred was at the Arm IoT summit and in addition to the EDGE BADGE running CircuitPython and TensorFlow, it can play GIFs ?? – Twitter.

Twitter

Emoji Trends: How emojis are used on Twitter – GitHub.

AI Dungeon 2

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

TinyUSB shout out from Jeroen Domburg – Design and Manufacture of the Hackaday Superconference Badge – YouTube.

tio

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

Are You Ready for the End of Python 2? – WIRED, and check out Python 3 Readiness.

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

bangle js

Getting started with Gordon Williams’ JavaScript-powered smart watch, Bangle.js – hackster.io

QianLi iCopy

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

Inkscape 1.0-beta2 version is here! – Inkscape.

360 photo

A 360 degree photo, printed on a sphere – YouTube.

WeLeap

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.”

50 Objects

A History of Intellectual Property in 50 Objects by Claudy Op den Kamp and Dan Hunter – Cambridge University Press.

CircuitPython Weekly December 9th, 2019 on YouTube and on diode.zone

PyDev of the Week: Sebastian Steins on Mouse vs Python

MP3

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? Native MP3 decoding/playback in CircuitPython.

Take Flight with Feather – Hackaday and Digi-Key

Take Flight with Feather

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!

To get started, take a look at the current Feather ecosystem and get acquainted with the GitHub repo filled with examples and tutorials.

There are over 49 entries at this time!

Stop by hackaday.io for more details!

Coming soon

ThermalML

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.

Sister Night

Sister Night

Sister Night

Nothing ever ends.

ANCS

ANCS

ANCS

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.

Dependencies

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.

Terminology

  • 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!

Circuit Playground Gizmo Ornaments

Circuit Playground Gizmo Ornaments from Noe and Pedro

Ultrasonic Sonar Distance Sensors from Kattni

Bluefruit Playground Hide and Seek from John Park

AdaBox014 from John Park

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 Libraries!

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 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!

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:

LibraryLast WeekTotal
Adafruit-Blinka168240572
Adafruit_CircuitPython_BusDevice76624353
Adafruit_CircuitPython_NeoPixel3094639
Adafruit_CircuitPython_Register1945112
Adafruit_CircuitPython_MCP230xx1639643
Adafruit_CircuitPython_Motor1243583
Adafruit_CircuitPython_ServoKit1242932
Adafruit_CircuitPython_PCA96851183372
Adafruit_CircuitPython_Thermal_Printer701411
Adafruit_CircuitPython_SSD1306642098

What is the team up to this week?

What are we working on this week? Let’s check!

Bryan

Bryan

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!

Dan
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.

Jeff
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!

Kattni
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!

Lucian
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.

Melissa

melissa

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.

Scott
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!

Upcoming events!

PyCascades

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.”

Pycon 2020

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.

Latest releases

CircuitPython’s stable release is 4.1.0 and its unstable release is 5.0.0-beta.0. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20191209 is the latest CircuitPython library bundle.

v1.11 is the latest MicroPython release. Documentation for it is here.

3.8.0 is the latest Python release.

1490 Stars Like CircuitPython? Star it on GitHub!

Call for help – CircuitPython messaging to other languages!

Hello world

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

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.

15,539 thanks!

15539

Adafruit Discord

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

ICYMI

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.

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.

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 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.

Visit Codecademy to access the Learn Hardware Programming with CircuitPython course and Adafruit to purchase a Circuit Playground Express.

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.

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.