# Adafruit CircuitPython Weekly November 5th, 2018

Video is available here: [diode.zone](https://diode.zone/videos/watch/1efef92e-b65d-4d34-b5fb-b31576ffbf62) [YouTube](https://youtu.be/OBaMuMsB8Sk)

Thanks to @kattni for taking notes!

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 for notices of change in time and links to past episodes.

## 2:58 State of CircuitPython + Libraries

### Overall
* 35 pull requests merged
  * 12 authors - jerryneedell, sommersoft, jepler, siddacious, dhalbert, ATMakersBill, microbuilder, caternuson, Retoc, brennen, kattni, process1183
  * 7 reviewers - siddacious, dhalbert, ladyada, caternuson, tannewt, brennen, kattni
* 9 closed issues by 4 people, 7 opened by 3 people

Summary: Strong 4.x work and a good iteration on 3.x thanks to Dan. Libraries are going strong.


### 4:42 Core

* 10 pull requests merged
  * 5 authors - ATMakersBill, siddacious, Retoc, jepler, dhalbert
  * 3 reviewers - dhalbert, ladyada, tannewt
* 5 open pull requests
  * https://github.com/adafruit/circuitpython/pull/1311
  * https://github.com/adafruit/circuitpython/pull/1294
  * https://github.com/adafruit/circuitpython/pull/1289
  * https://github.com/adafruit/circuitpython/pull/1274
  * https://github.com/adafruit/circuitpython/pull/1144
* 6 closed issues by 2 people, 5 opened by 2 people
* 64 open issues
  * https://github.com/adafruit/circuitpython/issues


Download stats for 3.1.1
420 total


By board:
* arduino_zero - 14
* circuitplayground_express - 110
* circuitplayground_express_crickit - 23
* feather52832 - 9
* feather_huzzah - 23
* feather_m0_adalogger - 12
* feather_m0_basic - 17
* feather_m0_express - 31
* feather_m0_express_crickit - 4
* feather_m0_rfm69 - 3
* feather_m0_rfm9x - 3
* feather_m4_express - 18
* gemma_m0 - 19
* hallowing_m0_express - 31
* itsybitsy_m0_express - 20
* itsybitsy_m4_express - 15
* metro_m0_express - 18
* metro_m4_express - 11
* pca10056 - 3
* pirkey_m0 - 4
* trinket_m0 - 32


By language:
* en_US - 420


Download stats for 4.0.0-alpha.2
298 total


By board:
* arduino_zero - 22
* circuitplayground_express - 35
* circuitplayground_express_crickit - 9
* feather_huzzah - 12
* feather_m0_adalogger - 16
* feather_m0_basic - 6
* feather_m0_express - 12
* feather_m0_express_crickit - 1
* feather_m0_rfm69 - 4
* feather_m0_rfm9x - 7
* feather_m4_express - 19
* feather_nrf52832 - 6
* feather_nrf52840_express - 2
* gemma_m0 - 7
* hallowing_m0_express - 82
* itsybitsy_m0_express - 5
* itsybitsy_m4_express - 15
* metro_m0_express - 5
* metro_m4_express - 7
* pca10056 - 0
* pca10059 - 1
* pirkey_m0 - 1
* trinket_m0 - 24


By language:
* de_DE - 23
* en_US - 243
* es - 6
* fil - 1
* fr - 23
* pt_BR - 2

### 6:45 Libraries
Library Tracking Issue: https://github.com/adafruit/circuitpython/issues/1246
* 25 pull requests merged
  * 9 authors - jerryneedell, sommersoft, siddacious, dhalbert, microbuilder, caternuson, brennen, kattni, process1183
  * 7 reviewers - kattni, siddacious, caternuson, tannewt, dhalbert, brennen, ladyada
* 12 open pull requests
  * https://github.com/adafruit/Adafruit_CircuitPython_GPS/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS0/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822/pull/2
  * https://github.com/adafruit/Adafruit_CircuitPython_CAP1188/pull/7
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/23
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/22
  * https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/22
  * https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_US100/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/28
  * https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPIFriend/pull/2
* 3 closed issues by 3 people, 2 opened by 2 people
* 64 open issues
  * https://github.com/adafruit/METROX-CircuitPython/issues/3
  * https://github.com/adafruit/METROX-CircuitPython/issues/3
  * https://github.com/adafruit/circuitpython_kernel/issues/15
  * https://github.com/adafruit/Adafruit_CircuitPython_IRRemote/issues/17
  * https://github.com/adafruit/Adafruit_CircuitPython_IRRemote/issues/16
  * https://github.com/adafruit/Adafruit_CircuitPython_SD/issues/11
  * https://github.com/adafruit/Adafruit_CircuitPython_SD/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_SD/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_OneWire/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_INA219/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_DS18X20/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/issues/21
  * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/issues/20
  * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/issues/19
  * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/issues/1
  * https://github.com/adafruit/Adafruit_CircuitPython_BME680/issues/12
  * https://github.com/adafruit/Adafruit_CircuitPython_BME680/issues/11
  * https://github.com/adafruit/Adafruit_CircuitPython_BME680/issues/10
  * https://github.com/adafruit/Adafruit_CircuitPython_TSL2591/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_TSL2591/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_CCS811/issues/25
  * https://github.com/adafruit/Adafruit_CircuitPython_SI4713/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_TLC5947/issues/6
  * https://github.com/adafruit/Adafruit_CircuitPython_GPS/issues/10
  * https://github.com/adafruit/Adafruit_CircuitPython_RFM9x/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_PN532/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_PN532/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS0/issues/10
  * https://github.com/adafruit/Adafruit_CircuitPython_L3GD20/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_miniQR/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO/issues/33
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/issues/3
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/issues/1
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/issues/10
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822/issues/1
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/issues/12
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_RTTTL/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_CAP1188/issues/6
  * https://github.com/adafruit/awesome-circuitpython/issues/3
  * https://github.com/adafruit/Adafruit_CircuitPython_EPD/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_EPD/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/issues/25
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/issues/21
  * https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/issues/27
  * https://github.com/adafruit/Adafruit_CircuitPython_FeatherWing/issues/4
  * https://github.com/adafruit/Adafruit_CircuitPython_BME280/issues/15
  * https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/issues/17
  * https://github.com/adafruit/Adafruit_CircuitPython_HID/issues/25
  * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/issues/37
  * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/issues/105
  * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/issues/94
  * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/issues/83
  * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/issues/77
  * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/issues/57
  * https://github.com/adafruit/Adafruit_CircuitPython_FRAM/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_MPR121/issues/12
  * https://github.com/adafruit/Adafruit_CircuitPython_MPR121/issues/11
  * https://github.com/adafruit/Adafruit_CircuitPython_DRV2605/issues/9
117 out of 118 repos need work.


PyLint version very out of date - 105


For pypi compatibility, missing Adafruit-Blinka in requirements.txt - 17


ReadTheDocs missing the latest release. (Ignore me! RTD doesn't update when a new version is released. Only on pushes.) - 29


Not in bundle. - 12
* https://github.com/adafruit/Adafruit_CircuitPython_CPython
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_TFmini
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_VS1053
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_MLX90393
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX
* https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPIFriend
* https://github.com/adafruit/Adafruit_CircuitPython_TrellisM4
* https://github.com/adafruit/Adafruit_CircuitPython_FRAM


For pypi compatibility, missing pypi provider in .travis.yml - 11


PyLint version not fixed - 7


For pypi compatibility, missing setup.py - 16


ReadTheDocs missing as a subproject on CircuitPython - 11


CircuitPython drivers page missing driver - 23


Not listed on PyPi for CPython use - 17


Mismatched readthedocs.yml - 3
* https://github.com/adafruit/Adafruit_CircuitPython_GPS
* https://github.com/adafruit/Adafruit_CircuitPython_DHT
* https://github.com/adafruit/Adafruit_CircuitPython_DS3231


Missing license. - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


Missing lint config - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


Missing CODE_OF_CONDUCT.md - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


Missing README.rst - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


Missing .travis.yml - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


Missing readthedocs.yml - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


For pypi compatibility, missing requirements.txt - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


Missing examples folder - 5
* https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
* https://github.com/adafruit/Adafruit_CircuitPython_SK9822
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100
* https://github.com/adafruit/Adafruit_CircuitPython_BMP3XX


README image missing alt text - 1
* https://github.com/adafruit/Adafruit_CircuitPython_HCSR04


ReadTheDocs latest build has warnings and/or errors - 2
* https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad
* https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation


Unable to enable Travis build - 1
* https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation


Wiki should be disabled - 1
* https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPIFriend


Only allow merges, disallow rebase and squash - 1
* https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPIFriend


## 10:24 Hug reports
12:50 @brennen
* @kattni for revisiting library readmes with pypi instructions

13:11 @cater - Several for Dan for ongoing Windows anomaly help, help with things, implementing the sys path change. @siddacious for giving heads up on issue completely missed. Kattni for setting up a repo for me, Ladyada for reviewing with hw. Scott for all the reviews.

14:44 @CGrover - Group hug to the CircuitPython team and community. Fun to watch the progress on MIDI, USB, and audio mixer (multi-track!). Looking forward to updated support for displays. Amazing group effort with excellent leadership.

@charlesburnaford - lurking

@dahkotah_redstone - lurking

15:22 @danh
* @kattni for pushing on the frozen library problem; @cater for discussion on this
* @kattni for finding the Trellis DotStar problem
* @kattni for working on the Trellis M4 library
* @cater for handling a number of tricky forum support issues
* @tannewt for continuing huge leap on adopting tinyusb

@jerryn - lurking

16:37 @kattni
* @siddacious for joining the CircuitPythonLibrarians team, and first CircuitPython lib merge and release!
* @brennen for continued support and testing on Raspberry Python
* @DanH for fixing the pin assignments for status DotStar on Trellis M4
* @siddacious for slogging with me through some code I fought with this weekend
* @sommersoft for helping with code issues

17:22 @nis - Impossible to put into words, but just a general appreciation of the boldness and uniqueness and new new new-ness of what I call (internal to my self) the Adafruit Culture.
pt is often in my thoughts, for what he brings to the public face of adafruit industries. ;)

18:04 @siddacious 
* @kattni for keeping me company while I was chained to the desk (voluntarily) all weekend and making a dope trellis m4 demo that gave me a head start on a project

18:32 @sommersoft
* @tannewt & @kattni for the merges
* @danh, @jerryn, and those whose names escape me, for support in discord this week
* Group hug^2.

10:50 @tannewt
* Kattni, cater and danh for persisting on .frozen import override.
* Hathach for awesome work on TinyUSB
* Siddacious for sending me an CP32-M4


## 19:22 Status Updates
23:55 @brennen
* Last week: CharLCD testing and simpletest tweaks, matrix keypad testing, some pre-CircuitPython Pi DHT library cleanup.
* This week: Need to finish some CharLCD tutorial cleanup, potentially work on CircuitPython DHT library for Pi 1 and 2 support.

24:40 @cater - couple of new PRs in for BMP3XX, tweaks pushed this morning. CAP1188, added thresholds and sensitivity, tweaks pushed as well. Play in core CP add properties to wave file - good beginner one. 

26:16 @CGrover - Distracted from CPy work – writing some basic analog electronics articles. Did have time to throw together a CV gesture controller using CPy, a Feather, and a ToF sensor. Had the prototype up and working in about 10 minutes! Simultaneous MIDI output is next. (CV is the term for Eurorack musical synthesizer Control Voltage – a universal way to control note pitch, filter characteristics, and just about everything else in the analog synth domain.)
For this week, I’ll be focusing on finishing the authoring tasks and the mechanical assembly of the UFO model for a local film group. I’m sure there will be a few more tweaks to the UFO’s CPy code, but will be able to do that with my tablet in the video studio.

@charlesburnaford - lurking

@dahkotah_redstone - lurking

27:30 @danh
Released CPy 3.1.1 swap .frozen and lib/ in path, to ease support issues about running out of memory.
Cpy 3.1.2 will have supervisor.runtime.serial_bytes_available 

29:00 @dastels - Quick update: I'm currently working on a guide for extending CP by writing modules in C. Also, I'll be speaking about CP at PyCon Canada next weekend.

@jerryn - plane landed.

29:32 @kattni
* Last week:
   * Went through any PRs that needed attention and tried to get them moving.
      * Is there a better way to get people involved?
   * Fixed some of the issues on the lib tracking list (fixed RTD on three, enabled travis on 2, fixed github_token issue on one)
   * Got basic CharLCD and Matrix Keypad guides in for review
   * Deprecated RPi CharLCD guide
   * Merged Brennen's fix for CharLCD simpletest
   * Reenabled 2.x bundle until we have instructions updated
   * Added warning to all guides to update CP because we’re deprecating 2.x.
   * Found issue with status DotStar pin assignments in CircuitPython
   * Added acceleration to Trellis M4 lib, added example.
   * Got PR in for coordinate fix in TrellisM4 lib.
* This week:
   * Release and package BluefruitSPI lib.
   * Release and package BMP388 once it’s merged.
   * Finish up Trellis M4 CircuitPython Library page
   * Update CP Lib tracking issue.
   * Deprecate a list of Python libs at some point.
   * Back to PyPI-land guide updates.

32:34 @nis - 

* New bare-metal port of Brad Rodriguez' CamelForth (using Atmel Start) for the Trellis M4 (SAMD51G19A).

Trellis M4 is crystal-less.

To get the clock oscillator going on Trellis M4, I used the 32k ultra low power clock.

This was the first time that the crystal oscillator (XOSC) specification, in the clocks section of the Atmel Start web GUI, was not used in a project of mine.

I had USB bidirectional connectivity (a text-based interpreter, running CamelForth) going on Trellis M4 in a matter of hours (just yesterday!)  No Ringbuffer - it is a kludge. ;)

