# CircuitPython Weekly Meeting for February 27, 2023


Liz is hosting.


Video is available [on YouTube](https://youtu.be/NX5GpjbyuT4).


Join here for the chat all week: [http://adafru.it/discord](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](https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical) for use with standard calendar applications and can also be viewed [in your browser](https://open-web-calendar.hosted.quelltext.eu/calendar.html?url=https%3A%2F%2Fraw.githubusercontent.com%2Fadafruit%2Fadafruit-circuitpython-weekly-meeting%2Fmain%2Fmeeting.ical&title=CircuitPython%20Meeting%20Schedule&tab=agenda&tabs=month&tabs=agenda).


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](https://adafruit.com).


Reminders: Podcast available on most services. Let us know if we’re missing some.
## 02:37 Community News
### 02:40 CircuitPython 8.0.3 released

CircuitPython 8.0.3, the latest bugfix revision of CircuitPython, and is a new stable release, has been released. - Adafruit Blog and Release Notes.
Changes since 8.0.2
Fixes and Enhancements
Fix missing internal initialization of display.ColorConverter objects.
Port and Board-Specific Changes
RP2040
* Correct error reporting in SSLSocket.
* Increase number of lwip timers for mDNS.
SAMx
* Fix pad assignments for busio.UART and improve pin validation.


### 03:11 Newsletter Details
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. The complete [archives are here](https://www.adafruitdaily.com/category/circuitpython/). 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](https://github.com/adafruit/circuitpython-weekly-newsletter/tree/gh-pages/_drafts) and [submit a pull request](https://help.github.com/articles/editing-files-in-your-repository/) with the changes. You may also tag a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.
#### A Clock that changes Time When You Look At It
Guy Dupont posts on Twitter - Twitter Thread.
#### Playing GIFs in CircuitPython
Mark Komus has been developing GIF image playback on CircuitPython displays, coming to CircuitPython 8.1.0 beta. Best on lower resolution displays and faster microcontrollers due to the high data transfer requirements - Adafruit Blog.
## 04:26 State of CircuitPython, Libraries and Blinka
**This report contains information from the previous seven days. Any changes (PRs merged, etc.) made today are not included in this report.**
### 04:42 Overall


* 37 pull requests merged
  * 25 authors - bergdahl, BlitzCityDIY, AYastrebov, vladak, weblate, tannewt, luisan00, jposada202020, bill88t, RetiredWizard, milindmovasha, xorbit, EAGrahamJr, wtuemura, DavePutz, dhalbert, MicroDev1, gamblor21, jepler, ftab, Iainrach, caternuson, Atalanttore, dglaude, Lnk2past
  * 8 reviewers - tekktrik, dhalbert, MicroDev1, tannewt, FoamyGuy, caternuson, makermelissa, ladyada
* 17 closed issues by 11 people, 19 opened by 17 people
### 04:59 Core (scott reads)
* 24 pull requests merged
  * 17 authors - bergdahl, weblate, tannewt, bill88t, jposada202020, RetiredWizard, milindmovasha, xorbit, wtuemura, DavePutz, dhalbert, MicroDev1, gamblor21, jepler, ftab, Atalanttore, luisan00
  * 4 reviewers - tannewt, MicroDev1, ladyada, dhalbert
* 27 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 376 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 237 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/6913 (Open 163 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7114 (Open 125 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7141 (Open 122 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7151 (Open 120 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7161 (Open 118 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7221 (Open 101 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7220 (Open 101 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7237 (Open 99 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7282 (Open 88 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7293 (Open 87 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7343 (Open 74 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7430 (Open 50 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 47 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7471 (Open 37 days)
  * https://github.com/adafruit/circuitpython/pull/7470 (Open 37 days)
  * https://github.com/adafruit/circuitpython/pull/7548 (Open 22 days)
  * https://github.com/adafruit/circuitpython/pull/7551 (Open 21 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7554 (Open 19 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7559 (Open 18 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7573 (Open 14 days)
  * https://github.com/adafruit/circuitpython/pull/7592 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/7591 (Open 11 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/7633 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/7654 (Open 0 days)
* 8 closed issues by 6 people, 12 opened by 11 people
* 624 open issues
  * https://github.com/adafruit/circuitpython/issues
* 8 active milestones
 * 8.0.x: 3 open issues
 * 8.1.0: 12 open issues
 * 8.x.x: 62 open issues
 * 9.0.0: 25 open issues
 * Libraries: 20 open issues
 * Long term: 495 open issues
 * Support: 8 open issues
 * Third-party: 4 open issues
  * 3 issues not assigned a milestone
### 07:04 Libraries
* 10 pull requests merged
  * 7 authors - EAGrahamJr, jposada202020, BlitzCityDIY, caternuson, dglaude, Lnk2past, vladak
  * 5 reviewers - tannewt, FoamyGuy, tekktrik, caternuson, makermelissa
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306/pull/31 (Days open: 71)
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/145 (Days open: 39)
    * https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT/pull/155 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3731/pull/53 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/181 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/113 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_MatrixPortal/pull/88 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SSD1680/pull/11 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_PN532/pull/62 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_SSD1675/pull/14 (Days open: 1)
  * 46 open pull requests (Oldest: 881, Newest: 1)
* 9 closed issues by 6 people, 5 opened by 5 people
  * 593 open issues
  * 75 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 134494 PyPI downloads over 306 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 10454
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 9844
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 1669
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1570
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1537
  * Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1328
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1167
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1097
  * Adafruit CircuitPython HT16K33 (adafruit-circuitpython-ht16k33): 1032
  * Adafruit CircuitPython ESP32SPI (adafruit-circuitpython-esp32spi): 990
#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Display_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Text)
  * [adafruit/Adafruit_CircuitPython_MiniMQTT](https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT)
  * [jposada202020/CircuitPython_uplot](https://github.com/jposada202020/CircuitPython_uplot)
### 09:23 Blinka
* 3 pull requests merged
  * 2 authors - Iainrach, AYastrebov
  * 1 reviewers - makermelissa
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 747 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 507 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/267 (Open 89 days)
  * https://github.com/adafruit/Adafruit_Python_PureIO/pull/33 (Open 18 days) (draft)
* 0 closed issues by 0 people, 2 opened by 2 people
* 92 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 19779
* Piwheels Downloads in the last month: 7793
Number of supported boards: 101


## 10:20 Hug reports
10:42 @Liz (hosting)
* Group hug


10:49 @CGrover (text only)
* To danh, team, and community for the latest release.


10:56 @danh
* @tannewt for starting to work on i.MX issues. @jepler and @tannewt for i.MX issue review meeting.
* @xorbit for finding a regression of what is printed when we do a soft restart.


11:47 @david.glaude (text only)
* Scott for taking care of my PR for DisplayIO_SSD1306 (and @jposada202020 for testing it on hardware I don’t have)
* Mark Gamblor for the AnimateGif library
* PT for chatting about my two product ideas with Limor (one was hinted in “Desk of LadyAda”)


12:12 @DJDevon3 
* @Neradoc & @Danh for trying to help with a UM Feather S3 issue
* @Skerr for helping me find an alternative part in Digikey I couldn’t find.
* @Stendle in the help-with-3D-printing channel for interesting discussions about 3D printers.


12:44 @foamyguy
* @tekktrik for working on the JS emulation and figuring out ways it can be used to enhance our automated checks
* Scott for working on 7 color eink support
* @vladak for many recent improvements in the MiniMQTT library
* Group hug


13:32 @jepler
* Group hug
* Hug to Melissa for the very cool esp32 installer stuff
* Hug to jim & scott for some outlandish flash savings idea discussions (& making me explore haunted corners of the C preprocessor)
* Hug to dan for releasing the latest version


14:10 @Jose David(Text only)
* @Group Hug


14:17 @makermelissa
* @tekktrik for updating all sorts of libraries
* Group Hug 


14:33 @Mark[Gamblor21] (missing likely)
* @djairguilherme, @michael_lacock, @deshipu and @danh for troubleshooting documentation problems with OnDiskGif
* @michael_lacock for writing a small python tool to prepare GIF images that will work with CircuitPython
* Larry Bank again for the AnimateGIF library and who reached out asking if we wanted to include anything upstream to help with integration to CircuitPython


15:04 @RetiredWizard (Text only)
* @danh & @Nearadoc for all the times they gently gets me back on course 
* A group hug to the entire CircuitPython community for being awesome
* @bill88t for the settable pystack PR. I never really believed I would get away from custom CP builds for my app but @bill88t made it happen


15:28 @tannewt
* Jeff and Dan for hopping onto the iMX RT train.
* Jeff for the lead on code size reduction.
* Tekktrik for running CP with rp2040js.
## 16:30 Status Updates


16:53 @Liz (hosting)
* I’ve been working on a lot of product guides recently and in between that I’ve been doing a lot of CAD for an upcoming robot lyre/harp project. I finished printing the pieces over the weekend so hopefully I can try and get a demo going soon


17:15 @CGrover (text only)
* Flurry of activity assembling, testing, and coding two projects consisting of four new PCBs. One of the projects involves completely refactoring some older CircuitPython code with a fresh approach. The second is a new board family and code design.
* In the process of refactoring the first project, I found that when setting the duty_cycle of a PWM pin with a fixed frequency, a code execution delay equal to the period of the PWM frequency is introduced. The blocking delay was experienced when trying to rapidly change duty_cycle particularly for DC motor and servo projects that prefer PWM frequencies in the 25Hz to 500Hz range. The delay also complicated the use of asyncio for motor control. The SAMD51’s PWM timer hardware has a double buffer mode that might eliminate the delay but the symptoms indicate that it may not be in use. An issue was submitted.
   * A tangent: Wondering if the PWM duty_cycle set delay could noticeably impact the throughput of other uses such as RGB LED arrays (for non-NeoPixel devices).
* This week: A solder paste extravaganza!


18:26 @danh
* Released CircuitPython 8.0.3 on Thursday. I already have a fix that will go in an 8.0.4 release and one issue to investigate as well.
* CircuitPython 8.1.0 first beta will be soon. Some things to test before releasing it.
* Will release a SAMD21 UF2 bootloader with BOD33 brownout detection soon.
* Something is not working with CircuitPython on Metro M7 1011 on certain Linux/hw platform combinations (mine!). CIRCUITPY USB setup is failing rather late in the game. Works fine on some Linux Intel platforms, and is fine on Mac and Windows.
* I wrote a guide to CircuitPython safe mode that is being reviewed.
* Would like to try Pi Pico debug probe on other chips besides RP2040.


20:49 @david.glaude (text only)
* No CP activity this week (except consuming Adafruit YT video).
* Time spent in upgrading/installing my hardware and playing with stable diffusion (AI txt2img).


21:03 @DJDevon3
* Finished the physical 3D print of the Mail Boombox which took about 150 hours in total. Attempted to start wiring up the I2S audio today but literally didn’t even get past boot up as Windows refuses to detect the UM Feather S3 as a USB storage device. It’s stuck as a JTAG device which I’ve never seen before. Last minute I think I discovered a potential issue in the USB-C connector itself or I have multiple bad USB-C cables.
* Been in touch with CHEP 3D about a 2.0 revision of his E-Leveler PCB incorporating some of my ideas from my Bedibrator PCB design into his new version.


23:32 @foamyguy
* Last 2 weeks
   * Trying out animated GIF support on a few different devices
   * Experimenting with ColorConverter to better understand how it works and the differences / similarities of it vs. Palette. This process also led me to a tweak to the argument validations inside of core displayio for certain scenarios where It would have unintentionally limited to a smaller set of colors than it does today.
   * Tested out some instructions for being able to use the Neopixel library with Blinka on a Raspberry pi without needing to execute the python scripts with sudo
   * Wire up and test Pimoroni Impression 7 color eink, went down the wrong path for a bit but eventually realized one of the existing libraries works for this device
* This week
   * PR Reviews and Testing AirLift and some more in MiniMQTT
   * Make some more examples for 7color eink screens and try to understand how dithering fits into equation
   * Start approaching the updating of example / learn guide code for displayio APIs that changed with 8.0.0 release now live.


26:27 @jepler
* Fixed a SSL bug on pico where a funny number was returned instead of raising an exception
* Investigated pwmio frequency limitations and improved documentation in response to a user reported issue
   * Rp2040 pwmio could be made more frequency-accurate by varying the “top” to find the optimal value, but it’s a lot of effort for a minor return
   * Pio could be used (purely via python code) for very frequency-accurate pwm-like behavior
* Working on, will continue to work on floppy featherwing product guide
* Also checking out functionality on two prototype boards, both for canbus


28:32 @Jose David(Text only)
* Last week
   * Updating some examples for the Epaper displays
   * Worked in the verbose option for bitmap_label
   * Worked to get ASCII art from a bitmap based on the work from Jepler for the OV camera. Need more work
   * Circuitpython adjacent: working to build a font for knitting pattern symbols, based on the work of @marnen and Jepler with the fork awesome font
* This week
   * Different personal projects.


29:03 @makermelissa
* Finished up the CircuitPython Installer and it’s now live
* Still some CORS issues that we’re trying to work out. Currently bootloaders/bin installs are working, but UF2 installs are failing.
* Wrote a MergeBin library in JavaScript (like esptool’s merge_bin function) and it’s producing what appears to be a correct file, but more extensive testing will be needed.
* Updated WipperSnapper Firmware Uploader to be able to use the MergeBin library
* Submitted a small CircuitPython Code Editor bug fix for USB workflow.


30:10 @tannewt
* Testing iMX USB with intel USB controller.
* Bangle.js 2 and 7-color epaper PR is merged in.
* Now to finish the two libraries for the displays.
* Also going through CircuitPython library guide feedback.
* Getting MicroPython perf bench going with CircuitPython.
* Redoing size analysis script because iMX is more complicated than other boards.
## 32:46 In The Weeds




## 33:15 Wrap-Up
