25 KiB
CircuitPython Weekly for 10 May 2021
Video is available here 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.
2:55 Community News
Celebrating Mother's Day by Making
Animated flower
Animated flower
An animated flower running an Adafruit CircuitPython led_animations example on a Raspberry Pi Pico - Twitter. Quote Display
Melanie McDonough (@melbamorph) made a Mother's Day project using an Adafruit MagTag with quotes from Glennon Doyle's book Untamed - Twitter.
KiCad 5.1.10 Release
KiCad 5.1.10 Release
KiCad project announced the latest series 5 stable release. The 5.1.10 stable version contains critical bug fixes and other minor improvements since the previous release - kicad.org
Running CircuitPython tests (& fixing resulting bugs)
Bug
In CircuitPython, there are thousands of tests that verify the correct behavior of the core interpreter code. Here's a quick peek at how it looks to run the tests, and one bug we recently discovered and fixed thanks to the tests - YouTube
CircuitPythonista Anne Barela interviewed by embedded.fm
Embedded.fm
Anne Barela
CircuitPython team member (and newsletter editor) Anne Barela was interviewed by Elecia and Christopher White at embedded.fm for issue 372: The Motivation of Creativity. In the podcast, Anne discusses her work with Adafruit to include tutorials, authoring two books on Adafruit products, and being retired from a 30 year career in engineering at the US Foreign Service - embedded.fm Migrating to main
The Python programming language repository migrates to main on GitHub - Adafruit Blog.
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.
5:12 State of CircuitPython, Libraries and Blinka
5:40 Overall
- 72 pull requests merged
- 27 authors - hierophect, dhalbert, wtuemura, rodrigoargumedo, weblate, tyomitch, makermelissa, xorbit, zlite, hexthat, jepler, hugodahl, tannewt, bergdahl, jposada202020, 2231puppy, t-ikegami, renpytom, nm3210, anhmiuhv, timonsku, rsbohn, jaesivsm, fede2cr, twa127, anecdata, flavio-fernandes
- 15 reviewers - jposada202020, hierophect, dhalbert, TrevKnows, kmatch98, dherrada, brentru, makermelissa, kattni, microDev1, caternuson, jepler, anecdata, tannewt, ladyada
- 47 closed issues by 18 people, 17 opened by 13 people
6:48 Core
-
27 pull requests merged
- 16 authors - hierophect, dhalbert, wtuemura, weblate, tyomitch, hexthat, jepler, hugodahl, tannewt, bergdahl, jposada202020, t-ikegami, nm3210, rsbohn, fede2cr, anecdata
- 8 reviewers - hierophect, dhalbert, microDev1, kattni, jepler, anecdata, tannewt, ladyada
-
19 open pull requests
- https://github.com/adafruit/circuitpython/pull/3454 (Open 229 days)
- https://github.com/adafruit/circuitpython/pull/3493 (Open 221 days)
- https://github.com/adafruit/circuitpython/pull/3696 (Open 175 days)
- https://github.com/adafruit/circuitpython/pull/3730 (Open 171 days)
- https://github.com/adafruit/circuitpython/pull/3941 (Open 123 days)
- https://github.com/adafruit/circuitpython/pull/3967 (Open 119 days)
- https://github.com/adafruit/circuitpython/pull/4088 (Open 100 days)
- https://github.com/adafruit/circuitpython/pull/4131 (Open 94 days)
- https://github.com/adafruit/circuitpython/pull/4195 (Open 85 days)
- https://github.com/adafruit/circuitpython/pull/4388 (Open 59 days)
- https://github.com/adafruit/circuitpython/pull/4597 (Open 27 days)
- https://github.com/adafruit/circuitpython/pull/4606 (Open 26 days)
- https://github.com/adafruit/circuitpython/pull/4607 (Open 25 days)
- https://github.com/adafruit/circuitpython/pull/4722 (Open 3 days)
- https://github.com/adafruit/circuitpython/pull/4734 (Open 1 days)
- https://github.com/adafruit/circuitpython/pull/4732 (Open 1 days)
- https://github.com/adafruit/circuitpython/pull/4730 (Open 1 days)
- https://github.com/adafruit/circuitpython/pull/4736 (Open 0 days)
- https://github.com/adafruit/circuitpython/pull/4735 (Open 0 days)
-
11 closed issues by 5 people, 8 opened by 6 people
-
443 open issues
-
5 active milestones
- 6.x.x - Bug Fixes: 3 open issues
- 7.0.0: 56 open issues
- Libraries: 14 open issues
- Long term: 365 open issues
- Support: 3 open issues
- 2 issues not assigned a milestone
-
Core download stats available at https://circuitpython.org/stats
Overall: Getting close to a 7.0.0 alpha:
- MicroPython 1.13 is merged in. 1.14 and 1.15 should be doable this week.
- Dynamic USB descriptors are merged in.
- Status LED revamp is out for review.
9:51 Libraries
- 31 pull requests merged
- 8 authors - jposada202020, 2231puppy, dhalbert, rodrigoargumedo, xorbit, zlite, tannewt, flavio-fernandes
- 11 reviewers - jposada202020, dhalbert, TrevKnows, kmatch98, dherrada, brentru, makermelissa, kattni, caternuson, tannewt, ladyada
- Merged pull requests:
- https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer/pull/1 (Days open: 12)
- https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/pull/36 (Days open: 6)
- https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/70 (Days open: 5)
- https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/73 (Days open: 2)
- https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/pull/35 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_VCNL4010/pull/18 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_MCP9600/pull/15 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_TSL2591/pull/22 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_MAX31865/pull/30 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LIS331/pull/3 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LIS3DH/pull/68 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM303_Accel/pull/11 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM303DLH_Mag/pull/13 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/pull/40 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_TMP117/pull/5 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_Touchscreen/pull/14 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_BME280/pull/49 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_AHTx0/pull/7 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_PCT2075/pull/18 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_EMC2101/pull/16 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_VEML7700/pull/16 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_HID/pull/66 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR/pull/17 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/59 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/pull/93 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_AS7341/pull/17 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_DPS310/pull/13 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS1/pull/30 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS1/pull/29 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_MPU6050/pull/17 (Days open: 1)
- https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX/pull/17 (Days open: 1)
- 22 closed issues by 11 people, 8 opened by 6 people
- https://circuitpython.org/contributing
- 304 open issues
- 6 good first issues
- 61 open pull requests (Oldest: 507, Newest: 1) Library updates in the last seven days: Updated Libraries
- Adafruit_CircuitPython_SHTC3
- Adafruit_CircuitPython_SHT4x
- Adafruit_CircuitPython_Thermistor
- Adafruit_CircuitPython_LSM6DS
- Adafruit_CircuitPython_TLV493D
- Adafruit_CircuitPython_SCD30
- Adafruit_CircuitPython_DS3231
- Adafruit_CircuitPython_TMP117
- Adafruit_CircuitPython_FXAS21002C
- Adafruit_CircuitPython_FXOS8700
- Adafruit_CircuitPython_ProgressBar
- Adafruit_CircuitPython_Display_Text
- Adafruit_CircuitPython_Touchscreen
- Adafruit_CircuitPython_BME280
- Adafruit_CircuitPython_AHTx0
- Adafruit_CircuitPython_PCT2075
- Adafruit_CircuitPython_EMC2101
- Adafruit_CircuitPython_SSD1306
- Adafruit_CircuitPython_DHT
- Adafruit_CircuitPython_VEML7700
- Adafruit_CircuitPython_HID
- Adafruit_CircuitPython_RPLIDAR
- Adafruit_CircuitPython_AdafruitIO
- Adafruit_CircuitPython_RGB_Display
- Adafruit_CircuitPython_AS7341
- Adafruit_Blinka
- Adafruit_Python_PlatformDetect
- CircuitPython_Community_Bundle
Overall: We’ve been seeing a lot of documentation updates, but that is drawing to a close. There have been quite a few contributions to the community bundle lately, with multiple libraries added recently. We’re working on moving certain libraries over to the circuitpython organization on github; we want to integrate the information about those repos on circuitpython.org so it remains just one place to find information.
13:22 Blinka
- 14 pull requests merged
- 6 authors - makermelissa, renpytom, jaesivsm, twa127, anhmiuhv, timonsku
- 3 reviewers - makermelissa, caternuson, ladyada
- 5 open pull requests
- https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/41 (Open 204 days)
- https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 89 days)
- https://github.com/adafruit/Adafruit_Blinka/pull/437 (Open 42 days)
- https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/151 (Open 40 days)
- https://github.com/adafruit/Adafruit_Blinka_Displayio/pull/55 (Open 17 days)
- 14 closed issues by 5 people, 1 opened by 1 people
- 52 open issues
- PyPI Downloads in the last week: 9933 Number of supported boards: 72
14:08 Hug reports
15:00 @kattni
- @foamyguy for always stepping up to update things where needed, in guides etc.
- @jose david for continuing to update documentation across the libraries.
- @philb for helping me with some Illustrator weirdness.
- @PT and Adafruit for donating to the PyLadies auction at PyCon this year, and for sponsoring PyCon
15:25 @kmatch
- @tannewt on the encouragement and guidance on the TinyLogicFriend and for the mention on the DeepDive
- @stargirl, @jerryn and @matthijs for guidance with debugging help for driving Neopixels with bare metal C
15:57 @MakerMelissa (likely missing meeting)
- @jepler for reading the Blinka notes last week
16:08 @Mark(gamblor) [absent today]
- Group hug
16:16 @Neradoc (text only)
- @Hugo for testing the serial interface discovery tools on M1 Mac
- @danh for the dynamic usb work, and all the support and answers
- @tannewt for all the micropython merging and merging and merging
- @anecdata, @jerryn, and all the #help-with-circuitpython gang
16:37 @tannewt
- @anecdata for adding AP mode to the ESP32-S2
- @kattni for covering for the newsletter and then jumping back into running this meeting.
- My partner @minichre for helping me with Pandas and python data sciency stuff.
@anecdata (lurking)
17:16 @charlesburnaford (lurking)
- Group Hug
17:25 @danh (not at meeting)
- @jerryn and @Neradoc for testing USB and USB HID fixes
- @Neradoc for debugging M1 MacOS issues even without an M1, and @Hugo for help in testing and dumping out data for Neradoc to review
- @tannewt for API discussions and review of dynamic USB PR
17:49 @David.Glaude (not at meeting)
- @foamyguy for whatever magical thing was shown on “Show and Tell” (that push an image you do in the browser to a PyPortal)
- @kmatch for TinyLogicFriend contribution
- @Neradoc for help at 4AM on board.DISPLAY == None and the trick: if not hasattr(board,"DISPLAY"): displayio.release_displays()
18:21 @foamyguy
- @Jeff E for integrating the Library Screenshot Maker into the actions for the Learn Guide Repo. First run was successful 🎉
- Pt and LadyAda for giving me the opportunity to get more involved by making videos and blog posts
- Stephanie and Anne for helping to get me setup for blogging.
18:53 @hierophect
- @danh for reviews of new Sleep stuff and bugfixes
- @krupis for pinning down a bug in the Adafruit Neopixel module
- @valholl for finding and testing problems with the Espruino Pico
- @anecdata for testing fixes to the supervisor run reason problem
20:00 @Hugo (Lurking/Listening only)
- Kattni and Phil B. for the work on the pinout generator. Fantastic looking, and bonus points for accessible colours!
- Group hugs
20:16 @jepler
- V923z for alerting me to some build problems between ulab and circuitpython
- @kattni and @tannewt for covering the discord meetings while I’ll be gone for a few weeks
- Group hug
20:50 @jerryn
- @danh for the usb_hid fixes
21:10 @Jose David (Text Only)
- @codenio, alimustafashah, dewalex github users, for making their first contribution in CP
- @dherrada for all the help this week
- @anecdata @neradoc @danh for the help on defining precision timing for boards
21:42 Status Updates
22:33 @kattni
- Last week:
- Finished up guide feedback from ages ago!
- Updated all of the Adafruit * RP2040 guides and FunHouse guide with all of the existing templates.
- Created the templates for Cap Touch using pads or pins, and Storage with boot.py using a ground pin or a pressed button.
- Generated pinouts images for the RP2040 boards, images have been uploaded to the respective PCB CAD file repos.
- This week:
- I2C Rotary Encoder STEMMA QT guide
- Continue on Template Quest
- Will work to make blink code able to use board.LED everywhere
- PyCon starts this week
26:38 @kmatch Last week
- Submitted PR for TinyLogicFriend driver to sigrok. If approved, it will be easy to get the PulseView app running (won’t have to compile it yourself)
- Built and tested TinyLogicFriend on three Cortex M4 boards (Metro, Feather and ItsyBitsy) added UF2 files for drag ‘n’ drop firmware onto boards https://github.com/kmatch98/tinylogicfriend
- Added Neopixel status indicator This week
- Scope out what’s required to add TinyLogicFriend to an RP2040 board
- Get back to some CircuitPython work in the Widgets
28:47 @MakerMelissa (likely missing meeting)
- Last 2 Weeks:
- Was out last week due to symptoms from 2nd Covid dose
- Wrote a guide on creating FunHouse projects using the FunHouse library
- Updated guide with a Temperature Logger example
- Wrote a guide on using the FunHouse motion sensor to turn a Fan on and interface with Home Assistant
- Fixed Blinka to work with MicroPython using the PyBoard
- Added Raspberry Pi Pico support to Blinka running MicroPython
- Went through and closed/merged many issues and PRs for Blinka and PlatformDetect
- This week:
- Update some eInk guides for the new Monochrome E-Ink bonnet
- Continue going over Blinka Issues
- Start a new FunHouse guide
29:33 @Mark(Gamblor) [not here today]
- Work / life has been taking most of my mental energy lately, hope to be able to contribute more soon!
29:46 @tannewt
- 1.13 is merged in! 1.14 and 1.15 are started and I’ll get 1.14 in review shortly.
- Made PR for status LED revamp.
- Meeting with Damien and Jim later today for a chat.
- Tomorrow and Wednesday are language summit. Presenting there.
- Odds and ends week overall.
- Non-cp: Started doing broadband availability mapping in the US. Interesting data analysis and Open Street Map stuff.
@anecdata (lurking)
33:35 @danh (not at meeting)
- Finished the dynamic USB descriptors PR, which was merged. There were some bugs, and I have PRs in to fix those.
- Verifying that adafruit-board-toolkit is not working on M1 Macs, which causes the board detection I added to Mu recently not to work. Neradoc has fixes; I will set these in motion.
- Thinking about how to make some kind of recovery UF2 in case someone has turned off both MSC and CDC USB devices: could be safe mode or could be a filesystem eraser. I have a draft PR but this is still a discussion topic.
- Will be bug-hunting for 6.x and 7.0.0.
34:18 @David.Glaude (not at meeting)
- Continue to work on Thermal Camera, with one code.py that work on multiple hardware with various bilinear interpolation scaling and displayio scaling: PyPortal, Clue, Matrix Portal and FeatherWing Keyboard + FeatherS2 or Feather RP2040. https://twitter.com/DavidGlaude/status/1391752583912493060?s=20
- Testing the new ‘Pico to Zero’ v0.4 with Pull-up resistor.
34:45 @fede2 (text only)
- Last Week:
- Adding support for the latest RISCV boards to PythonPlatformDetect and about to push changes to blinka.
- This Week:
- Continuing the translation of the CircuitPlayground guide
- Stalking any missing translations to spanish via Weblate API :)
35:13 @foamyguy
- Last week:
- Finish up the majority of the updates to learn guides to change the way SPI and I2C are accessed from busio to board.
- Created a 1 minute video that tells folks about the new requirement screenshot utility
- Worked on changes to CookieCutter for adding “Org” to the circuitpython org projects it generates, and a fix for pip installation instructions for non-adafruit projects
- This week
- Getting spun up for the blog system, and writing first blog post for the requirement screenshot video
- Finish up the last of the busio -> board updates in learn guides
- Complete the changes in CookieCutter for circuitpython org
- Polish up the PyPortal screen design / management server and get it deployed online somewhere so other folks can make use of it with their own PyPortals.
36:38 @hierophect
- Last week
- Fixed issues with the supervisor run reason, so it now identifies correctly when it was reloaded from the REPL, the supervisor, an auto reload, or startup, as opposed to just reporting auto reloads for everything
- Fixed an issue with the Espruino Pico, which is neither an ESP nor a Pico, but a very tiny STM32 board
- Did an overview Adafruit Neopixel implementation based on some user feedback and fixed a minor bug
- Fixed some issues with the RP2040 deep sleep implementation that I ran into during testing
- Started on the next startup file code.
- This week
- Review Scott’s new status LED code and make sure it plays nice with Sleep
- Catch the STM32 Alarm up to date with main branch (again)
- Start merge process for the general internal sleep revamp, which should also involve some cruft cleanup in the NRF alarm system and things of that nature
- Keep catching up on the set-next-file PR, get that fixed up and submitted
- Finish Alarm power profiling project with example code
- FunStuffs
- Ported the first three chapters of Genki into my Circuitpython flashcards app
39:10 @Hugo (Lurk/listen only)
- Last week
- More work on rebranding, including templating and globbing
- Help out @danh and @Neradoc with M1 Mac USB/Serial diagnosis
- This week
- Finish up rebranding
39:27 @jepler
- Last week & today:
- Helping out with test fixing during the merge process
- Made some short videos for the adafruit blog
- Contributed a fix to the UTF-8 BOM problem with findimports for the CIRCUITPY drive screenshot maker
- Contributed some fixes for obscure C compliance bugs to micropython
- Worked on some ulab build failures
- Worked on the “natmod” (native code in .mpy files) examples, they all now build for x86_64, and some of them work. Understanding more about the limitations of natmod, I’m not sure how useful it is. At this time I don’t think we plan to actually enable it; it takes space in the flash firmware, so we can’t really use it as a way to expand the capabilities of the very low-end M0 boards.
- Got Espressif’s demo for the camera on the Kaluga working, though there are some problems with the hardware & the images exhibit banding and sometimes corruption. Can study it for the Python implementation
- This week:
- More merge help if needed
- Maybe making the CIRCUITPY drive screenshot maker work on examples from the bundle
- Maybe RGBMatrix support for ESP32-S2
- Maybe camera support for ESP32-S2
- Will miss the next TWO monday meetings, taking a road trip. Will be doing lots of walking & light hiking near Boulder CO.
41:46 @jerryn
- Lots of testing of 7.0 with the mp merges -- most cases working very well
- Found an issue with usb_hid ( USB Busy error) -- now fixed py pending PR from danh
- Ran into a confusing issue (first on pirkey_m0) but reproducible on CPX
- Involves use of irremote and usb_hid..I think...
- New issue opened. https://github.com/adafruit/circuitpython/issues/4738
43:20 @Jose David (Text Only)
- Last Week:
- Most of the time working in libraries Open issues.
- Reviewing some PRs from new folks
- Reviewing Gyros/Accel libraries. Verify that we were returning SI units. Changes were made in three libraries
- This Week
- Continue working in Open Issues and Reviewing PRs
43:57 In The Weeds
44:13 @Jose David:
- Library size vs boards. See https://github.com/adafruit/Adafruit_CircuitPython_LSM6DS/issues/15 Sensor libraries with a lot of features will raise a memory allocation error. In the issue above Scott mention a possible check, is this something still in plan or we mention that in this caveat in the readme file of some of the libraries, as in: https://github.com/adafruit/Adafruit_CircuitPython_DPS310/pull/13 Another solution is presset some libraries with default values and avoid class build usage and all the registers in the libraries. But maintainability having two versions could be cumbersome. Comments or Ideas?
50:27 @kattni
- Sphinx update? - check libraries. Core is pinned. mystparser instead of recommonmark
- 52:42 Template for library PRs - add to the CI update.
54:43 @foamyguy
- For circuitpython org repos do we want the “Org” to be included in the pypi name, readthedocs name, and the name of the .py file