# CircuitPython Weekly September 16th, 2019
Video of the meeting is available [on YouTube](https://youtu.be/iBJ_ly0UsSw) and [on diode.zone](https://diode.zone/videos/watch/a0200db9-68b8-43a5-8bae-b365d35ccf17)

Join here for the chat all week: http://adafru.it/discord

The weekly happens normally at 2pm ET/11am PT on Mondays except when US holidays occur on Monday. Check the #circuitpython channel for notices of change in time and links to past episodes.

CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from adafruit.com.

Reminders: Podcast available on most services. Let us know if we’re missing some.

## 4:16 Community News
Hanselminutes Technology Podcast – Learning CircuitPython with Scott Shawcroft:
https://www.hanselminutes.com/701/learning-circuitpython-with-scott-shawcroft

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 14,028 humans, thank you~
https://adafru.it/discord

Call for Proposals for PyCon 2020 is open!
https://pycon.blogspot.com/2019/09/call-for-proposals-for-pycon-2020-is.html 

CircuitPython.org updates- We're always updating CircuitPython and the libraries. We've had CircuitPython 4.0.1 stable out for a while, and recently released 5.0.0-alpha.2 which means it's time for a new CircuitPython Library Bundle! The 4.x and 5.x bundles are now available for download at https://.www.circuitpython.org/libraries . We've stopped supporting the 2.x and 3.x bundles, but you can always get access to the final builds on GitHub.

CircuitPython snakes its way to the STM32:
https://youtu.be/xA8q0Xs22-E
(should have a few boards on .org later today too)...

Python on Hardware Community Showcase at PyConUK:
https://twitter.com/carlosperate/status/1173171478185074689

CPX pinouts for the upcoming CircuitPython book in Japan - AND check out this great video that promos the book!
https://twitter.com/AoyamaProd/status/1172459088724185088
https://twitter.com/AoyamaProd/status/1173554917803380737

Have anything to add?
https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2019-09-17-draft.md


## 7:12 State of CircuitPython + Libraries
### 7:20 Overall


* 13 pull requests merged
  * 9 authors - hierophect, jepler, caternuson, tannewt, jerryneedell, siddacious, dhalbert, brentru, ntoll
  * 6 reviewers - tannewt, kattni, jerryneedell, hierophect, ladyada, dhalbert
* 11 closed issues by 7 people, 12 opened by 9 people


Overall: We just released 5.0 alpha 4, managed to release almost all of the assets. 4.x is going well, we may do a bug release because we’ve had a couple boards with bug fixes. Heads down on 5.0 BLE work, should see a lot of cool things come from that soon.


### 8:55 Core


* 6 pull requests merged
  * 4 authors - hierophect, jepler, dhalbert, tannewt
  * 4 reviewers - hierophect, ladyada, dhalbert, tannewt
* 13 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2158
  * https://github.com/adafruit/circuitpython/pull/2156
  * https://github.com/adafruit/circuitpython/pull/2154
  * https://github.com/adafruit/circuitpython/pull/2151
  * https://github.com/adafruit/circuitpython/pull/2148
  * https://github.com/adafruit/circuitpython/pull/2143
  * https://github.com/adafruit/circuitpython/pull/2130
  * https://github.com/adafruit/circuitpython/pull/2054
  * https://github.com/adafruit/circuitpython/pull/2044
  * https://github.com/adafruit/circuitpython/pull/2034
  * https://github.com/adafruit/circuitpython/pull/1858
  * https://github.com/adafruit/circuitpython/pull/1363
  * https://github.com/adafruit/circuitpython/pull/1274
* 3 closed issues by 2 people, 10 opened by 8 people
* 185 open issues
  * https://github.com/adafruit/circuitpython/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: 11 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                               |   48   |       0        |
| arduino_mkrzero                               |   23   |       0        |
| arduino_zero                                  |   60   |       0        |
| bast_pro_mini_m0                              |   2    |       0        |
| capablerobot_usbhub                           |   0    |       0        |
| catwan_usbstick                               |   1    |       0        |
| circuitplayground_bluefruit                   |   -    |       0        |
| circuitplayground_express                     |  1694  |       0        |
| circuitplayground_express_4h                  |   9    |       0        |
| circuitplayground_express_crickit             |   94   |       0        |
| circuitplayground_express_digikey_pycon2019   |   6    |       0        |
| cp32-m4                                       |   -    |       0        |
| datalore_ip_m4                                |   -    |       0        |
| datum_distance                                |   0    |       0        |
| datum_imu                                     |   1    |       0        |
| datum_light                                   |   1    |       0        |
| datum_weather                                 |   1    |       0        |
| electronut_labs_blip                          |   2    |       0        |
| electronut_labs_papyr                         |   0    |       0        |
| escornabot_makech                             |   1    |       0        |
| feather_m0_adalogger                          |   88   |       0        |
| feather_m0_basic                              |   77   |       0        |
| feather_m0_express                            |  290   |       0        |
| feather_m0_express_crickit                    |   14   |       0        |
| feather_m0_rfm69                              |   46   |       0        |
| feather_m0_rfm9x                              |   87   |       0        |
| feather_m0_supersized                         |   -    |       0        |
| feather_m4_express                            |  488   |       0        |
| feather_nrf52840_express                      |   80   |       0        |
| feather_radiofruit_zigbee                     |   2    |       0        |
| gemma_m0                                      |  246   |       0        |
| gemma_m0_pycon2018                            |   3    |       0        |
| grandcentral_m4_express                       |  102   |       0        |
| hallowing_m0_express                          |  103   |       0        |
| hallowing_m4_express                          |   -    |       0        |
| itsybitsy_m0_express                          |  152   |       0        |
| itsybitsy_m4_express                          |  256   |       0        |
| kicksat-sprite                                |   1    |       0        |
| makerdiary_nrf52840_mdk                       |   12   |       0        |
| makerdiary_nrf52840_mdk_usb_dongle            |   24   |       0        |
| meowmeow                                      |   2    |       0        |
| metro_m0_express                              |  326   |       0        |
| metro_m4_airlift_lite                         |   65   |       0        |
| metro_m4_express                              |  153   |       0        |
| metro_nrf52840_express                        |   -    |       0        |
| mini_sam_m4                                   |   7    |       0        |
| monster_m4sk                                  |   -    |       0        |
| particle_argon                                |   7    |       0        |
| particle_boron                                |   5    |       0        |
| particle_xenon                                |   18   |       0        |
| pca10056                                      |   27   |       0        |
| pca10059                                      |   57   |       0        |
| pewpew10                                      |   18   |       0        |
| pewpew13                                      |   0    |       0        |
| pewpew_m4                                     |   -    |       0        |
| pirkey_m0                                     |   1    |       0        |
| pybadge                                       |  142   |       0        |
| pybadge_airlift                               |   2    |       0        |
| pygamer                                       |  325   |       0        |
| pygamer_advance                               |   18   |       0        |
| pyportal                                      |  441   |       0        |
| pyportal_titano                               |   -    |       0        |
| pyruler                                       |  111   |       0        |
| robohatmm1                                    |   3    |       -        |
| robohatmm1_m0                                 |   -    |       0        |
| robohatmm1_m4                                 |   -    |       0        |
| sam32                                         |   12   |       -        |
| snekboard                                     |   -    |       0        |
| sparkfun_lumidrive                            |   4    |       0        |
| sparkfun_nrf52840_mini                        |   16   |       0        |
| sparkfun_redboard_turbo                       |   8    |       0        |
| sparkfun_samd21_dev                           |   6    |       0        |
| sparkfun_samd21_mini                          |   6    |       0        |
| stm32f411ve_discovery                         |   -    |       0        |
| stm32f412zg_discovery                         |   -    |       0        |
| trellis_m4_express                            |  150   |       0        |
| trinket_m0                                    |  792   |       0        |
| trinket_m0_haxpress                           |   -    |       0        |
| uchip                                         |   4    |       0        |
| ugame10                                       |   17   |       0        |
| ----------------------------------------------|--------|----------------|
|                                         Total |  6757  |       0        |
| ----------------------------------------------|--------|----------------|


Download stats by language:


| Board            | 4.1.0  | 5.0.0-alpha.4  |
| -----------------|--------|----------------|
| ID               |   4    |       0        |
| de_DE            |  152   |       0        |
| en_US            |  6212  |       0        |
| en_x_pirate      |   49   |       0        |
| es               |  127   |       0        |
| fil              |   10   |       0        |
| fr               |  122   |       0        |
| it_IT            |   21   |       0        |
| pl               |   28   |       0        |
| pt_BR            |   21   |       0        |
| zh_Latn_pinyin   |   11   |       0        |
| -----------------|--------|----------------|
|            Total |  6757  |       0        |
| -----------------|--------|----------------|




### 11:31 Libraries




* 7 pull requests merged
  * 5 authors - caternuson, jerryneedell, siddacious, brentru, ntoll
  * 4 reviewers - kattni, ladyada, jerryneedell, tannewt
* 32 open pull requests
  * https://github.com/adafruit/Adafruit_CircuitPython_WS2801/pull/4
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/10
  * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/8
  * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_TLC59711/pull/5
  * https://github.com/adafruit/Adafruit_CircuitPython_MAX31865/pull/9
  * https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_MIDI/pull/13
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/36
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/35
  * https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO/pull/46
  * https://github.com/adafruit/Adafruit_CircuitPython_Hue/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_BME680/pull/18
  * https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/pull/26
  * https://github.com/adafruit/Adafruit_CircuitPython_MotorKit/pull/19
  * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/14
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/pull/20
  * https://github.com/adafruit/Adafruit_CircuitPython_LSM303/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/27
  * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/21
  * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/14
  * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/39
  * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/34
  * https://github.com/adafruit/Adafruit_CircuitPython_PyPortal/pull/20
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/pull/30
  * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/57
  * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/51
  * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/69
  * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/66
* 8 closed issues by 5 people, 2 opened by 2 people
* 143 open issues
  * https://circuitpython.org/libraries/contributing
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_SSD1305](https://github.com/adafruit/Adafruit_CircuitPython_SSD1305)
**Updated Libraries**
 * [Adafruit_CircuitPython_SD](https://github.com/adafruit/Adafruit_CircuitPython_SD)
 * [Adafruit_CircuitPython_hashlib](https://github.com/adafruit/Adafruit_CircuitPython_hashlib)
 * [Adafruit_CircuitPython_RSA](https://github.com/adafruit/Adafruit_CircuitPython_RSA)
 * [Adafruit_CircuitPython_BNO055](https://github.com/adafruit/Adafruit_CircuitPython_BNO055)




## 13:53 Hug Reports
17:20 @anecdata (otherwise lurking today)
* Huge group hug. I’m continually impressed with this community. Always learning, always pressing forward, keeping it positive. There’s so much talent in this community.


17:41 @brentru
* @hierophect for STM work
* @tannewt for podcast appearance, nice surprise popping into my feed - listened to it on the way to class on thurs.
* Lapo-luchini on github for their web-based ASN.1 decoder, helped me get through (and better understand) some code I was working on last week. Visual struct. decoders are amazing!


@cater (lurking)


19:06 @CGrover (text only)
* Group hug to the team and community this week. Amazing progress!


@deshipu (joined late)
* @jepler for work on fixing analog pins and dac


@DonK (lurking)


19:44 @Hierophect
* Thanks to ladyada for testing 
* Scott for checking out PRs and merging


20:20 @jasonp
* @danh for the Building CircuitPython guide
* @jepler, @tannewt, @kattni, @sajattack for the build guidance 
20:52 @jepler
* Everyone reviewing pull requests and helping on issues!
* @kattni for help and testing with the simpleio / nRF pwm bug, and for using me as a sounding board about M4SK questions
* @tannewt and @ladyada for suggesting improvements on PRs, especially on the simpleio PR
* @tannewt for entrusting me with the ability to merge PRs in the core
* @adafruit for a little Japan travel advice


21:46 @kattni
* @jepler for helping work through finding a lib bug and two bugs in the core
* @jepler for merging my PR to the core for a bug fix to the board files for MONSTER M4SK
* @JohnPark for talking through finding an issue with analog voltage on CPB
* @cater for testing an example I was missing hardware for


23:19 @MakerMelissa
* @ntoll for helping me with a bunch of CircUp questions
* @swarren for all your help with the Jetson Nano issues
* Group Hug


@Mr Certainly (lurking)


23:51 @sommersoft (not in meeting)
* Group hug


15:02 @tannewt
* Jepler for helping merge PRs
* Drew Fustini for being our bridge into the Linux world
* Mikey, Siddacious and Cater for forum answers
* Jerry, cater, mr certainly and andon for Discord modding
* Ladyada for testing all the things
* Danh for hanging out in Ballard with me and brainstorming the future of CircuitPython


## 24:00 Status Updates
@anecdata (lurking)


29:17 @brentru
Last Week:
* ATECC Library, forum support, misc. IoT work, school.
   * Most security commands implemented incl. signing, etc.
   * Worked on a Certificate Signing Request (CSR) generation module
      * CSR passes most validity tests, except signature. Unsure as of time of writing why it’s failing, I’m narrowing it down.
         * This’ll let us build AWS IoT CircuitPython devices
   * Chatted with an Azure iot dev. about         “first five minutes” applied to Circuit Python IoT projects, different types of getting online quickly with azure iot (where the bottlenecks are, how we could possibly reduce them with CircuitPython). 
      * This is prepping for an eventual future update to our CircuitPython Azure IoT module but using MiniMQTT and ATECC instead of the sluggish HTTP API.
This week:
* Finish up ATECC CSR module
   * Debugging/fixing the invalid signature 
   * Testing against AWS IoT        
   * Release library,
      * Update guide for CircuitPython


@cater (lurking)


30:57 @CGrover (text only)
* Nothing major to report CircuitPython-wise. Been heads down in the studio tracking some new songs. Trying to wrap up the album this week, working out the duplicating, packaging, and licensing challenges.
* My AD9833 Precision Waveform Generator FeatherWing (with CircuitPython drivers) generated some interest. To support a low-power version of the AD9833 that he had on-hand, a maker customized the PCB and ordered some OSH Park boards. Seeing his different perspective gave me some useful ideas. Hoorah for open source!
* Oh and used my SMD microscope to tune harmonicas.


47:00 @deshipu
* I went to IBM Qiskit hackaton, and we used the CircuitPython port of the Qiskit library to write a 9-dimensional quantum Rubik’s cube game. https://github.com/oscarhiggott/pewpew-qube 
* Another version of the device next week


31:54 @Hierophect
* This week I’m mostly fixing bugs found last week during analogio revamping
* Resolve without too much trouble
* Moving on to more module support with busio and SPI and so on
* For now working through issues found


32:36 @jasonp
Last week:
* Learning the CP build process - have it working on Mac and Ubuntu
* Working on make_transparent() / make_opaque() bug 
Next week:
* More of the same until the bug is closed


34:03 @jepler
Last week:
* I2S Audio Out for all nRF boards was merged
* nRF PWM pin reuse bug fixed
* Audiocore & audiopwmio fix for simpleio
* Worked on mirroring the console/REPL to a UART.  Works, but is not mergable as is (long term).  There’s  PR if you want to see the state of this.
* Improved audio stuttering while doing disk I/O and while printing
* Improved the developer experience when building with DEBUG=1
* Revised PR for samd51 dac issues.  Still not perfect, but a big improvement
This week
* Trying the Feather to C64 USER PORT board again tonight
* Very little CircuitPython activity expected for the next month
* $DAY_JOB’s yearly users group this week, sucking all my time
* 3 weeks travel in Japan starting after that - I intend to post some photos in #offtopic
   * Time zone difference and travel days  mean I’ll miss 4 weekly meetings
Future:
* I picked up a couple QWIIC modules and it seems neither have CircuitPython drivers, so that’s something to do
* Thinking about changes to how we do background tasks.  Key question: what can we do for 5.0, where we certainly don’t want to add an RTOS at this late time? (if we can do something for 5.0)


37:57 @kattni
* Last week:
   * Started and finished Circuit Playground Bluefruit guide and testing
   * Found multiple bugs
   * PWM and HID Mouse waiting on core issues
      * PWM waiting on PR currently in - may be fixed
      * HID mouse waiting on issue
   * Completed Pinouts page for MONSTER M4SK guide
   * Found another bug
* This week:
   * Library Monday!
   * Hallowing M4 guide and testing
   * CPB examples:
      * Color picker
      * Bluetooth keyboard
      * Bluefruit plotter


43:39 @MakerMelissa
* Last Week:
   * Finished up Blinka Jetson Nano guide
   * Fixed bug with NeoTrellis and Seesaw
   * Fixed some Blinka issues
   * Split out ST7735 Arduino examples for several boards and updated tests
   * Started working on CircUp Guide
   * Updated snekboard images on CircuitPython.org
* This week:
   * Finish Circup Guide
   * Add a few CircuitPython.org Boards
   * Fix/Update a few more issues/guides
   * Start working on SSD1305 Displayio Drivers


@Mr Certainly (lurking)


46:02 @sommersoft (not in meeting)
* Two Weeks Ago:
   * Adabot:
      * Started working on "days open" metrics to library issues & PRs.
      * Started working on a library infrastructure check to standardize labels available ("good first issue", "bug", etc).
      * Started changing circuitpython-org/libraries updater to upload to AWS S3 vs submitting a PR.
   * Did a little troubleshooting on circuitpython-build-tools bundle issues for the Community Bundle.
* Last Week:
   * Spent most of the week blowing my nose, and sleeping between day_job and dad_taxi. Thank you flu-like illness.
* This Week:
   * Finish adabot work-in-progress
   * Try a few ideas I had with the Community Bundle.


24:40 @tannewt
* Last week
   * Lots of BLE experimentation
   * Two types of weeds here:
      * What the Adafruit BLE library will look like - wanting more declarative
         * Check out fork to take a look, will WIP
      * Starting to experiment with what the interface is for loading the code.py file off of the device and writing it back
         * Using NordicConnect app, how reliable is that? Started on mobile app side, wanted to use react native, using PyRight (parses, structures, figures out types etc)
         * Getting past giant hump of how React Native does stuff
         * Now starts up, connects to Adafruit Bluefruit app, and gets all data
* This week
   * Email and PRs, newsletter today
   * Goal is to go heads down again, really get it to the point where we’re doing the full life cycle journey of loading code.py into iOS app, and will save back to device using a timer and will rerun the code. Full integration, vertical slice working with that.
   * Please ping directly with urgent matters


## 48:32 In the Weeds


49:10 @jasonp
* There seems to be a lot happening on the audio side of things.  I was at a gathering of musicians last week, and I thought that a PyBadge, modified for audio uses, would make an interesting platform for a “community sequencer” of sorts.


51:53 @cater
* Debugging bootloader+firmware how to?
* @tannewt In general you don’t need to worry about the bootloader, because debugger runs through bootloader and if you stop, it doesn’t tell you anything. Nothing special needed to let it know about the bootloader because of info in .elf file. 
   * Tips:
      * If you’re crashing, break on reset_into_safe_mode.
      * If you’re working on a new port, and you haven’t done it, you can break on hardfault_handler.


## 55:56 Wrap-up
