Video is available on YouTube.
Join here for the chat all week: http://adafru.it/discord.
The CircuitPython Weekly happens normally at 2pm ET/11am PT on Mondays. Check the #circuitpython channel on Discord for notices of change in time and links to past meetings. Meeting times are also available in iCal format for use with standard calendar applications and can also be viewed in your browser.
If you want to be able to participate in the meeting by speaking, you will need to be added to the @circuitpythonistas role on Discord. Please ask any one of the moderators or admins to add you if you’d like to join.
CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from https://adafruit.com.
Reminders: Podcast available on most services. Let us know if we’re missing some.
Notable changes to 8.2.0 since 8.1.0
- Continued enhancement of
synthio. - RP2040
alarm.sleep_memory.
The Teaching Python podcast with Kelly and Sean devotes their latest broadcast to CircuitPython - Teaching Python. "We're excited to have Kattni Rembor from Adafruit as our special guest, who has contributed extensively to the CircuitPython platform, from beginner guides to advanced projects. We delve into CircuitPython, a version of Python designed for microcontrollers. Created for beginners and educational purposes, it provides a unique approach to learning Python. Kattni enlightens us on the vast applications of CircuitPython, ranging from environmental sensing to assistive technologies for people with disabilities."
Christopher Bailey at The Real Python Podcast interviews CircuitPythonista Tod Kurt. Tod has been working with embedded electronics for a long time and has been an active member of the Arduino community. He recently started to build projects using CircuitPython, and it has become his preferred prototype method - Real Python.
Adafruit's Ladyada has been hacking the Baby Einstein toy for "Babyada". She now has a custom ESP32-S2 board with an SD card to replace the original board. With CircuitPython, it now plays any song selected on the SD card - Adafruit Top Secret.
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are here. It highlights the latest Python on hardware related news from around the web including CircuitPython, Python and MicroPython developments. To contribute your own news or project, edit next week's draft on GitHub and submit a pull request with the changes. You may also tag a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.
This report contains information from the previous seven days. Any changes (PRs merged, etc.) made today are not included in this report.
- 15 pull requests merged
- 10 authors - dhalbert, jepler, BiffoBear, anecdata, kamtom480, caternuson, strid3r21, FoamyGuy, furbrain, toozhsu
- 9 reviewers - brentru, dhalbert, gamblor21, jepler, makermelissa, ladyada, caternuson, tannewt, bill88t
- 17 closed issues by 8 people, 20 opened by 15 people
- 12 pull requests merged
- 7 authors - dhalbert, jepler, anecdata, FoamyGuy, furbrain, kamtom480, strid3r21
- 5 reviewers - dhalbert, gamblor21, jepler, tannewt, bill88t
- 26 open pull requests
- adafruit/circuitpython#6555 (Open 356 days) (draft)
- adafruit/circuitpython#6913 (Open 282 days)
- adafruit/circuitpython#7161 (Open 237 days) (draft)
- adafruit/circuitpython#7220 (Open 220 days) (draft)
- adafruit/circuitpython#7293 (Open 206 days) (draft)
- adafruit/circuitpython#7440 (Open 166 days) (draft)
- adafruit/circuitpython#7591 (Open 130 days) (draft)
- adafruit/circuitpython#7618 (Open 126 days)
- adafruit/circuitpython#7675 (Open 114 days) (draft)
- adafruit/circuitpython#7711 (Open 107 days)
- adafruit/circuitpython#7718 (Open 105 days)
- adafruit/circuitpython#7811 (Open 88 days)
- adafruit/circuitpython#7886 (Open 65 days) (draft)
- adafruit/circuitpython#7984 (Open 41 days) (draft)
- adafruit/circuitpython#7997 (Open 38 days)
- adafruit/circuitpython#7996 (Open 38 days)
- adafruit/circuitpython#8033 (Open 31 days) (draft)
- adafruit/circuitpython#8035 (Open 30 days)
- adafruit/circuitpython#8095 (Open 6 days)
- adafruit/circuitpython#8091 (Open 6 days)
- adafruit/circuitpython#8100 (Open 4 days) (draft)
- adafruit/circuitpython#8101 (Open 3 days) (draft)
- adafruit/circuitpython#8112 (Open 2 days)
- adafruit/circuitpython#8114 (Open 1 days)
- adafruit/circuitpython#8118 (Open 0 days)
- adafruit/circuitpython#8116 (Open 0 days)
- 13 closed issues by 5 people, 13 opened by 10 people
- 661 open issues
- 6 active milestones
- 8.2.0: 0 open issues
- 9.0.0: 38 open issues
- Libraries: 21 open issues
- Long term: 583 open issues
- Support: 12 open issues
- Third-party: 7 open issues
- 6 issues not assigned a milestone
- 2 pull requests merged
- 2 authors - caternuson, BiffoBear
- 3 reviewers - brentru, ladyada, caternuson
- Merged pull requests:
- adafruit/Adafruit_CircuitPython_Wiznet5k#119 (Days open: 4)
- adafruit/Adafruit_CircuitPython_SGP40#20 (Days open: 1)
- 63 open pull requests (Oldest: 1000, Newest: 1)
- 4 closed issues by 4 people, 5 opened by 3 people
- 623 open issues
- 46 good first issues
- https://circuitpython.org/contributing
- Total Library Stats
- 80564 PyPI downloads over 310 libraries
- Top 10 Libraries by PyPI Downloads
- Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 5579
- Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 5379
- Adafruit CircuitPython Register (adafruit-circuitpython-register): 1609
- Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1166
- Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 868
- Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 704
- Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 645
- Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 635
- Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 635
- Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 622
- Updated Libraries
- 1 pull requests merged
- 1 authors - toozhsu
- 1 reviewers - makermelissa
- 4 open pull requests
- adafruit/Adafruit_Blinka#417 (Open 866 days)
- adafruit/Adafruit_Blinka_bleio#40 (Open 626 days)
- adafruit/Adafruit_Python_PlatformDetect#299 (Open 29 days)
- adafruit/Adafruit_Python_PlatformDetect#302 (Open 4 days)
- 0 closed issues by 0 people, 2 opened by 2 people
- 98 open issues
- PyPI downloads in the last week: 8074
- Piwheels Downloads in the last month: 6409 Number of supported boards: 119
14:32 @danh (hosting)
- @tannewt and @jepler for 8.2.0 and 8.x.x issue triage meeting.
15:02 @DJDevon3 (text only)
- @FoamyGuy for a great DisplayIO deep dive that ended up with him stumbling across a displayio.shapes bug rabbit hole and a really neat GIT bisecting bug hunt.
15:19 @foamyguy
- @Tyeth for helping me with using the old way to update submodules
- @DJDevon3 for for starting up the process to migrate the newer requests API examples to using settings.toml
- @MarkGamblor for help troubleshooting make errors related to submodules, and for taking a look at the shape fix PR
- Group hug.
16:02 @jepler
- Group hug
- Dan for 8.2.0 rc
- Limor for continually furnishing interesting projects
- Scott & Limor for bringing a little idea I had all the way to being a product in the store (swirl mounting grid)
- Scott for offering to let me get into the USB weeds with him … after my teddy ruxpin work is wrapped
16:42 @kattni
- @danh for help with code for a personal project, and also for looking into and getting in a temporary fix for a Bundle release issue over the weekend
- @foamyguy for looking into the Bundle release issue with me as well
- @jepler for a lovely chat
- Group hug!
17:10 @MakerMelissa
- @BlitzCityDIY for adding the updated 7-segment backpack fritzing part so quickly
- Group Hug
17:50 @tannewt
- @ladyada for testing the web workflow and @makermelissa for filing issues and following up with fixes.
- @jepler for the Pipewire tip. I fully switched and now my audio is synced again!
- @kattni and @todbot for talking CircuitPython on podcasts.
18:50 @todbot (text only)
- @jepler for looking at perennial (usually USB-triggered) audio glitch and offering a possible lessening of it
19:48 @danh (hosting)
- Did PR’s for remaining necessary 8.2.0 issues. Moved a couple of other 8.2.0 issues to the future.
- Released 8.2.0-rc.0. There are a couple of new fixes since then, very minor. Could include them in final or rc.1. Would do an rc.1 today if so, and maybe final on Wednesday.
- Made preliminary board definition for Toy Hacker board.
- Did more MicroPython merging early part of last week, but 8.2.0 took time later in the week.
21:40 @jepler
- Last week: teddy ruxpin project.
- Patching original “Intro.bin” with new audio channel, new mouth movements generated by ‘rhubarb’ software, and randomized eye movements
- This is pretty much ‘feature complete’ except the eye animations were waaaayyy too busy in the demo I did last week on show & tell
- Today: working around audio screeching on rp2040 adafruit/circuitpython#8123
- It got the todbot stamp of approval in testing so I just marked it as ready for review
- This week: TBD,
- more teddy ruxpin project
- Make eye animations less ‘busy’
- Minimally document in preparation for handing off to guide author
- Test arduino picodvi library updates against runcpm project
- Maybe doodle up a USB Host BFF that would work with QT PY RP2040 to add USB host capability
- Looks like an “A” connector does not fit in the available space, so would use a “Micro B” connector + OTG cable
- more teddy ruxpin project
24:44 @DJDevon3 (text only)
- Submitted first PR to start the process of porting all adafruit_requests /examples from secrets.py to settings.toml. Going slow with the process intentionally. Only submitted 1 example PR to ensure I’m doing everything correctly before going forward. I’m starting with the 10 examples (I contributed which start with requests_api_) that do not have learn guides associated with them. I don’t expect to get into examples which require learn guide changes for a few weeks and will notify Kattni when I get there (realistically a month from now). This is part of a 9.0 milestone so plenty of time to do it in phased steps.
25:35 @foamyguy
- Continued testing on ESP32SPI socket compatibility API, have submitted a few related PRs into WSGI, Requests libraries.
- During testing I discovered an incompatibility in the Wiznet Socket vs. CPython / new ESP32SPI and submitted a fix for that as well as a new example that shows how to use Wiznet and HTTPServer libraries to host an http server over a wired network.
- Created a handful of displayio example scripts that draw various different pride flags
- While working on a flag intending to use displayio.Shape discovered a bug within it’s set_boundary() behavior and tracked down the commit where it originated and submitted a fix to get it back to normal behavior.
27:56 @kattni
- Last week:
- Published I2S BFF guide
- Finished DVI Feather review update
- Started Gamepad QT guide.
- Updated CP seesaw library to support the Gamepad QT
- Submitted CP demo to the library along with the update
- Arduino code is set to go
- Went through trying to fix a bundle release issue over the weekend.
- This week:
- Gamepad QT guide
- Next up is STEMMA audio amp
- Fix TRRS jack Fritzing object errant ground pin issue. (Low priority, but on my list.)
- Otherwise:
- Simplified numpad V1 build because extending the USB Micro B port from the nRF Feather to the back of the case was turning into a bit of a dongle nightmare. Now it’s a Feather RP2040 standalone, with the matrix wired directly to it, oriented so the USB C port is already facing the back, and the reset button broken out to a button next to the cable on the case. After rewiring this at least three times, I have no concern about soldering up a new V2 when the time comes.
- Tested code, everything is working as intended.
- My wife is working on the case, which is apparently taking longer than expected. But the basic design is done, and it looks great.
- Learned that not only do Mac keyboards with numpads not have numlock, sending a numlock keycode to MacOS does absolutely nothing.
- Soldered up a QT Py RP2040 and a NeoKey BFF to build a standalone numpad-enter key, because it turns out I use that even more than the numpad overall. Once it has a case, it’ll live next to my keyboard on my mousepad for happyfun thumb use. This will come after the numpad is finished.
- This will be a guide.
30:00 @MakerMelissa
- Last Week:
- Finished updating the RGB Matrix Dreidel Game learn guide to work with I2S Audio
- Updated the 1.2” 7-segment LED Backpack Guide
- Fixed Tab Key and added some hot keys to the CircuitPython Code Editor
- This Week:
- Continue working on some of the CircuitPython Code Editor bugs
- Update the missing boards on circuitpython.org
30:43 @tannewt
- Working on USB host support. iMX RT is still flaky. I suspect it is due to missed cache invalidations and cleans.
- Adding in RP2040 USB host support to have a second implementation to compare to. It is tricky due to running multicore. Still debugging it.
- Late thank you to @FoamyGuy to making ESP32SPI socket CPython compatible.
- Poking LLVM a bit. Trying to figure out why code size is larger on LLVM. Also thinking about making the compiler lay out memory better for XIP and TCM.
- Out Thursday, Friday, Monday and Tuesday for a long July 4th (Independence Day) weekend. Next week Ari is starting daycare so it may be a bit fragmented too while we get him comfortable and into a new routine
33:23 @todbot (text only)
- Worked on porting some of my “mozzi_experiments” synth toys to synthio. It can be done and sounds pretty great! Examples up on my Youtube
@jepler How many will be OUT on the Monday, the 3rd? (Tuesday, the 4th, is the US national holiday) Should we hold the meeting as usual or change the date? (I will be around)
- Decision: canceling next week’s meeting.
Next meeting is MONDAY JULY 10, 2023.