ICYMI CircuitPython Newsletter: Maintainable code is more important than clever code, FEATHER contest with Digi-Key + Hackaday, and more! #Python #CircuitPython @circuitpython @micropython @ThePSF @Adafruit

Python for Microcontrollers Newsletter

ICYMI (In case you missed it) – Tuesday’s Python on Microcontrollers Newsletter from AdafruitDaily.com went out.

If you missed it, subscribe now!

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,777 subscribers worldwide!

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.

For the Take Flight With Feather contest, we’re looking for the cool, the useful, the insane, and the practical. Most of all, we’re looking for manufacturability. Electron savant Ladyada will be judging each board on the basis of manufacturability, with the best board moving on to the assembly line where it will be stocked at Digi-Key.

What’s a good design? We’re looking for submissions in the following categories:

  • The Weirdest Feather — What’s the most ridiculous expansion board you can come up with?
  • You’ll Cut Yourself On That Edge — We’re surrounded with bleeding-edge tech, what’s the coolest use of new technology?
  • Retro Feather — Old tech lives on, but can you design a Feather to interact with it? Is it even possible to build a vampire Ethernet tap or an old acoustically-coupled modem?
  • Assistive Tech — Build a Feather to help others. Use technology to improve lives.
  • Wireless Feather — Add a new wireless technology to the Feather ecosystem.

The winning entry overall will be chosen for manufacturability, and will win a small manufacturing run of 100 boards or less and be stocked at Digi-Key. The number of boards in the manufacturing run will be determined by the winning design. Note: Because of the small run initially, there will be no profit or margin for the first few boards. If the board is well accepted and a larger run is planned, then a longer term business model will be addressed. The 5 winners in the 5 categories above will receive $100 Tindie gift certificates. To get started, start a project on hackaday.io and upload your project. Contest runs noon November 1 to noon December 31st. All times are in Pacific Standard Time.

Stop by hackaday.io for more details!

CircuitPython 5.0.0 Alpha 5 released!

Alpha 5

This is the fifth alpha release of CircuitPython 5.0.0. Alpha releases are meant for testing. Check out the blog posts for all the details! – Adafruit.

PyPortal Blackjack game: uses sprites, touch, audio

Blackjack

A fantastic Blackjack game made with CircuitPython and PyPortal by Andy.

Circuit Playground TFT Gizmo Snow Globe with CircuitPython

Snow globe

Snow globe

In this guide, learn how to use a Circuit Playground Bluefruit along with a TFT Gizmo to create a digital version of a snow globe. It will display customizable snow globe goodness on the TFT. Set a custom background, create custom snowflakes, and of course shake to clear the snow globe and start it all over – learn.adafruit.com

WATCHMEN

And of course we had to do a squid based one for WATCHMEN – YouTube.

All 35 posts from Open hardware month in one spot

Open hardware month

October 2019 was/is open-source hardware month! Every single day in October, we posted up some open source stories from the last decade (and more!) about open source hardware, open source software, interviews, stats, and more. Here are all 35 posts in one spot, enjoy!

“maintainable code is more important than clever code”

Guido

Python creator Guido van Rossum is retiring from DropBox. This is a great quote:

“…in 2013, Guido joined Dropbox. Since then, he has not only made contributions to Python at Dropbox, but also left an everlasting impact on our engineering culture and our people. It started with some of the young engineers Guido met early on. “There was a small number of really smart, really young coders who produced a lot of very clever code that only they could understand,” said van Rossum. “That is probably the right attitude to have when you’re a really small startup.” But as the company grew, new engineers who joined couldn’t understand the code. Clever code is usually short and cryptic, written by and for the individual who came up with it, but is hard for anyone else to understand—and nearly impossible to maintain. Guido called this “cowboy coding culture”. He recognized its value in our early stages of trying to implement things quickly, but knew it wouldn’t be sustainable over time, so he decided to speak up in his own quiet way. “When asked, I would give people my opinion that maintainable code is more important than clever code,” he said. “If I encountered clever code that was particularly cryptic, and I had to do some maintenance on it, I would probably rewrite it. So I led by example, and also by talking to other people.”

