28 KiB
CircuitPython Weekly for 23 September 2019
Timecodes this week are skewed by ~9 minutes after 9 minutes in due to issues with the recording. Apologies for the inconvenience!
Welcome to the CircuitPython Weekly meeting notes! Feel free to add your notes for Hug Reports and Status Updates early. During the meeting, we go through them as a round robin sorted by username. If you can’t make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and we’ll read them off for you.
Add any longer-form discussion topics or general questions you have to the “In the weeds” section.
Thanks! We hope to see you in the meeting!
Video is available here on YouTube.
Join here for the chat all week: http://adafru.it/discord
The 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.
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.
4:36 Community News
Program CircuitPython devices with iPhone & iOS 13 https://blog.adafruit.com/2019/09/19/program-circuitpython-devices-with-iphone-ios-13/
If anyone tries this out and finds issues, let us know.
CircuitPython snakes its way to FT232H, we now we have CircuitPython Blinka support, so you can control sensors, oleds, buttons, LEDs and more all via FT232H! All thanks to Carter who fearlessly took on this code support – we’ll start writing up a guide in the next week or two https://youtu.be/rriKd9jkdJQ
CircuitPython slithers its way to Halloween! HackSpace issue 23!
- Send data with If This Then That – Control almost anything with CircuitPython
- Motorized wing, making your cosplay move https://hackspace.raspberrypi.org/issues/23 https://magazines-static.raspberrypi.org/issues/full_pdfs/000/000/134/original/HackSpaceMagazine23.pdf?1568741893
CircuitPython and Mu book! Shirts, books and more! https://techbookfest.org/event/tbf07/circle/5645284751179776
Introduction to CircuitPython class in Canton, CT https://www.nextgensmartypants.com/product/circuit-python-shop/
Coming up...
CircuitPython in space video with Max Holiday! https://www.notion.so/PyCubed-4cbfac7e9b684852a2ab2193bd485c4d
(8:53) State of CircuitPython + Libraries
0:44 Overall
- 35 pull requests merged
- 12 authors - fionawhim, caternuson, brentru, darkmusic, kattni, arturo182, hexthat, urish, jepler, makermelissa, hierophect, tannewt
- 7 reviewers - brentru, kattni, sommersoft, ladyada, jepler, makermelissa, tannewt
- 13 closed issues by 5 people, 10 opened by 7 people
3:20 Core
- 14 pull requests merged
- 8 authors - darkmusic, kattni, arturo182, tannewt, jepler, makermelissa, hierophect, hexthat
- 4 reviewers - makermelissa, ladyada, jepler, tannewt
- 7 open pull requests
- https://github.com/adafruit/circuitpython/pull/1274 (Open 342 days)
- https://github.com/adafruit/circuitpython/pull/1363 (Open 297 days)
- https://github.com/adafruit/circuitpython/pull/1858 (Open 138 days)
- https://github.com/adafruit/circuitpython/pull/2034 (Open 50 days)
- https://github.com/adafruit/circuitpython/pull/2044 (Open 46 days)
- https://github.com/adafruit/circuitpython/pull/2054 (Open 42 days)
- https://github.com/adafruit/circuitpython/pull/2148 (Open 10 days)
- 9 closed issues by 4 people, 2 opened by 2 people
- 183 open issues
- 7 active milestones
- 4.x.x - Bug fixes: 0 open issues
- 5.0.0: 5 open issues
- 5.x.0 - Features: 1 open issues
- 5.x.x - Bug Fixes: 9 open issues
- 6.0.0: 1 open issues
- Libraries: 9 open issues
- Long term: 152 open issues
- 6 issues not assigned a milestone
Download stats by board:
| Board | 4.1.0 | 5.0.0-alpha.4 |
|---|---|---|
| arduino_mkr1300 | 67 | 13 |
| arduino_mkrzero | 39 | 20 |
| arduino_zero | 104 | 21 |
| bast_pro_mini_m0 | 14 | 12 |
| capablerobot_usbhub | 12 | 12 |
| catwan_usbstick | 14 | 12 |
| circuitplayground_bluefruit | - | 44 |
| circuitplayground_express | 2417 | 43 |
| circuitplayground_express_4h | 25 | 13 |
| circuitplayground_express_crickit | 120 | 17 |
| circuitplayground_express_digikey_pycon2019 | 20 | 14 |
| cp32-m4 | - | 12 |
| datalore_ip_m4 | - | 12 |
| datum_distance | 12 | 12 |
| datum_imu | 14 | 12 |
| datum_light | 13 | 12 |
| datum_weather | 13 | 12 |
| electronut_labs_blip | 14 | 12 |
| electronut_labs_papyr | 12 | 12 |
| escornabot_makech | 13 | 12 |
| feather_m0_adalogger | 128 | 28 |
| feather_m0_basic | 113 | 26 |
| feather_m0_express | 353 | 17 |
| feather_m0_express_crickit | 28 | 13 |
| feather_m0_rfm69 | 75 | 26 |
| feather_m0_rfm9x | 120 | 28 |
| feather_m0_supersized | - | 13 |
| feather_m4_express | 556 | 24 |
| feather_nrf52840_express | 132 | 18 |
| feather_radiofruit_zigbee | 15 | 13 |
| gemma_m0 | 309 | 16 |
| gemma_m0_pycon2018 | 17 | 13 |
| grandcentral_m4_express | 125 | 15 |
| hallowing_m0_express | 145 | 19 |
| hallowing_m4_express | - | 28 |
| itsybitsy_m0_express | 177 | 15 |
| itsybitsy_m4_express | 402 | 53 |
| kicksat-sprite | 13 | 12 |
| makerdiary_nrf52840_mdk | 24 | 12 |
| makerdiary_nrf52840_mdk_usb_dongle | 45 | 12 |
| meowmeow | 14 | 12 |
| metro_m0_express | 369 | 16 |
| metro_m4_airlift_lite | 84 | 17 |
| metro_m4_express | 201 | 18 |
| metro_nrf52840_express | - | 13 |
| mini_sam_m4 | 22 | 12 |
| monster_m4sk | - | 168 |
| particle_argon | 22 | 14 |
| particle_boron | 17 | 12 |
| particle_xenon | 32 | 13 |
| pca10056 | 52 | 24 |
| pca10059 | 86 | 27 |
| pewpew10 | 31 | 12 |
| pewpew13 | 12 | 12 |
| pewpew_m4 | - | 12 |
| pirkey_m0 | 13 | 12 |
| pybadge | 172 | 13 |
| pybadge_airlift | 15 | 13 |
| pygamer | 372 | 21 |
| pygamer_advance | 33 | 13 |
| pyportal | 542 | 22 |
| pyportal_titano | - | 13 |
| pyruler | 129 | 15 |
| robohatmm1 | 15 | - |
| robohatmm1_m0 | - | 12 |
| robohatmm1_m4 | - | 14 |
| sam32 | 29 | - |
| snekboard | - | 12 |
| sparkfun_lumidrive | 16 | 12 |
| sparkfun_nrf52840_mini | 29 | 12 |
| sparkfun_redboard_turbo | 22 | 12 |
| sparkfun_samd21_dev | 19 | 16 |
| sparkfun_samd21_mini | 20 | 12 |
| stm32f411ve_discovery | - | 22 |
| stm32f412zg_discovery | - | 28 |
| trellis_m4_express | 183 | 16 |
| trinket_m0 | 935 | 21 |
| trinket_m0_haxpress | - | 13 |
| uchip | 16 | 12 |
| ugame10 | 29 | 12 |
| ---------------------------------------------- | -------- | ---------------- |
| Total | 9231 | 1460 |
| ---------------------------------------------- | -------- | ---------------- |
Download stats by language:
| Board | 4.1.0 | 5.0.0-alpha.4 |
|---|---|---|
| ID | 4 | 1 |
| de_DE | 161 | 1 |
| en_US | 8623 | 1426 |
| en_x_pirate | 49 | 3 |
| es | 153 | 3 |
| fil | 10 | 0 |
| fr | 143 | 11 |
| it_IT | 24 | 2 |
| pl | 29 | 1 |
| pt_BR | 23 | 0 |
| zh_Latn_pinyin | 12 | 12 |
| ----------------- | -------- | ---------------- |
| Total | 9231 | 1460 |
| ----------------- | -------- | ---------------- |
Libraries
- 21 pull requests merged
- 7 authors - fionawhim, caternuson, brentru, urish, jepler, kattni, makermelissa
- 6 reviewers - brentru, makermelissa, kattni, sommersoft, ladyada, tannewt
- 38 open pull requests
- https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/6 (Open 273 days)
- https://github.com/adafruit/Adafruit_CircuitPython_TLC59711/pull/5 (Open 258 days)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM303/pull/11 (Open 253 days)
- https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/1 (Open 232 days)
- https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/11 (Open 222 days)
- https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/6 (Open 208 days)
- https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/14 (Open 208 days)
- https://github.com/adafruit/Adafruit_CircuitPython_MAX31865/pull/9 (Open 193 days)
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/20 (Open 172 days)
- https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/21 (Open 167 days)
- https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/8 (Open 159 days)
- https://github.com/adafruit/Adafruit_CircuitPython_Hue/pull/6 (Open 159 days)
- https://github.com/adafruit/Adafruit_CircuitPython_MIDI/pull/13 (Open 148 days)
- https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/51 (Open 143 days)
- https://github.com/adafruit/Adafruit_CircuitPython_WS2801/pull/4 (Open 135 days)
- https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/57 (Open 135 days)
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/34 (Open 132 days)
- https://github.com/adafruit/Adafruit_CircuitPython_BNO055/pull/30 (Open 132 days)
- https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/36 (Open 131 days)
- https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/35 (Open 131 days)
- https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/39 (Open 115 days)
- https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/pull/26 (Open 104 days)
- https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/14 (Open 74 days)
- https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/pull/20 (Open 64 days)
- https://github.com/adafruit/Adafruit_CircuitPython_BME680/pull/18 (Open 59 days)
- https://github.com/adafruit/Adafruit_CircuitPython_MotorKit/pull/19 (Open 58 days)
- https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/10 (Open 40 days)
- https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/11 (Open 38 days)
- https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/66 (Open 32 days)
- https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/69 (Open 29 days)
- https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/27 (Open 25 days)
- https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS1/pull/16 (Open 6 days)
- https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/pull/27 (Open 1 days)
- https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/75 (Open 1 days)
- https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X/pull/10 (Open 0 days)
- https://github.com/adafruit/Adafruit_CircuitPython_DS2413/pull/11 (Open 0 days)
- https://github.com/adafruit/Adafruit_CircuitPython_MAX7219/pull/21 (Open 0 days)
- https://github.com/adafruit/Adafruit_CircuitPython_RTTTL/pull/16 (Open 0 days)
- 4 closed issues by 3 people, 8 opened by 5 people
- 148 open issues
- https://circuitpython.org/libraries/contributing Library updates in the last seven days: New Libraries
- Adafruit_CircuitPython_ATECC Updated Libraries
- Adafruit_CircuitPython_TLC59711
- Adafruit_CircuitPython_DS2413
- Adafruit_CircuitPython_HTU21D
- Adafruit_CircuitPython_FancyLED
- Adafruit_CircuitPython_miniesptool
- Adafruit_CircuitPython_MCP3xxx
- Adafruit_CircuitPython_IRRemote
- Adafruit_CircuitPython_MPRLS
- Adafruit_CircuitPython_BME280
- Adafruit_CircuitPython_RTTTL
- Adafruit_CircuitPython_DS18X20
- Adafruit_CircuitPython_SHT31D
- Adafruit_CircuitPython_MotorKit
- Adafruit_CircuitPython_Thermal_Printer
- Adafruit_CircuitPython_AVRprog
- Adafruit_CircuitPython_ImageLoad
- Adafruit_CircuitPython_MSA301
- Adafruit_CircuitPython_Nunchuk
- Adafruit_CircuitPython_MPR121
- Adafruit_CircuitPython_ADXL34x
- Adafruit_CircuitPython_PCT2075
- Adafruit_CircuitPython_Requests
- Adafruit_CircuitPython_ESP32SPI
- Adafruit_CircuitPython_CircuitPlayground
- Adafruit_CircuitPython_SSD1306
- Adafruit_CircuitPython_HX8357
- Adafruit_CircuitPython_ST7789
- Adafruit_CircuitPython_ST7735
- Adafruit_CircuitPython_ST7735R
- Adafruit_CircuitPython_SSD1331
- Adafruit_CircuitPython_ILI9341
- Adafruit_CircuitPython_SSD1351
- Adafruit_CircuitPython_seesaw
- Adafruit_CircuitPython_FeatherWing
- Adafruit_CircuitPython_MAX31855
- Adafruit_CircuitPython_SimpleIO
- Adafruit_CircuitPython_GPS
- Adafruit_CircuitPython_DisplayIO_SSD1306
Hug reports
@anecdata (lurking)
16:48 @brentru
- @anecdata for ESP32SPI AnalogIO work. Will be great to be able to read the battery levels of sensor nodes.
- @tannewt for circuitpython app work, got an ipad for reading papers and it’ll be fun to circuitpython-on-the-go
17:22 @cater
- Group hug to @siddacious and @ladyada for testing the FT232H Blinka PR
@CGrover (lurking)
17:56 @danh
- Thanks to @tannewt for showing us around his Seattle neighborhood while we were on vacation.
- @tannewt for all the great work on the glider editor app and the necessary BLE changes.
- @cater and @MakerMelissa for FT232H blinka implementation.
19:17 @Dave Briccetti
- Thanks to everybody who added their info to the CircuitPython Community Members Directory. Some very interesting people!
19:38 @deshipu
- @cwalther for his work on PewPew tutorials, workshops, PicoPew and the upcoming Creative Coding session
- @quantumjim for his use of CircuitPython for teaching quantum computing
@donk (lurking)
21:36 @hierophect
- @ladyada for testing help
- @tannewt for reviews
- @jepler for his mac find error fix
22:12 @jasonp (lurking)
- @tannewt for the deep dive into the displayio weeds last week
22:24 @jerryn
- Group Hug
- Thanks to @tannewt and other moderators for support on a discord issue.
@kattni
- @sommersoft for adabot and circuitpython.org work
- @jwcooper for circuitpython.org updates and PR reviews
- @krayola for helping inventory my hardware, in doing so finding some lib errors I made a long time ago, and for submitting the fixes
- @community moderators for being amazing, stepping in where needed and continuing to keep our community a wonderful place to be
- Group hug!
@KingerNorth (lurking)
10:47 @MakerMelissa
- @kattni for reviewing a bunch or PRs I put out right away
- Group Hug to Everyone
@Mike B (lurking)
11:05 @ntoll
- @MakerMelissa - for the stonkingly great writeup of circup, suggestions and bug report.
- @tammymakesthings - for volunteering to help not reinvent the wheel ;-)
- @pt and @ladyada - for clarity when it comes to circup handling mpy modules.
12:00 @siddacious
- @JP for inspiring me to play around with the TLV with some depth and play around with servos
- @cater for and amazing PR adding FT232H support to blink. This is really, really cool.
- @tannewt for progress on Glider. This will be very cool.
13:43 @sommersoft (not in meeting)
- @kattni & @jwcooper for PR reviews
- Group hug!
13:54 @tammymakesthings (I won’t be able to join the chat this week because of a work conflict)
- The whole community, for being awesome.
- @ntoll for the circup tool, which I am looking forward to contributing to instead of having to reinvent the wheel
14:09 @tannewt
- @ladyada for all of the reviews.
- @msfterictraut for pyright
- @pt and @ladyada for the Glider name
- @anecdata and @docmollo for esp32spi work
- @urish for ssd1608 fix
- @kattni and @rhooper for readme fixes
- @sommersoft for the new stats on how long things have been open.
16:07 @TG-Techie
- Group hug to the community for being awesome
- Thanks to cascade for sending a CP supported screen
22:51 Status Updates
@anecdata (lurking)
42:33 @brentru
- Wrapped up ATECC608 breakout work for CircuitPython - if you have one of these chips, you can generate a certificate signing request now, directly from CircuitPython code! You can also perform cryptographic utilities.
- I’ve been working on non-circuitpython project(s) since then.
43:18 @cater
- Working on a guide for the FT232H Blinka work
@CGrover (lurking)
43:39 @danh
- On vacation for 8 days ending last Thursday, so not a lot to report
- Getting back to bonding and gamepad issues
44:29 @Dave Briccetti
- New example: Tilting Arpeggios
- Sort of a port to CPX of this p5.js sketch
- Detect button press while tone playing?
- Yes: Start tone, stop tone
45:56 @deshipu
- version 6 of PewPew M4, needs more work. Trying using laser cutting button caps
@DonK (lurking)
47:15 @hierophect
- new peripheral remap system completed
- I2C is now fully operational with pin selection
- OS and Struct added
- Working on adding more board support
- probably reorganizing some stuff about how boards are added
@jasonp (lurking)
- No update
49:04 @jerryn
- Spent most of last week in the woods -- lovely!
- Nothing special to report
23:33 @kattni
- Last week:
- Hallowing M4 guide, everything that goes with that
- Most complicated Fritzing I’ve ever done
- Started on fixing up libraries created pre-cookiecutter to work with circup
- Worked through some circuitpython.org updates with @sommersoft and Justin
- Inventoried my breakouts to create a second set and found some minor bugs in a few libraries that I introduced by using the same setup.py for multiple libs and apparently not updating the GitHub URL for the lib from the setup.py I used - issues fixed
- Various other things I’m forgetting
- Hallowing M4 guide, everything that goes with that
- This week:
- Library Monday!
- MONSTER M4SK downloads page and Fritzing
- Finish fixing up libs
- Start on Circuit Playground Bluefruit Bluetooth examples
- Color picker, bluetooth keyboard, plot temp/light levels to Bluefruit app
- Create guide page for each
- Guide for STEMMA speaker
- Help Melissa with the TFT Gizmo guide
- Continue to sort out circuitpython.org
- Moving Friday!
@KingerNorth (lurking)
26:24 @MakerMelissa
- Last Week:
- Finished the CircUp guide
- Updated some boards on CircuitPython.org
- Updated the Color TFT DisplayIO examples and all associated learn guides
- Worked on updating the SSD1306 DisplayIO example and some Learn Guide pages.
- Fixed a couple of OLED CircuitPython HalloWing M4 Learn Guide Examples originally written for HalloWing M0
- Added some missing pin aliases to CircuitPython board definition for HalloWing M4
- Next Week:
- Continue working on SSD1306 OLED learn guide pages
- Work with Kattni on TFT Gizmo Guide
- If time permits, add some more boards to Blinka
@MikeB (lurking)
27:30 @ntoll
- Today: added support for handling byte compiled modules in circup.
- Today: fixed #10 (ignore hidden files)
- Today: report CircuitPython version and suggest update if out of date.
- PR with all this is here: https://github.com/ntoll/circup/pull/12
- Feedback welcome! :-)
- All other times: CodeGrades / Mu work, PyperCard, writing blog posts. Rest of week is PyWeek.
30:00 @siddacious
- Tested caters FT232h blinka PR.
- Nearly done with the Arduino MPU-6050 driver
- Got the APDS-9500 sensing gestures by porting an Arduino driver in a somewhat automated fashion
- Next: Writing the MPU6050 CP driver
- Playing around more /filling out the APDS-9500 CP driver
- Halloween costume prototyping
- Starting some new boards
33:50 @sommersoft (not in meeting)
- Last Week:
-
Adabot:
- Finished "days open" metrics and standard label library infrastructure check.
-
circuitpython.org
- Worked the first iteration of moving 'libraries.json' to AWS. Currently failing, due to target path woes.
-
circuitpython-build-tools:
- I got the Community Bundle building 98% correct, by using ' package_prefix_name="" '. The 2% incorrect is an included 'docs/conf.py'.
- Ran through some models/exercises of using 'pathlib' instead of 'os.walk' to gather package files. So far, using 'pathlib' looks like it would be much cleaner and less hacky (I wrote the current 'os.walk' code, and even I struggle to read it at times).
-
This Week:
-
Fix 'libraries.json' AWS target path issue.
-
circuitpython-build-tools:
-
Try next idea for Community Bundle; allow a list of 'package_prefix_name' instead of just one string.
-
Further 'pathlib' research.
-
Core Docs Module Support Matrix:
-
Work on handling the dependant-by-default modules (e.g. 'audiocore' & 'audiomixer' are enabled by the value of 'audioio').
-
35:02 @tammymakesthings (missing meeting)
- Still wrapping up my move, so not much progress this week on stuff. BUT, I have my home office and all my computers and monitors set up, so that’s a win.
- Working on a CircuitPython presentation/demo for the DesertPy user group, which will happen either this week or after October, depending on progress.
- Looking at the code for @ntoll’s circup tool, and have a few ideas for enhancements.
35:29 @tannewt
- Got CP supervisor re-advertising and sending file on command. Can iterate on app without needing to reset device.
- Lots of mobile app work last week.
- Proved out running pyright in React Native got the editor based on the parse tree rather than one large text input. Bonus is that the keyboard can be dismissed.
- Also got it mostly going on Android. Just had issues with sizing text input.
- This week the goal is to complete the read-edit-write cycle. (First two kinda work now.)
- Once that is done, then the goal is to get it running on more folk’s devices. (iOS test flight internally and android side loading) Will still be very limited.
- PyCascades CFP is closed next Monday so also writing up a few presentation ideas. Will also submit them to PyCon too.
- Will be speaking about the GameBoy at Supercon!
40:48 @TG-Techie
- This week started learning C, working with atmel chips. Starting to see how the CP abstractions are working
- Working on GUI project to be more platform agnostic, working on PyPortal, will be able to work on many other platforms as well
49:41 In The Weeds
@hierophect
- My 405 support package is derailing on into CCRAM right after startup, and I can’t figure out why. If anyone is familiar with the pyboard, I was wondering if this is some kind of sneaky bootloader thing. CCRAM isn’t even referenced in the linker setup or the startup files.
- Having issues getting to his code, @tannewt suggests that it may have something to do with the ROM bootloader that STM32’s use/have