# CircuitPython Weekly for 9 September 2019
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](https://youtu.be/Xtdnj2nSNlU).


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:34 Community News


The Top Programming Languages 2019 - Python tops the charts with a CircuitPython nod!
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019 


CircuitPython 5.0.0 Alpha 2 Released!
https://blog.adafruit.com/2019/09/04/circuitpython-5-0-0-alpha-2-released/ 


Machine Learning with Microcontrollers Hack Chat, lots of Python on Pi! 3pm ET Weds!
https://hackaday.com/2019/09/09/machine-learning-with-microcontrollers-hack-chat/ 


Speaking of' Hackaday turned 15, tune in to the story and more
https://youtu.be/kMkgwSLj0Uc 


Feather STM32F405 – How did we do?
https://blog.adafruit.com/2019/09/04/feather-stm32f405-how-did-we-do-st_world-stm32f405-stm32-stm-adafruit/ 


wiringPi, wiringPi GPIO library – deprecated… Lessons for the open-source community
https://blog.adafruit.com/2019/09/02/wiringpi-wiringpi-gpio-library-deprecated-lessons-for-the-open-source-community-drogon/ 


## 8:21 State of CircuitPython + Libraries


### 8:44 Overall


* 38 pull requests merged
  * 13 authors - makermelissa, hierophect, sommersoft, dhalbert, jepler, deshipu, jerryneedell, caternuson, hartzell, brentru, ntoll, tannewt, dastels
  * 10 reviewers - hierophect, sommersoft, dhalbert, kattni, siddacious, ladyada, caternuson, brentru, makermelissa, tannewt
* 17 closed issues by 7 people, 17 opened by 7 people


### 10:15 Core


* 13 pull requests merged
  * 6 authors - hierophect, sommersoft, dhalbert, jepler, deshipu, tannewt
  * 6 reviewers - hierophect, ladyada, sommersoft, dhalbert, kattni, tannewt
* 9 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2126
  * https://github.com/adafruit/circuitpython/pull/2104
  * https://github.com/adafruit/circuitpython/pull/2101
  * 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
* 5 closed issues by 2 people, 2 opened by 2 people
* 176 open issues
  * https://github.com/adafruit/circuitpython/issues
* 7 active milestones
  * 4.x.x - Bug fixes: 0 open issues
  * 5.0.0: 4 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: 149 open issues
  * 1 issue         not assigned a milestone


Download stats by board:


| Board                                         | 4.1.0  | 5.0.0-alpha.2  |
| ----------------------------------------------|--------|----------------|
| arduino_mkr1300                               |   43   |       0        |
| arduino_mkrzero                               |   23   |       0        |
| arduino_zero                                  |   46   |       1        |
| bast_pro_mini_m0                              |   2    |       0        |
| capablerobot_usbhub                           |   0    |       0        |
| catwan_usbstick                               |   1    |       0        |
| circuitplayground_bluefruit                   |   -    |       13       |
| circuitplayground_express                     |  1404  |       11       |
| circuitplayground_express_4h                  |   8    |       0        |
| circuitplayground_express_crickit             |   82   |       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    |       1        |
| electronut_labs_papyr                         |   0    |       0        |
| escornabot_makech                             |   1    |       0        |
| feather_m0_adalogger                          |   78   |       0        |
| feather_m0_basic                              |   65   |       0        |
| feather_m0_express                            |  256   |       3        |
| feather_m0_express_crickit                    |   13   |       0        |
| feather_m0_rfm69                              |   37   |       0        |
| feather_m0_rfm9x                              |   76   |       1        |
| feather_m0_supersized                         |   -    |       0        |
| feather_m4_express                            |  389   |       3        |
| feather_nrf52840_express                      |   76   |       4        |
| feather_radiofruit_zigbee                     |   2    |       0        |
| gemma_m0                                      |  205   |       0        |
| gemma_m0_pycon2018                            |   3    |       0        |
| grandcentral_m4_express                       |   91   |       1        |
| hallowing_m0_express                          |   82   |       3        |
| hallowing_m4_express                          |   -    |       2        |
| itsybitsy_m0_express                          |  134   |       0        |
| itsybitsy_m4_express                          |  228   |       3        |
| kicksat-sprite                                |   1    |       0        |
| makerdiary_nrf52840_mdk                       |   11   |       2        |
| makerdiary_nrf52840_mdk_usb_dongle            |   21   |       1        |
| meowmeow                                      |   2    |       0        |
| metro_m0_express                              |  282   |       9        |
| metro_m4_airlift_lite                         |   55   |       0        |
| metro_m4_express                              |  142   |       2        |
| metro_nrf52840_express                        |   -    |       0        |
| mini_sam_m4                                   |   7    |       0        |
| monster_m4sk                                  |   -    |       1        |
| particle_argon                                |   6    |       1        |
| particle_boron                                |   3    |       0        |
| particle_xenon                                |   18   |       1        |
| pca10056                                      |   22   |       5        |
| pca10059                                      |   54   |       4        |
| pewpew10                                      |   11   |       0        |
| pewpew13                                      |   0    |       0        |
| pirkey_m0                                     |   1    |       0        |
| pybadge                                       |  127   |       0        |
| pybadge_airlift                               |   2    |       3        |
| pygamer                                       |  254   |       3        |
| pygamer_advance                               |   17   |       0        |
| pyportal                                      |  377   |       6        |
| pyportal_titano                               |   -    |       0        |
| pyruler                                       |   98   |       1        |
| robohatmm1                                    |   3    |       -        |
| robohatmm1_m0                                 |   -    |       0        |
| robohatmm1_m4                                 |   -    |       0        |
| sam32                                         |   11   |       0        |
| snekboard                                     |   -    |       0        |
| sparkfun_lumidrive                            |   2    |       0        |
| sparkfun_nrf52840_mini                        |   13   |       1        |
| sparkfun_redboard_turbo                       |   8    |       0        |
| sparkfun_samd21_dev                           |   5    |       0        |
| sparkfun_samd21_mini                          |   6    |       0        |
| trellis_m4_express                            |  126   |       3        |
| trinket_m0                                    |  679   |       1        |
| trinket_m0_haxpress                           |   -    |       0        |
| uchip                                         |   4    |       0        |
| ugame10                                       |   17   |       1        |
| ----------------------------------------------|--------|----------------|
|                                         Total |  5741  |       91       |
| ----------------------------------------------|--------|----------------|


Download stats by language:


| Board            | 4.1.0  | 5.0.0-alpha.2  |
| -----------------|--------|----------------|
| ID               |   4    |       0        |
| de_DE            |  136   |       0        |
| en_US            |  5291  |       85       |
| en_x_pirate      |   44   |       2        |
| es               |   90   |       1        |
| fil              |   8    |       1        |
| fr               |   99   |       1        |
| it_IT            |   17   |       0        |
| pl               |   26   |       1        |
| pt_BR            |   17   |       0        |
| zh_Latn_pinyin   |   9    |       0        |
| -----------------|--------|----------------|
|            Total |  5741  |       91       |
| -----------------|--------|----------------|




### 12:30 Libraries


* 25 pull requests merged
  * 9 authors - makermelissa, sommersoft, jerryneedell, caternuson, hartzell, brentru, ntoll, tannewt, dastels
  * 7 reviewers - ladyada, caternuson, brentru, makermelissa, kattni, tannewt, siddacious
* 33 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_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_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_MotorKit/pull/19
  * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/57
  * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/51
  * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/14
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/pull/20
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/pull/35
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/pull/30
  * 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_ESP32SPI/pull/69
  * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/66
  * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/14
  * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/196
* 12 closed issues by 6 people, 15 opened by 5 people
* 148 open issues
  * https://circuitpython.org/libraries/contributing
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_IL91874](https://github.com/adafruit/Adafruit_CircuitPython_IL91874)
 * [Adafruit_CircuitPython_BitmapSaver](https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver)
 * [Adafruit_CircuitPython_SSD1675](https://github.com/adafruit/Adafruit_CircuitPython_SSD1675)
 * [Adafruit_CircuitPython_SSD1608](https://github.com/adafruit/Adafruit_CircuitPython_SSD1608)
 * [Adafruit_CircuitPython_IL0373](https://github.com/adafruit/Adafruit_CircuitPython_IL0373)
 * [Adafruit_CircuitPython_IL0398](https://github.com/adafruit/Adafruit_CircuitPython_IL0398)
 * [Adafruit_CircuitPython_PCT2075](https://github.com/adafruit/Adafruit_CircuitPython_PCT2075)
**Updated Libraries**
 * [Adafruit_CircuitPython_LIDARLite](https://github.com/adafruit/Adafruit_CircuitPython_LIDARLite)
 * [Adafruit_CircuitPython_binascii](https://github.com/adafruit/Adafruit_CircuitPython_binascii)
 * [Adafruit_CircuitPython_ESP_ATcontrol](https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol)
 * [Adafruit_CircuitPython_DymoScale](https://github.com/adafruit/Adafruit_CircuitPython_DymoScale)
 * [Adafruit_CircuitPython_RFM9x](https://github.com/adafruit/Adafruit_CircuitPython_RFM9x)
 * [Adafruit_CircuitPython_GC_IOT_Core](https://github.com/adafruit/Adafruit_CircuitPython_GC_IOT_Core)
 * [Adafruit_CircuitPython_VL6180X](https://github.com/adafruit/Adafruit_CircuitPython_VL6180X)
 * [Adafruit_CircuitPython_Slideshow](https://github.com/adafruit/Adafruit_CircuitPython_Slideshow)
 * [Adafruit_CircuitPython_CursorControl](https://github.com/adafruit/Adafruit_CircuitPython_CursorControl)
 * [Adafruit_CircuitPython_HT16K33](https://github.com/adafruit/Adafruit_CircuitPython_HT16K33)
 * [Adafruit_CircuitPython_EPD](https://github.com/adafruit/Adafruit_CircuitPython_EPD)




## 14:30 Hug reports

19:43 @brentru
* @jerryn for making CircuitPython_Requests compatible with Raspberry Pi and Particle boards.
* Group hug


@cater (lurking) 
20:05 @CGrover (lurking)
* Group hug


20:20 @charlesburnaford
* Group hug


21:03 @danh
* @tannewt for alpha.2
* @tannewt for polishing off displayio
* @jepler for hard work on audio
* @kattni for finding pin assignment bug in CPB


22:05 @Dave Briccetti
* @siddacious for help with the CircuitPython Community Members directory


@DaveP (Lurking)


22:20 @deshipu
* group hug
* @danh for the USB endpoint configuration


22:43 @hierophect
* @danh for HID updates
* @thach for F412 update
* @ladyada for F412 testing help
* @tannewt for taking a look at PRs




23:34 @jasonp
* Group hug
* @anecdata for help with my CP 5 cutover last Friday
* Adafruit, overall, for continuing to create inspiring products and community


24:13 @jepler
* Group hug


24:31 @jerryn
* Group hug


15:15 @kattni
* @danh and @jepler for help with understanding and explaining capacitive touch on the nRF52840
* @danh for fixing up the board def on the Circuit Playground Bluefruit
* Justin for getting circuitpython.org ready for the /contributing updates
* @sommersoft for work on the circuitpython.org/libraries/contributing updates




@KingerNorth (Lurking)


16:39 @MakerMelissa
* @kattni for helping me out with some Macbook questions
* @anecdata for doing some additional eInk testing
* @hansoosterdorp for submitting a great Orange Pi Zero PR
* Group Hug


17:05 @ntoll (missing meeting)
* My Hug report is for @danh for his really helpful ideas last week while I was working on circup
* A general TellyTubby like group hug!


17:21 @siddacious
* @Dave Briccetti for putting together the CircuitPython community members spreadsheet
* Pt, Limor and the Hackaday folks for a great overview of the past and future of Hackaday
* @sajattack for becoming a Community Helper


17:53 @tannewt
* MatthewNewberg for adding dithering to ColorConverter
* Eric Traut for pyright and dan
* @ladyada for lotsa reviews
* @danh, @kattni, @jepler for hunting down incorrect CPB pin mapping

## 24:43 Status Updates


37:47 @brentru
* LW:
   * Started class(es), looking fwd to the semester ahead :) 
   * Worked on AirLift Bitsy guide, assembled a new circuitpython proto, iot newsletter
   * Building out Adafruit_ATECC module for the ATECC608A breakout we sell (and on most AirLift-compatibles). This is a hardware-accelerated cryptographic authentication module.
      * Working: sha-256 hashing, random value generation, nonce generation, monotonic counters, ECC key generation, chip configuration + locking 
* TW:
   * Continued work on Adafruit_ATECC, working towards more advanced modules/demos which “show off” the module and make it useful for #PythonHardware IoT Applications:
      * Started work on generating a Certificate Signing Request (CSR) for use with AWS -> Build out AWS MiniMQTT Wrapper Lib.
         * Then, JWS generation - update for CircuitPython Google Cloud IoT
            * Self-Signed cert. -> update CircuitPython Azure IoT
               * CircuitPython Azure IoT also needs update to use MiniMQTT, currently is REST-API only.
   * Future module work (TODO) would be for TinyLora with ATECC, would significantly speed up authentication (bring circuitpython devices online faster)




@cater (lurking)


@CGrover (lurking)


39:29 @charlesburnaford (lurking/already reported)
* finally got keyboard project working, got the info from the documentation


39:40 @danh
* Working on BLE bonding: choosing persistent storage mechanism. MicroPython PR for LittleFS (used in Arduino Bluefruit library) is available though not yet merged. Added it manually. It will be another mountable volume so users can examine and manipulate it via REPL and Python.
* Fixing bugs in compile-time USB and HID configuration. Debugging gamepads on Windows.
* Fixed pin assignment bug in CPB.
* Sketching out simple library for CPB.
* Discussing BLE APIs with MicroPython BLE implementers.


42:25 @Dave Briccetti
* Here is the CircuitPython Community Members directory. Feel free to improve it, or make comments. Once the info we want to collect is somewhat stabilized, we can create a form, to make input easier.
* I made a fun pair of programs that transmit messages over the CPX NeoPixels. The decoder program uses Python, OpenCV and numpy to see and decode the data. The encoder might make an interesting CircuitPython library example.


@DaveP (lurking)


44:19 @deshipu
* more of the same


44:26 @Hierophect
* Wrapped up flash PR
* Github CI Support
* Revamped stm32 pin system
* Added F412 USB support
* Should get Analogio in by today
* Next up is busio/peripherals object, then QSPI flash and F405 support. 
* … Fix F412 support :(


45:35 @jasonp
* No active project right now
* Looking for ideas…
* DMX lighting control on the table
* CP on FPGA is a topic of specific interest to me


46:38 @jepler
Last week:
* Got nRF I2SOut to pull request status.  Playing 16-bit mono samples works great.  There were some glitches, but maybe just my mistakes or due to using debugging builds
* That PR includes a fix for a bug I ran into with truncated WaveFiles that locks up circuitpython with nRF I2SOut (probably “harmless-ish” with other AudioOut devices)
* A couple other minor PRs filed
This week:
* Further testing of nRF I2SOut.  Some things that come to mind:
   * 8 bit WaveFile and RawSample
   * stereo 
   * The new mixer (!!)
Future:
* Return to samd51 AnalogOut/AudioOut issues
   * Finish comparing relevant register states to Arduino
   * Ensure all Issues are updated with my findings
   * If further fixes not found, get an existing branch to non-draft PR status
* Take some lessons learned while working on nRF I2SOut and apply to nRF PWMAudioOut
   * Improved memory usage
   * Potentially solves non-looping RawSample issue




49:14 @jerryn
* Spent most of last week in a canoe - off the grid - it was lovely!
* Just for fun - hooked up an Airlift breakout to a Raspberry Pi Zero
   * With a minor tweak to Adafruit_Circuitpython_Requests, it works fine
   * Not sure how useful -- a WiFi Dongle is much less expensive and easier to use.
* Started testing CircuitPlayground Bluefruit with Crickit.   So far so good.
* Hope to get back to some LoRa/LoRaWAN projects.
   * Want to look into issue with “garbage” transmissions with rfm9x


25:51 @kattni
* Last week:
   * Updated the CircuitPython FAQ and Troubleshooting page with links to the final 3.x and 2.x bundles
   * Merged PR to deprecate old bundles, introduce 5.x bundle
   * Blogged ATECC608 guide release
   * Started on Circuit Playground Bluefruit guide
      * Pinouts, Guided Tour, Downloads pages are done
      * CP install page, and mirrored pages done
      * Started testing on CircuitPython Playground
      * Analog In done, Digital In/Out done
* This week:
   * Library Monday!
      * Verify all libs are in bundle
      * Release circuitpython-build-tools
   * Continue CPB testing, currently doing cap touch
   * Test circup
   * Continue looking into updating circuitpython.org/libraries/contributing
   * Verify 5.x bunde, update cp.org/libraries
   * Update various libraries created before current cookiecutter


@KingerNorth (lurking)

30:36 @MakerMelissa
* Last Week
   * Finished reviewing eInk PRs
   * Finished Raspberry Pi TensorFlow Lite guide
   * Verified an issue with labels and the monochrome eInk FeatherWing
   * Fixed a couple libraries with missing versions and repo URLs
   * Added HallowWing M4 to Arduino ST7789 Library Examples
   * Tested out PR for adding Blinka to Orange Pi Zero and got that merged in
   * Started guide for running Blinka on Nvidia Jetson Nano
      * Ran into some issues with enabling SPI being very complicated and not user-friendly
* This Week:
   * Finish guide for Jetson Nano
   * Test a PR for the SSD1306 in Arduino
   * Revisit some previous Blinka guides with with a better understanding of some issues I couldn’t work out before plus some more testing


33:26 @siddacious
* Finished the PCT2075 temp sensor drivers
* Got the TLV493D guide ready but for pictures
* Successfully tested the latest Rev. of the new OLED bonnet
* Airlift BitsyWing/Add-On Released
* This week: Working on the PCT2075 guide
* SSD1305 displayio driver and framebuffer driver works to interface with the OLED bonnet
* Likely bringing up a new board, starting drivers, etc.
* Made a CP powered Trinket M0 ring light for my phone so the lighting of my pics doesn't’ suck so much anymore
* Attended the Embedded.fm podcast’s 300th episode “Cats & Hacks” party, met lots of cool people, including Alvaro of the Unnamed Reverse Engineering Podcast who encouraged me to ...
* Started hacking on my Droid Depot Droid. Pix here:
   * https://drive.google.com/drive/folders/11XZ4DKRSQbHtdDZH3j3S2j_YZe0xEgbd?usp=sharing

35:17 @tannewt
* Last week
   * Started getting iOS dev setup
   * Polished up ePaper drivers and got them into the bundle. Added a number of missing drivers to the driver page.
   * Added .hidden to TileGrid and Group
   * Fixed I2CDisplay and released Alpha.2
   * Explored rst2pyi and pyright for mobile python structured editing
* This week
   * PRs and testing
   * Prototyping file service over BLE

## 51:15 In The Weeds


51:54 Shall we talk FPGAs? -- @jepler
* @tannewt - suggesting USB support focus
* @jasonp - agrees with creating the CP experience, thinks we’re not so far off from making that happen

Greg? already has bin/gateware loading working using CircuitPython but the gateware is currently still generated by proprietary tools
* @heirophect - good beginner project for FPGAs?
* @tannewt: an alternate approach to the “fancy SOC” approach would be a über-seesaw approach that provides configurable io capabilities over i2c

## 1:10:15 Wrap-Up