Thank you, Guido from the Dropbox Team.

Snekboard – A Python Microcontroller for Lego

Snekboard

If you’re interested in mixing Python and LEGO, there is an upcoming starting Crowd Supply campaign for snekboard in a couple of weeks. Build Lego robots running snek, or CircuitPython – Crowd Supply via Twitter.

Python Editor Version 2 for micro:bit

v2 bit

Python Editor Version 2 for micro:bit released! Try it out here and here are the details – microbit.org.

New version of Thonny IDE

Thonny IDE

Aivar posted up in the Adafruit forums about the new version of Thonny IDE which has several improvements related to MicroPython / CircuitPython support. Usage instructions are here – GitHub, and feedback can be posted here.

ALL a BOARD – 86+ boards!

86

CircuitPython.org/downloads now has over 86 boards!

Latest boards include:

ItsyBitsy

News from around the web!

CPCostume

Erin’s Circuit Playground costume – Twitter.

MicroPython heats home

MicroPython heats the home – code and YouTube.

OpenMV

OpenMV news – Luxonis, DepthAI, an Industrial OpenMV Cam, and more.

Tesla

Nikola Tesla costume possibly, complete with quotes on the Feather display – Twitter.

Transformer

Transformer kid powered by Circuit Playground – Twitter.

Spoopy Poopy

Hack a Pumpkin: Spoopy Poopy, the Gaseous Gourd, from Shawn –

“Here is my official entry to Tech-nic-Allie’s #HackAPumpkin challenge: Spoopy Poopy, the Farting Pumpkin. I can disgust those Trick-or-Treaters with this wonderfully flatulent trick–now with fart-flavored fragrance! This ceramic gourd is stuffed with electronics to emit light, sound, fog, and a little bit of stink. A passive infrared (PIR) sensor detects the presence of warm bodies and triggers the whole fart sequence. An Adafruit Feather M0 Express running #CircuitPython controls the lights (NeoPixels) and plays an audio clip out through pin A0. The fog machine is a vape pen loaded with half fog juice and half liquid fart. You’ve been warned: it’s smelly.”

YouTube, and code.

CircuitPython Halloween Candy Bowl Alarm

CircuitPython Halloween Candy Bowl Alarm

CircuitPython Halloween Candy Bowl Alarm! – YouTube and post.

Pi Mask

Halloween Pi + 3D print project: animated eyes horror mask – YouTube.

PumpWand

Another Monster M4sk pumpkin, this time with magic wand – Twitter.

CPXlight

Pumpkin light with a Circuit Playground Express – Twitter.

Snow Globe

Snow globe with Bluefruit Express and iOS app – Instagram.

Moody

There were so many great electronic + Halloween this year, we collected a bunch and made a little supercut – YouTube.

Team Trees

Keep track of planting 20 million trees around the globe by January 1st, 2020 with CircuitPython and a PyPortal – Adafruit.

Black Girls CODE

Also used this for the Black Girls CODE efforts!

Mobile photo BOOth

Mobile photo BOOth – Choose your prop, press the button, and you’ll get your picture from the thermal printer – Twitter.

Congrats to FEATHER-based particle.io for $40m in funding.

io videos

Getting started adafruit.io videos, playlist via Twitter.

Open Solar Project Controller

Open Solar Project Controller

Open Solar Project Controller

Open Solar Project Controller – Feather, adafruit.io and more…

This is a project of a slack bot, to automate your office using a Raspberry Pi – GitHub.

X-Ray

128GB micro SD X-Ray – Flickr.

AWS IoT MQTT Client

AWS IoT MQTT Client for CircuitPython getting some high marks from Jeff Barr, Chief Evangelist for the Amazon Web Services – Twitter.

WinDan

Looks like Dan found it! – Windows delays writing FAT table on small USB drive despite “Quick removal”.

