# CircuitPython Weekly for 25 February 2019

Video is [on YouTube](https://youtu.be/I_s1-UHruEM). 

## 4:23 Community News (@adafruit / pt)
* Digi-Key + Adafruit at PyCon - will have Circuit Playground Express for all! AND! The CircuitPython team will be running several Open Spaces sessions (as they did last year), showing how to use CircuitPython on the Digi-Key / Adafruit PyCon special edition Circuit Playground Express. We’ll have extra addons to play with also: potentiometers, NeoPixel strips, and servos. The team will be running a CircuitPython Sprint for several days to work on CircuitPython libraries and CircuitPython core code. BYOMUSB “Bring your own Micro USB” cables, we’ll have some to borrow during the sprints/sessions, as well as some USB C adapters, good idea to bring one too! http://adafruit.com/pycon 


* Check out Nina's fantastic talk @ PyCascades: Light Up Your Life - With Python and LEDs https://t.co/XpUUbyFJQb & https://t.co/HRaMLq40qv


* adafruit.io for CircuitPython is here. We are thrilled to release the CircuitPython wrapper library for communicating with Adafruit IO! - https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO
5:49 State of CircuitPython + Libraries


## Overall


* 16 pull requests merged
  * 9 authors - cpforbes, siddacious, Tasm-Devil, sommersoft, ladyada, dhalbert, tannewt, kattni, jerryneedell
  * 3 reviewers - tannewt, kattni, dhalbert
* 11 closed issues by 6 people, 11 opened by 5 people


### Core

* 15 pull requests merged
  * 8 authors - cpforbes, siddacious, Tasm-Devil, sommersoft, ladyada, dhalbert, tannewt, jerryneedell
  * 3 reviewers - tannewt, dhalbert, kattni
* 7 open pull requests
  * https://github.com/adafruit/circuitpython/pull/1534
  * https://github.com/adafruit/circuitpython/pull/1423
  * https://github.com/adafruit/circuitpython/pull/1415
  * https://github.com/adafruit/circuitpython/pull/1365
  * https://github.com/adafruit/circuitpython/pull/1363
  * https://github.com/adafruit/circuitpython/pull/1274
  * https://github.com/adafruit/circuitpython/pull/1144
* 7 closed issues by 3 people, 8 opened by 4 people
* 146 open issues
  * https://github.com/adafruit/circuitpython/issues


Download stats by board:


| Board                                    | 3.1.2  | 4.0.0-beta.2  |
| -------------------------------------|--------|---------------|
| arduino_mkr1300                          |   -        |          42           |
| arduino_mkrzero                          |   -        |          11           |
| arduino_zero                             |  281   |           2           |
| catwan_usbstick                          |   -        |           1           |
| circuitplayground_express                |  1892  |          51           |
| circuitplayground_express_crickit        |  338   |          10           |
| feather52832                             |   60   |           -           |
| feather_huzzah                           |  488   |           -           |
| feather_m0_adalogger                     |  160   |           6           |
| feather_m0_basic                         |  203   |          19           |
| feather_m0_express                       |  470   |          34           |
| feather_m0_express_crickit               |   42   |           1           |
| feather_m0_rfm69                         |   50   |           5           |
| feather_m0_rfm9x                         |   68   |          10           |
| feather_m4_express                       |  396   |          43           |
| feather_nrf52840_express                 |   -        |          39           |
| feather_radiofruit_zigbee                |   -        |           1           |
| gemma_m0                                 |  305   |           7           |
| grandcentral_m4_express                  |   -        |          17           |
| hallowing_m0_express                     |  139   |          13           |
| itsybitsy_m0_express                     |  235   |          17           |
| itsybitsy_m4_express                     |  204   |          26           |
| makerdiary_nrf52840_mdk                  |   -        |           0           |
| makerdiary_nrf52840_mdk_usb_dongle   |   -        |           1           |
| meowmeow                                 |   -        |           0           |
| metro_m0_express                         |  249   |           8           |
| metro_m4_express                         |  236   |          27           |
| mini_sam_m4                              |   -        |           1           |
| particle_argon                           |   -        |           3           |
| particle_boron                           |   -        |           0           |
| particle_xenon                           |   -        |           0           |
| pca10056                                 |   -        |           1           |
| pca10059                                 |   -        |          14           |
| pirkey_m0                                |   20   |           0           |
| pyportal                                 |   -        |           7           |
| sparkfun_lumidrive                       |   -        |           3           |
| sparkfun_nrf52840_mini                   |   -        |           3           |
| sparkfun_redboard_turbo                  |   -        |           5           |
| sparkfun_samd21_dev                      |   -        |           2           |
| sparkfun_samd21_mini                     |   -        |           6           |
| trellis_m4_express                       |   -        |          18           |
| trinket_m0                               |  853   |          29           |
| -------------------------------------|--------|---------------|
|                                    Total |  6689  |          483          |
| -------------------------------------|--------|---------------|


Download stats by language:


| Board   | 3.1.2  | 4.0.0-beta.2  |
| --------|--------|---------------|
| ID          |   -        |           6           |
| de_DE   |   -        |          50           |
| en_US   |  6689  |          375          |
| es          |   -        |           7           |
| fil         |   -        |           3           |
| fr          |   -        |          36           |
| it_IT   |   -        |           4           |
| pt_BR   |   -        |           2           |
| --------|--------|---------------|
|   Total |  6689  |          483          |
| --------|--------|---------------|




### Libraries


These stats are incorrect!
* 4+ pull requests merged
  * 4 authors - kattni, MakerMelissa, ladyada, jerryn
  * 4 reviewers - kattni, ladyada, jerryn, MakerMelissa
* 11 open pull requests
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822/pull/2
  * https://github.com/adafruit/Adafruit_CircuitPython_TLC59711/pull/5
  * https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_FancyLED/pull/5
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_LSM303/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/28
  * https://github.com/adafruit/Adafruit_CircuitPython_RA8875/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_MotorKit/pull/15
* 4 closed issues by 3 people, 3 opened by 2 people
* 62 open issues
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822/issues/1
  * https://github.com/adafruit/Adafruit_CircuitPython_SI4713/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_Thermal_Printer/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_EPD/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_EPD/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPI/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPI/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_BluefruitSPI/issues/4
  * https://github.com/adafruit/Adafruit_CircuitPython_Crickit/issues/13
  * https://github.com/adafruit/Adafruit_CircuitPython_DS3231/issues/15
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/issues/18
  * https://github.com/adafruit/Adafruit_CircuitPython_TCS34725/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX/issues/4
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_INA219/issues/5
  * https://github.com/adafruit/Adafruit_CircuitPython_SD/issues/11
  * https://github.com/adafruit/Adafruit_CircuitPython_SD/issues/8
  * https://github.com/adafruit/Adafruit_CircuitPython_miniesptool/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_Motor/issues/18
  * https://github.com/adafruit/Adafruit_CircuitPython_Motor/issues/17
  * https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/issues/24
  * https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/issues/23
  * 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_BNO055/issues/21
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/issues/20
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/issues/16
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/issues/12
  * https://github.com/adafruit/Adafruit_CircuitPython_BNO055/issues/9
  * https://github.com/adafruit/Adafruit_CircuitPython_IRRemote/issues/16
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/issues/3
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad/issues/1
  * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/issues/4
  * 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/21
  * https://github.com/adafruit/Adafruit_CircuitPython_BME280/issues/19
  * https://github.com/adafruit/Adafruit_CircuitPython_BME280/issues/15
  * https://github.com/adafruit/Adafruit_CircuitPython_DHT/issues/15
  * 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_CircuitPlayground/issues/37
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/issues/25
  * https://github.com/adafruit/Adafruit_CircuitPython_DotStar/issues/21
  * https://github.com/adafruit/Adafruit_CircuitPython_HID/issues/25
  * https://github.com/adafruit/Adafruit_CircuitPython_MIDI/issues/3
  * https://github.com/adafruit/Adafruit_CircuitPython_MIDI/issues/2
  * https://github.com/adafruit/Adafruit_CircuitPython_PN532/issues/19
  * https://github.com/adafruit/Adafruit_CircuitPython_PN532/issues/14
  * https://github.com/adafruit/Adafruit_CircuitPython_PN532/issues/7
  * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/issues/29
  * https://github.com/adafruit/Adafruit_CircuitPython_CharLCD/issues/21
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/issues/27
  * https://github.com/adafruit/Adafruit_CircuitPython_MotorKit/issues/14
  * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/issues/3
  * https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/issues/2
138 out of 138 repos need work.




CircuitPython drivers page missing driver - 9


Example file(s) missing sensor/library name. - 38


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


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


For pypi compatibility, missing setup.py - 11


Library has new commits since last release over a month ago. - 2
  * https://github.com/adafruit/Adafruit_CircuitPython_HID (35 days)
  * https://github.com/adafruit/Adafruit_CircuitPython_MLX90393 (38 days)


Library has new commits since last release within the last month. - 2
  * https://github.com/adafruit/Adafruit_CircuitPython_PN532 (21 days)
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel (20 days)


Library repository has no releases. - 4
  * https://github.com/adafruit/Adafruit_CircuitPython_CPython
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX
  * https://github.com/adafruit/Adafruit_CircuitPython_ST7735
  * https://github.com/adafruit/Adafruit_CircuitPython_ILI9341


Missing simpletest example. - 14


New repo(s) currently in work, and unreleased. - 7


Not in bundle. - 5
  * https://github.com/adafruit/Adafruit_CircuitPython_CPython
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX
  * https://github.com/adafruit/Adafruit_CircuitPython_TestRepo
  * https://github.com/adafruit/Adafruit_CircuitPython_ST7735
  * https://github.com/adafruit/Adafruit_CircuitPython_ILI9341


Not listed on PyPi for CPython use - 12


PyLint version not fixed - 2
  * https://github.com/adafruit/Adafruit_CircuitPython_CPython
  * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation


PyLint version very out of date - 129


ReadTheDocs latest build has warnings and/or errors - 5
  * https://github.com/adafruit/Adafruit_CircuitPython_DS1307
  * https://github.com/adafruit/Adafruit_CircuitPython_Thermistor
  * https://github.com/adafruit/Adafruit_CircuitPython_SD
  * https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad
  * https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display


ReadTheDocs missing as a subproject on CircuitPython - 7


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


Unable to find or create (no auth) GITHUB_TOKEN env variable - 5
  * https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822
  * https://github.com/adafruit/Adafruit_CircuitPython_CPython
  * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO
  * https://github.com/adafruit/Adafruit_CircuitPython_VEML7700


## 12:19 Hug reports

@benyet - lurking


17:28 @brentru
* @kattni for helping me with RTD 
* @jerryn for bug testing, fixin’, finding within Adafruit IO CircuitPython. Excited to support ESP_ATcontrol when it’s ready.
* @sommersoft for bug finding
* @makermelissa for work done on ESP32SPI


@cater - lurking


18:00 @charlesburnaford - group hug to all


18:10 @danh
* @MakerMelissa for tremendous work on libraries and library infrastructure
* @sommersoft for continued tremendous work on library and travis issues
* @kattni for bleio testing and intro guide coming soon
* @brentru for CPy adafruit.io
* @tannewt for continued displayio work
* @TG-Techie for PyPortal testing
* @uhrheber for nRF testing
* @cpforbes for `__file__` PR.
* @jerryn for testing and finding large and small issues, and PR’s.
* @Tasm-Devil for major German translation updates
* @nnja at PyCascades for great talk


@Jay Doscher - lurking 


20:44 @jerryn
* @MakerMelissa for all the work making things easier to use (featherwings, wifi-manager)
* @brentr for the continued improvements to AIO access.


13:14 @kattni
* @MakerMelissa for the continued work on the FeatherWing library and other libraries
* @DanH for proofing my guide for me and helping out with screenshots
* @tannewt for sprinting at PyCascades. And have a lovely wedding reception! +1 from team @adafruit
* @sommersoft for the continued adabot work and for fighting the good fight (Travis)


15:02 @MakerMelissa
* @jerryn for all the testing and bug finding and fixing
* @sommersoft for repo level issue help
* Huge hugs to @adafruit, @ladyada, and @tannewt for helping me get all set up to go to PyCon in May
* Group hug to everyone else


@MrCertainly - lurking


15:48 @siddacious
* @danh for helping with getting a portly hallowing build on a diet
* @ladyada for testing/breaking BMP stuff
* @jerryn, @brentr, @makermelissa, @ladyada, @anecdata for making it super simple to get temp/humidity data posting to AdafruitIO. Both me and my mushroom farmer friend were very impressed


16:18 @sommersoft
* @nnja (Nina Zakharenko) for the great "Python on hardware" talk at PyCascades
* @tannewt for representing CircuitPython at PyCascades
* @kattni and @MakerMelissa for identifying and idea-bouncing tooling issues and enhancements
* @jerryn, @brentr, @MakerMelissa, @ladyada, and anyone I'm missing for all the WiFi work.
* Group Hug, beyond that.


16:56 @tannewt (not in meeting)
* @kattni for running the weekly when I’m gone.
* @circuitpythonistas for being awesome and continuing the good work.
* Alan, Thea and the rest of the pycascades conference folks. It was super fun! Lots of great people.
* @nnja for the excellent CircuitPython talk and conversation


## 21:20 Status Updates


@benyet - lurking


29:35 @brentru
* Last week:
   * Gave a talk about contributing to open source with circuitpython at futurelabs nyc
      * Went really well!
   * Finalized CircuitPython Adafruit IO
      * IoT has come to CircuitPython over LoRa/LoRaWAN and WiFi now!
   * Released v1.0 this morning: https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO
   * Finished dual stepper guide (https://learn.adafruit.com/wireless-stepper-control-with-adafruit-io-circuitpython-raspberry-pi-python)
* This week: 
   * Library is done, so it’s time for a guide
      * Prelim. Guide: Using CircuitPython with Adafruit IO
         * Ft. PyPortal, support for other boards too
   * Continued development of the CircuitPython Adafruit IO library
      * Jerryn is working on an ESP ATControl WiFimanager, I’ll merge it in when he’s ready.
      * Any other examples I can think of will be added to IO CircuitPython
   * Brought @adafruitio back to life - working on getting it tweeting again
      * Follow http://twitter.com/adafruitio on twitter 


@cater - lurking


@CGrover - Group hug today. Still working the details of my first CircuitPython class library. The class is working – just adding some controls and decorators. Working on the hardware design first really helped me develop the class UI. Will continue working on that project, sending PCB design off later this week. Lots of snow shoveling planned, as well.


@charlesburnaford - MIDI mouthpiece code for my ocarina demo using a mcp single port analog pressure sensor


31:10 @danh
* Continued minor fixes on big build refactor
* Rename some u* modules (ujson, uerrno, ure) to their CPython names
* Hide bleio classes that won’t be in 4.0.0
* Verify Windows nRF UF2 bootloader issue; test fix
* Will document nRF bootloader updating
* Will fix Atom fsync plugin to work on all drives, not just CIRCUITPY
* Continue bleio testing
* Cleanup for 4.0.0 beta and rc releases
* Pyportal crash debugging


@Jay Doscher - lurking 


34:32 @jerryn
* Last week
   * Continued testing ESP32SPI
   * Fixed some issues with ESP_ATcontrol
   * Tested Adafruit_CircuitPython_AdafruitIO
   * Tested a bunch of featherwing stuff (rtc,gps,alphnum,sevenseg)
   * enables default bus support for particle boards
* This week
   * Porting wifi-manager from ESP32SPI to ESP_ATcontrol - almost done.
   * Updating Co-processor Guide
   * Still hoping to find time to work with BLE and displayio ….


22:43 @kattni
* Last week:
   * Library Monday - updated CP lib tracking issue
   * Finished Getting Started with BLE and CircuitPython guide - in moderation
   * Mostly finished VEML7700 driver - attempting to test interrupt functionality and it’s not working, not sure if it’s me or the driver (presuming it’s me). Mostly documented otherwise, and nearly ready for PR.
* This week:
   * Library Monday!
   * Starting PyPortal guide
   * Update CharliePlex guide with FeatherWing/Bonnet, deprecate MP version
   * CharliePlex bonnet guide
   * Code for a Noe and Pedro project
   * VEML7700 and VCNL4040 fritzing objects
   * Continue driver work


25:04 @MakerMelissa
* Last week:
   * Did a lot of repo level cleanup. I added all missing drivers that currently have documentation and organized alphabetically.
   * Did some more work on my learning guide.
   * Finished up Ultimate GPS FeatherWing
   * Finished up 8x16 LED Matrix FeatherWing
   * Regression tested all FeatherWings that I had to see if any problems had crept in and fixed them.
   * Updated RA8875 Examples to work with multiple screen sizes better.
* This week:
   * Finish up my learning guide for the RA8875
   * Work on adding more FeatherWings starting with the CharliePlex FeatherWing
   * Moving related stuff, so time is a bit limited


@MrCertainly - lurking


26:37 @siddacious
* Last week:
   * Added support for 16 bit 565 and 555 and 8 bit grayscale BMPs to OnDiskBitmap
   * Got a feather M4, ESP32 and AM2315 posting data to AdafruitIO to start helping my gourmet mushroom farmer neighbor automate his grow houses
* This week
   * Hum/temp data collection for the above, initial plans for automation
   * More bitdepths to OnDiskBitmap
   * More playing around with displayio


27:10 @sommersoft
* Last Week:
   * adabot:
      * Forced the reports to use unbuffered stdout to hopefully mitigate the 10 minute idle Travis failures.
      * Changed Travis build to a matrix; bundle update is now one build, and reports a separate one.
      * Tried and couldn't duplicate the newline issue when pasting report output into Google docs. I tried pasting in Chrome, Edge, and Firefox. And also copied from AWS in browser, .txt file, and the terminal. Don't have access to Mac, so that could be where the issue lies. I can still add `\r` to the line endings if needed.
   * FrequencyIn: 
      * Continued re-gluing work. Got through the new `circuitpy_` config part; much nicer way of doing things (thanks again @danh). Still fighting a couple compile errors; either some other things changed or I didn't update my backup files before nuking the out-of-date branch.
   * Started working on a fun Pirate translation, after @CGrover mentioned it last week. Not going to do the entire translation, as others have mentioned a desire to contribute. I know it was a joke, but I think this is beneficial from a education standpoint. What child (like myself) wouldn't love to interact with hardware that talks like a pirate? Even if it is talking only with error messages, learning what not to do is just as important.
* This Week:
   * FrequencyIn
      * Keep pushing through compile errors.
   * adabot:
      * Issue list grew last week, so I'll probably start attacking some of those.
   * Pirate translation: 
      * Get a little more done then PR it so others can careen it a bit.


28:48 @tannewt (not in meeting)
* Added support for risking file corruption in favor of sharing writability of the file system.
* Reworked translations to make diffs smaller but it likely needs a bit more thought. Also added script that re-merges translations from the git history.
* PyCascades this weekend and sprints today. Hence, missing the meeting. Lots of awesome folks. Sprint doc is at: http://bit.ly/circuitpython-pycascades2019-sprint
* Will be out after sprints for just over a week. Have lots of family in town and will be spending time with them. Brain will be freer afterwards. Thanks everyone to continue to rock while I’m out.


## 37:10 In The Weeds

38:00 @jerryn - I2C pin conflicts with some of the helper libraries (featherwing,Motorkit) may already be in work.
* Issue posted to FeatherWing library - take a look. Reconsider shared.py? Jerry has a workaround but wants feedback.


42:23 @sommersoft - move ESP8266 AT support to the community bundle?
* Split AT support between the main and community bundle


46:38 @brentr `namedtuple` instead of `dicts` in adafruit.io libraries? Regular Python library uses namedtuples; CircuitPython library current uses dicts.
* Dict scheme sounds pretty good, less overhead.

## 52:07 Wrap-Up