https://github.com/wa1tnr/CamelForth-SAMD51-SAMD21

34:08 @siddacious

 * Last week:
   * Worked all weekend on the blinky version of the wife's raccoon toy
   * Got the blinky bits assembled and cast into the toy after over a month of prep
   * Turns out positioning LEDs in 3D space by bending the 18 gauge wire they're attached to is hard to do with < 4mm accuracy without lifting pads
   * Got the mini-tft properly oriented and animated by reading frames direct from flash
   * Threw together a script that uses the Trellis m4 to run the raccoon and allow for nudging the colors and timing
   * Started learning fusion and started working on the 3D model of the board to make a case
   * Made a Gantt chart and terrified myself
 * This week:
   * bring up rev2 of the board today and pray to Blinka there is no rev3 needed before next Wednesday
   * Finish modeling the case/stand, and print it, or give up and make it out of wood then mold it
   * Final coding and art for LEDs and TFT
   * Finish assembly of prototype and then make 2 more.
   * I'm... so tired. DEFINITELY NOT BURNING OUT

36:54 @sommersoft

   * FRAM Library: I2C merged; will update SPI branch with changes and put in PR later today.
   * Adabot:
   * “Library needs release" validator merged. Along with an upgrade to the `requests` module to mitigate a CVE.
   * Run/cron on Travis is mostly working. Still tweaking the yaml


   * This Week:
Adabot:
      * work on library download stats
      * get Travis run to a PRable state.
      * Better & further implement `request.get(timeout=n)`, which documentation encourages to use in "production environments".

19:58 @tannewt

      * Volunteers to run/record future meetings?


40:55 @ATMakersBill

      * Hug reports: Thanks for getting serial_bytes into 3.x. This is the most helpful places out there, the group in general, there are a lot of places in tech and maker world that aren’t always friendly, helpful, welcoming. Important for us to know that if I post something in the CP group, I always get a helpful answer even if it’s “no”. And for Dan and Scott being willing to work with me on this backport. 
      * Status update: guide 60-70% done. File issue on CP repo  for reading serial via command line to tty.

## 38:39 In the Weeds

* 39:25 @danh - anything else should go into 3.x?
* ~43:00 @danh - potentially deferring nRF. Get 4.0 out running on Atmel chips, and then do a 4.1 for nRF?
* 51:35 @kattni - Is there a better way to get people involved in reviewing libs?
* Consider a live review session to help people **
* Blog up a call to arms on a regular basis?
* Post everything Discord regularly **
* Adding more people to CircuitPythonLibrarians


1:14:27