Earth to Ned

Disney+ is teaming with the Jim Henson Co. for a new puppet show “Earth to Ned” and it looks like the Monster M4sk will work for some re-makes.

Ben is working on a speedometer for a bike built on an Circuit Playground Bluefruit, taking the location from the phone and calculating a rough speed, and lighting up NeoPixels – Twitter and GitHub.

MIDI

Circuit Playground MIDI Controller Multi-Tool – Turn your Adafruit Circuit Playground Express into a multi-faceted MIDI controller. Designed for workshops experimenting with the WebMIDI API – GitHub via Twitter.

Bonkers

“absolutely bonkers amount of functionality in something the size of a novelty shirt button.”Twitter.

Sauron

Adafruit powered Eye Of Sauron – Twitter and hackster.io

Frankenzarya

Frankenzarya with Adafruit LEDs – Twitter.

War Machine

War Machine – Twitter.

micropython-ulab is a numpy-like fast vector module for MicroPython – GitHub and documentation.

Tronket

Cool Trinket variant, the Tronket.

BOKRA

BOKRA Feather Adapter allows use with Feather (or compatible boards) along with mikroBUS modules – Tindie.

Neopixel fairy wings

NeoPixel fairy wings – Instagram.

Meadow F7 Micro

Feather takes flight with the Meadow F7 Micro Development Kit – Wilderness Labs.

ESP News

ESP News – October 2019.

PyGame 2.0.0.dev6 is out.

Python 3.5.9 is out.

Branded QR codes in Python – YouTube.

Brain Python

Brain Computer Interface w/ Python and OpenBCI for EEG data – YouTube.

Real Python

Arduino With Python: How to Get Started – Real Python.

Ampere

Andrew Dore for The New York Times with Adafruit mention for “What the Heck is That?” … NY Times.

TFFruit

TensorFlow Lite: Solution for running ML on-device with Pete Warden at TensorFlow World using Adafruit hardware – YouTube.

Hyperlink API documentation.

HOW TO – Burn bootloader Arduino nano 33 BLE – djynet.

8.5m developers use Visual Studio Code – Business Insider.

McMaster-Carr Product Information API.

Metro logos and fonts.

Book of Red Hat, history and more.

Some research on shipping print zines – Julia Evans.

IoT Monthly

Adafruit IoT Monthly: Helping Harry’s Heart, CircuitPython meets AWS IoT and more! – adafruit.io

SONY

CircuitPython Weekly for November 4th, 2019 on YouTube

PyDev of the Week: Joannah Nanjekye from Mouse vs Python

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? CircuitPython on the SONY Spresense.

State of PewPew

PewPew

The latest from Radomir Dopieralski’s PewPew project…

  • There was a workshop on quantum computing using the PewPew devices ran by James Wootton during the Zürich Quantum Industry Day.
  • James Wootton also ran that workshop on PyCon.DE in Berlin (Germany).
  • A “Noc Informatyka” event in Cracow (Poland) used badges based on PewPew.
  • There is some interest in more badges based on PewPew for various events. I will be working with the organizers on that.
  • I will be showing off PewPew devices on the Training Grounds event during the HeroFest festival in Bern (Switzerland) on Friday 22 November 2019.
  • PewPew M4 reached version 7 and is mostly ready for production. I am still working on documentation and cleaning up and publishing of the design files.

PewPew mailing list.

Coming Soon

ML badges

Circuit Playground Bluefruit AND BrainCraft EDGE BADGE gestures with Machine Learning.

STEMMA

The APDS9500 is a nifty sensor that is half camera and half gesture sensor. It looks really specialized, but we’re not sure exactly what it was designed for! We’re curious to try this one out and see what kind of data comes out of it.

New Learn Guides!

LearnFruit

