@tannewt’s focus for #circuitpython2021

Happy New Year 2021 with Blinka as the 1

2020 was a good year for CircuitPython and it’s community despite the immense challenges brought on by the pandemic. Like many prior years, we spent a lot of time bringing up a new platform and didn’t always do everything we had hoped. 2020’s platform focus for us was the ESP32-S2. It’s an amazing combination of value and functionality. In 2021, we’ll likely spend time on the ESP32-S3 and maybe even the ESP32-C3 and ESP32 (see below before getting too excited). We may also be surprised by new platforms that silicon vendors release during the year. Unfortunately, I can’t predict the future.

Despite the surprises, my two focuses largely remain unchanged from last year. A focus on community will always be a priority for me because that is how development of CircuitPython grows with minimal growing pains. My other focus continues to be CircuitPython code editing over BLE (though last year I was a bit vague on the goal). It’s totally ok by me that themes are unchanged. These common threads year-to-year demonstrate our consistent vision for CircuitPython. When we looked back at past annual thoughts on last week’s Deep Dive I was pleased to see the origins of the principals that have guided CircuitPython over the years. This focus has gotten us where we are and continues to guide us.

Community has been a key part of CircuitPython since the beginning. Over the last four years, we’ve grown to over 26,000 accounts on Discord and 62 core contributors in 2020. We’re on the fore-front of support for the ESP32-S2 and have had many new folks join our community as a result. These new folks have been awesome, not only are they users of CircuitPython, but they have also become contributors. Hopefully some folks will become reviewers this year too! We must grow all groups of folks in order to continue growing.

Every year I like to reiterate the importance of community. Too often it’s ignored as a fundamental part of an open source project. I said it really well last year:

A focus on community is critical for a healthy open source project. All of us in the CircuitPython community have done a really good job at this so far. Despite that, we need to continue making community a priority because it is hard. It’s easy to think of an open source project as defined by its code and its features. The reality is that projects are defined by the people who work on the code, features, docs, tutorials, inspiration and community. Projects are made up of people that participate and what they contribute.

So, we must continue to focus on each other above all else. Take the time to help someone else. Teach them how to do something you know how to do and then ask them to do it. Not only do they learn something new, you also get another person to help you. It is very stressful to be the only person who knows how to do something. It makes it impossible to step away and relax. So remember, the second person to learn how to do something is the most important.

I often hear folks wanting more advanced features in CircuitPython such as interrupts and concurrency. While I’m open to reviewing and merging these things, they aren’t a focus of mine. Making things as easy as possible for beginners is my focus. There will always be more work to do for this because there is no such thing as too easy. There are always bumps and hurdles when learning. One of the first hurdles today is having access to a computer.

Mobile phones are the most pervasive personal computer now. Tablets are also folks’ first computers. In February of last year I gave a talk about mobile vs desktop at PyCascades titled Python’s Next Decade and Us. CircuitPython needs to have a BLE-only workflow to bring folks without laptops or desktops into our community. This will also enable our existing community members to edit and tweak their code on-the-go, when away from their computer.

Screenshot of YouTube to play Scott's Python's Next Decade and Us

In 2019, I spent a bit of time prototyping a BLE workflow and a companion app called Glider. While this work got the idea on our bucket list of TODO items, it didn’t leave us with anything usable. This year my focus will be on the BLE foundation of that workflow. This work involves creating a device discovery and pairing process along with a protocol for reading and writing files to and from CircuitPython. Once we have this foundation we can experiment with ways to hook phone and tablet apps up to it for editing.

2021 is shaping up to be the perfect time to do this. The ESP32-C3 and micro:bit v2 are two strong reasons to have a USB-less CircuitPython. A BLE workflow would also enhance the usability of existing nRF52 boards and open up the possibility of CircuitPython on the ESP32.

Thank you all for being a part of CircuitPython’s growing community. Working with you all to continually improve CircuitPython is a pleasure. I’m so lucky to be able to do it every day. See below for other folks’ #circuitpython2021 thoughts.

#circuitpython2021 is our annual reflection on the state of CircuitPython. We’d love to hear from you too! See the kick-off post for all of the details. Here are all of the previous posts:

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.