# Adafruit CircuitPython Weekly October 29th, 2018

Video is available here: [diode.zone](https://diode.zone/videos/watch/1306f09c-4706-4870-8a2c-2c76d17a89e5) [YouTube](https://youtu.be/5gEYzTc09Eo)

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.

## 3:13 State of CircuitPython + Libraries

### Overall
* 31 pull requests merged
  * 17 authors - C47D, JoshuaLowe1002, sabas1080, mchobby, klardotsh, siddacious, kattni, jerryneedell, notro, Senuros, tannewt, nickzoic, sommersoft, jepler, ladyada, process1183, brennen
  * 7 reviewers - sommersoft, dhalbert, microbuilder, tannewt, caternuson, brennen, kattni
* 6 closed issues by 5 people, 10 opened by 6 people


Summary: Focussed work on core features of 4.x


### Core
* 12 pull requests merged
  * 10 authors - notro, Senuros, tannewt, JoshuaLowe1002, nickzoic, C47D, jepler, mchobby, sabas1080, klardotsh
  * 2 reviewers - dhalbert, tannewt
* 4 open pull requests
  * 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
* 2 closed issues by 2 people, 9 opened by 5 people
* 64 open issues
  * https://github.com/adafruit/circuitpython/issues


Download stats for 4.0.0-alpha.2
202 total


By board:
* arduino_zero - 17
* circuitplayground_express - 25
* circuitplayground_express_crickit - 5
* feather_huzzah - 9
* feather_m0_adalogger - 13
* feather_m0_basic - 3
* feather_m0_express - 9
* feather_m0_express_crickit - 1
* feather_m0_rfm69 - 1
* feather_m0_rfm9x - 1
* feather_m4_express - 15
* feather_nrf52832 - 3
* feather_nrf52840_express - 1
* gemma_m0 - 6
* hallowing_m0_express - 53
* itsybitsy_m0_express - 4
* itsybitsy_m4_express - 9
* metro_m0_express - 3
* metro_m4_express - 7
* pca10056 - 0
* pca10059 - 1
* pirkey_m0 - 1
* trinket_m0 - 15


By language:
* de_DE - 14
* en_US - 159
* es - 6
* fil - 1
* fr - 21
* pt_BR - 1


Download stats for 3.0.3
2389 total


By board:
* arduino_zero - 87
* circuitplayground_express - 611
* circuitplayground_express_crickit - 130
* feather52832 - 21
* feather_huzzah - 141
* feather_m0_adalogger - 56
* feather_m0_basic - 83
* feather_m0_express - 118
* feather_m0_express_crickit - 16
* feather_m0_rfm69 - 26
* feather_m0_rfm9x - 25
* feather_m4_express - 106
* gemma_m0 - 178
* hallowing_m0_express - 263
* itsybitsy_m0_express - 78
* itsybitsy_m4_express - 59
* metro_m0_express - 89
* metro_m4_express - 60
* pca10056 - 8
* pirkey_m0 - 7
* trinket_m0 - 227


By language:
* en_US - 2389

### 7:19 Libraries
If you’re looking for any last minute Hacktoberfest issues, check out the CircuitPython Library tracking issue (https://github.com/adafruit/circuitpython/issues/1246). A number of the repo-level issues listed there are things that can be fixed with a simple PR! Thanks to everyone who already participated in Hacktoberfest - we really appreciate your involvement. It’s been amazing to have so many new contributors!


* 19 pull requests merged
  * 7 authors - sommersoft, jerryneedell, siddacious, brennen, ladyada, process1183, kattni
  * 6 reviewers - sommersoft, microbuilder, tannewt, caternuson, brennen, kattni
* 10 open pull requests
  * https://github.com/adafruit/Adafruit_CircuitPython_LSM9DS0/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822/pull/2
  * https://github.com/adafruit/Adafruit_CircuitPython_FRAM/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/23
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/pull/22
  * https://github.com/adafruit/Adafruit_CircuitPython_MPR121/pull/13
  * https://github.com/adafruit/Adafruit_CircuitPython_BusDevice/pull/22
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/28
  * https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_US100/pull/1
* 4 closed issues by 4 people, 1 opened by 1 people
* 64 open issues
  * 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_HID/issues/25
  * https://github.com/adafruit/Adafruit_CircuitPython_OneWire/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_INA219/issues/5
  * 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_FeatherWing/issues/4
  * 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_BME280/issues/15
  * 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_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_CircuitPlayground/issues/37
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/issues/3
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/issues/1
  * https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/issues/17
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/issues/10
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_DRV2605/issues/9
  * 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_FRAM/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_MPR121/issues/12
  * https://github.com/adafruit/Adafruit_CircuitPython_MPR121/issues/11
  * https://github.com/adafruit/Adafruit_CircuitPython_DHT/issues/15
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/issues/34
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/issues/27
  * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/issues/5
  * 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/93
  * 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
114 out of 115 repos need work.


PyLint version very out of date - 102


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


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


PyLint version not fixed - 7


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


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


For pypi compatibility, missing setup.py - 13


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


CircuitPython drivers page missing driver - 20


Not listed on PyPi for CPython use - 14


Not in bundle. - 9
* 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_MLX90393
* https://github.com/adafruit/Adafruit_CircuitPython_VS1053
* https://github.com/adafruit/Adafruit_CircuitPython_FRAM
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100


ReadTheDocs missing as a subproject on CircuitPython - 9


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_FRAM
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100


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


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_FRAM
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100


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


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


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


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_FRAM
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100


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


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


ReadTheDocs project missing adabot as owner - 1
* https://github.com/adafruit/Adafruit_CircuitPython_miniQR


Wiki should be disabled - 2
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100


Likely missing CircuitPythonLibrarians team. - 1
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2


Only allow merges, disallow rebase and squash - 2
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2
* https://github.com/adafruit/Adafruit_CircuitPython_US100


Unable to find or create (no auth) GITHUB_TOKEN env variable - 1
* https://github.com/adafruit/Adafruit_CircuitPython_MPL115A2


## 9:55 Hug Reports

12:40 @brennen (text only)
* @kattni, @cater, @tannewt for review on CharLCD library.

13:09 @cater - group hug this week, and another specific one to Dan for helping with Windows drivers oddities.

13:30 @charlesburnaford - group hug for some stuff that I picked up on the MCP23017.

14:03 @danh
* @tannewt for being willing to try tinyusb now and getting it to work
* @jerryn and @cater for all kinds of support help in #circuitpython

15:35 @deshipu - group hug.

15:45 @Drew Fustini - thanks to Scott and Ladyada for looking at a PR, helpful insights

16:07 @jerryn - 
* @Brentr for the continued work on the LoRaWan arduino support
* @Cater for awesome support activities.

16:35 @kattni
* @sommersoft for help with a code problem this weekend - thank you so much for saving me ages heading down an entirely incorrect path with that one.
* @cater for explaining my own code to me - I wrote something that worked and I had no idea why.
* @brennen for continuing to be there for PyPI Raspberry Python weirdness.
* @sommersoft for all the adabot work, and the new CircuitPython libraries list

20:47 @ntoll - 1. Group hug for all. 2. Thanks to Kattni from months ago for help with language/terminology help.

18:16 @siddacious
* @kattni for making an introduction that has bourne some tasty, tasty fruit
* @deshipu for helping me source and debug some super small tfts
* @cgrover for taking time on a Sunday to help me improve my shade-tree pixy wrangling into something approaching real engineering

18:57 @sommersoft
* @cater for finding some things I missed in cookiecutter.
* MakerCats (@sabas1080) for porting CircuitPython to their MeowMeow board and to Arduino MKR1300. 
* Group hug, for all the things my Monday-brain isn't compiling.

10:30 @tannewt
* @danh for the swift banhammer after a ping from @Greys
* @siddacious for the CP32-M4
* @sommersoft for adabot work!
* @ladyada for the audioio testing and feedback.

@Josh - Thanks to @ladyada for the mention of edublocks in the new Python video series, and to Dan for helping merging my first circuitpython PR.

## 21:35 Status Updates

25:13 @brennen
* Testing and some tweaks for character LCD libraries, testing keypad, more to come.
* Writing up a guide for a basic footswitch + NeoTrellis HID project.

25:40 @cater - working on a couple of barometric sensors, one is an older one, and there’s a PR version out there for review. Brand new one in the shop, also in the world, got I2C, continuing to refine it. Should be out soon.

26:30 @cgrover - meeting with prof video crew, circuitpython UFO controller will be used as a prop for a film - Hug report to entire CP team, for producing a product that is good enough for commercial application. Big group hug to CP team! Excited about MIDI and USB. hope to get back to music synth stuff.

28:50 @charlesburnaford - electronic ocarina now has MIDI, using busio serial. Worked on Metro M4.

29:50 @danh
* Finishing up studying BLE; reviewing @arturo182’s revised API
* Automated ampy build and pypi release

30:59 @deshipu - last week been on German PyCon conference, lightning talk about pewpew, there was a huge interest. I think I got the Berlin PyLadies to run workshops with it. Laptop got broken on way home from conference, without laptop for at least the next week.

32:10 @Drew Fustini - working on getting I2C support for Beagle Bone Black working in Blinka. Issue with busdevice library, doesn’t work with BB driver. Switching it to a read and that’s nearly finished. Work on different platforms.

33:03 @jerryn - 
* Lot of time spent testing and making suggestions toward Arduino LoRaWan code -- hopefully can now get going on port to CP…. keep saying that :-(
* Tried quick fix for Neopixel lib -- needs more discussion.
* Quick bitmapfont fix. Import sturct or ustruct
* Trying to understand strange  DHT ESP8266/WEMOS D1 issue
* Hope to find time to do some reading this week - will be away from HW this weekend.

34:42 @josh - This week i've been mostly busy at Mozilla Festival which had lots of workshops using micro:bit, circuit playgrounds and other cool stuff (and an AMAZING DIY music workshop by @ntoll ). But I did manage to add @kattni's Circuit Playground Library in EduBlocks and I hope that when the editor is released people will add blocks for Circuit Python libraries. We've also got an advanced section for things that don't fit into their own category (like CPU temperature) and i've been adding to that too. I've also been writing a "Welcome to EduBlocks for CircuitPython" guide on the learn portal with some information and demos people can read and try out. I've attached a gif to show the library addon.

36:00 @kattni
* Updated the weekly newsletter template with more library goodness
* Worked with @sommersoft to get a circuitpython library list page setup
* Finished up guide updates for basic character LCD - final testing done, need to finalise this.
* Matrix Keypad - waiting on final testing for RPi for this and then it’s ready for review
* Helped out JP with some guide code he wrote
* Next up:
   * Update the library tracking issue - https://github.com/adafruit/circuitpython/issues/1246 
   * Go through all open PRs on libs and get movement on any that need it - this is mostly to make sure I haven’t missed any Hacktoberfest PRs as the month is almost over!
   * Merge Brennen’s PR for fixing CharLCD simpletest fix
   * Alternate form factor of character LCD guide is up next for guide updates
   * Finish up the basic char lcd and matrix keypad as testing is finished
   * Create issues for simpler issues identified by Adabot so they’re more visible

39:30 @ntoll - My update... Spent last weekend at MozFest here in London and met plenty of teachers who said they were really looking forward to the next release of Mu. Having teachers breathing down your neck (no matter how polite they may at first seem) is never a good situation to be in (so says the former teacher). Ergo, to avoid an after school detention or -9000 house points I'm going to spend all day Thursday and Friday doing Mu issue triage and reviewing PRs in prep for a 1.1 release. Would love to know more about multi-language support in CP (so I can mirror this in Mu -- e.g. in Spanish Mu, the tooltips from CP are in Spanish). Also, @tannewt you asked about PyCon hatchery, but not heard anything more on that front. I'm looking forward to seeing folks at PyCon. Hurrah..! Keep up the great work folks, I wish I had more time to deep dive into CP things!

41:10 @siddacious
* I was able to get a prototype animations working on one of my tfts and with @dishipu's help got another smaller tft working after some library tweaking. Aseprite (ay-sprite?) has been great for pixel art and animations, well worth the price.
* Received and assembled the ESP-like M4 board that I'm calling the CP-32M4 and of course found a small bug in the process. (check the history for leekz)
* WIth suggestions from @cgrover I overhauled the design of the AA powered M4 board to:
   * have more chooch
   * integrate with the aforementioned tiny tft
   * add mounting holes and better fit into a case
   * remove redundant parts
   * add more room for future add-ons


Once this board is off to the fab I can get back to coding and working on my guide. THIS TREADMILL NEVER STOPS BUT I KINDA LOVE IT.


42:40 @sommersoft
* FRAM Library: awaiting another review.
* Library cookiecutter: fixed a couple of issues I missed with the change in dependency generation that @cater found
* Adabot: 
   * Command line params almost done. Just need to remove extra code from last review. Can do proposed "validator a la carte" separately.
   * Added a list of libraries to the Bundle repo which adabot will update.
   * Started working on checking if updates have been made to a library since the last release. Will continue to work.
* Updated Welcome To CircuitPython guide with examples-in-bundle information. Ask that some people go through it and provide feedback if there is any.
* This Week: seeing if I can devise some .travis.yml tests on a fork branch with cron'ing adabot. Still plan on re-focusing to FrequencyIn (didn't happen this week).

22:19 @tannewt
* Got MIDI descriptors working.
* Didn’t want to work in ASF4 USB anymore so switching to tinyusb.
* Got CDC going with TinyUSB.
* Reworking SPI Flash code to share it across ports.


44:20 @kattni: reminder to ping reviewers if no response after 24+ hours. Ping on github and/or discord.


## 43:56 In the weeds

* 45:55 Neopixel - what to do with various mismatch scenarios (jerry, cater)
   * Throwing an exception is fine. 
* 57:00 Cater - design guide - no entry for sensor altitude
   * Add one! Most important one is to standardise name and units
* 58:13 Cater - nvm - what is it actually doing? (just curious, want to use it)
* 1:03:50 - rgb, rgbw


1:09:15