Circuit Playground Bluefruit Pumpkin with Lights and Sounds from Noe and Pedro

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

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-Blinka146544284
Adafruit_CircuitPython_BusDevice69425876
Adafruit_CircuitPython_MCP230xx2609377
Adafruit_CircuitPython_Register1435994
Adafruit_CircuitPython_LIS3DH1332675
Adafruit_CircuitPython_NeoPixel1295369
Adafruit_CircuitPython_ServoKit1233239
Adafruit_CircuitPython_PCA96851144051
Adafruit_CircuitPython_framebuf1072177
Adafruit_CircuitPython_TestRepo100101

CircuitPython team ASSEMBLE!

What’s going on this week? A LOT!

Bryan

This week I did some guide work to prepare for some upcoming sensors. For one of them, the LSM303AGR, I spent some time working on the test code and tester PCB. Once we’ve prototyped the tester on a breadboard, we of course need to make something more robust for actually production use, so we commit the design to a PCB and get something like so:

Tester

The end result is not unlike the test jigs shown in this guide.

Dan

I finished reviewing Scott’s extensive updates to the _bleio native module and adafruit_ble library. We discussed it further, and after a few more updates, it is ready to go. I added new CircuitPython board definitions for the ItsyBitsy nRF52840 and Arduino Nano 33 BLE boards. I also changed the Circuit Playground Bluefruit board to include two I2C devices so that we can support both the onboard I2C accelerometer and any offboard I2C devices. The CircuitPython 5.0.0-alpha.5 release is now available, as of Sunday night! It includes a number of new boards and many fixes. It does not include the BLE changes mentioned above: we’ll be making another alpha or beta release soon to focus on those changes.

Kattni

As well as testing hardware on Raspberry Pi, I’ve worked on new and updated guides this week! There’s now a new guide for the STEMMA Non-Latching Mini Relay with wiring and code examples. Take control of power with the ease of STEMMA! If you’re looking to use your Adafruit Fingerprint Sensor on Raspberry Pi, check out the updated guide which now includes updated code for use on Raspberry Pi with the Adafruit Blinka library. Next up is testing Raspberry Pi with the VC0706 TTL serial camera, the MPR121 HAT, and the PM2.5 air quality sensor, including guide updates for each. Keep an eye out for an update to the micro lipo guide to include the new USB-C lipo charger, and for a new guide for the HC-SR04 ultrasonic distance sensor. All this and more coming soon!

Lucian

This past week saw major progress on overcoming chronic issues with the PWM and UART modules on STM32. Now that those are close to concluding, it’s time to start work on cleanup and support expansion in earnest, with a number of smaller PRs aimed at getting the greatest breadth of library support possible on the newly released Feather F405. I’m also looking forward to revisiting the small pile of new boards and device modules on my desk, expanding the STM32 board profile collection and number of tested FeatherWings available for them.

Melissa

This last week, I finished adding a couple of pages to the Mini PiTFT guide. I also updated the Nokia LCD guide to add CircuitPython and Raspberry Python sections and fixed an issue with the WS2801 LEDs not working correctly on Blinka. I also updated the CircUp guide to reflect the latest features that have been added and the installation being made a lot easier through PyPI. Finally, I just finished up updating the Sharp Memory Display guide. You can check out those guides at these links:

I’m currently freshening the WS2801 guide and adding sections for using CircuitPython and Python. After that I’ll be moving onto either SSD1305 displays and the IS31FL3731 Charlieplexed LEDs.

Scott

I spent most of the last week visiting family and taking a break from work. I got back last Thursday feeling refreshed and jumped right back into BLE library tweaks. Thanks to Dan and Thea’s help, I made good progress on wrapping up the BLE changes just in time for me to go soak up some sun in Florida.

Upcoming events!

Hackaday Superconference

The 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

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-alpha.5. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20191103 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. The latest pre-release version is #.#.#.

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

14,758 thanks!

14758

Adafruit Discord

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 14,758 humans, thank you! Join today! https://adafru.it/discord

BOOST!

Discord now offers “server boosts”. We have 30 on our server (level 3!), unlocking some good features for the community: +100 emojis for a total of 250, 384 Kbps audio, a 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

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.