# CircuitPython Weekly June 17th, 2019
Welcome to the meeting notes! Feel free to add your notes for Hug Reports and Status Updates early. We do it as a round robin sorted by username. If you can’t make the meeting, then add them anyway with a “(missing meeting)” after your username and we’ll read them off for you. 

Add any discussion topics or general questions you have to the “In the weeds” section. Thanks! We hope to see you in the meeting.

Video of the meeting is available [on YouTube](https://youtu.be/YVVr9Ufcdnw) and [on diode.zone](https://diode.zone/videos/watch/85e4dfe4-cc7d-455f-ad99-df016cd4ee1b)

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.

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

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

## 3:53 Community News
ADABOX is out! https://www.adafruit.com/adabox012

EuroPython 2019 attendees getting CircuitPython-powered PewPew Game Consoles! They are looking for attendees to help Radomir with workshops on the PewPew. See more on the blog post and on the PewPew workshop page.
https://blog.europython.eu/post/185584014022/europython-2019-warning-spoiler-alert
https://ep2019.europython.eu/events/pewpew-workshops/

8/8/2019 is CircuitPython day! 8/8/2019 is CircuitPython day! This year, we’re in the planning stages and will have live videos, celebrations, and more for this very snake friendly date! For now, we’re starting to assemble the artwork in our public DropBox CircuitPython folder, check it out
https://www.dropbox.com/sh/cod3wllmyninyn5/AADC6Z5EhEsG18X8WDRMEZuta?dl=0

If you need to get in touch with us for planning your event and more, email: circuitpythonday@adafruit.com 

Wow! "Time to Say Goodbye to Arduino and Go On to Micropython/ Adafruit Circuitpython?" is almost the #1 video on Andreas channel, congrats!
https://youtu.be/m1miwCJtxeM

Bluefruit Circuit Playground Express is in early prototyping phase
https://youtu.be/6VQpo3v5jo8
We have a buncha' updates on circuitpython.org, specifically in BLINKA! Thanks Melissa!
https://circuitpython.org/blinka
Discord now offers "server boosts" we have 6 on our server (level 1), if we get to 10 boosts we get a banner and some other good features for the community: 150 emojis, 256 Kbps audio, server banner, 50 mb uploads for all members. Stop by and boost!
https://adafru.it/discord

Company note: Adafruit is hiring too! We're looking for PHP developers in the NYC area! Email: apply@adafruit.com 
## 8:04 State of CircuitPython + Libraries
## 8:31 Overall
* 13 pull requests merged
  * 5 authors - brentru, deshipu, tannewt, mrmcwethy, dhalbert
  * 4 reviewers - tannewt, kattni, ladyada, dhalbert
* 17 closed issues by 10 people, 4 opened by 4 people


Overall: We have a beta of 4.1 out with a lot of performance improvements, display specifically, check it out. Want to be quick about adding features to stable builds. 4.0.1 has been great, feeling good about the stable phase we’re in right now.
## 10:15 Core
* 7 pull requests merged
  * 3 authors - tannewt, deshipu, dhalbert
  * 2 reviewers - tannewt, dhalbert
* 7 open pull requests
  * https://github.com/adafruit/circuitpython/pull/1946
  * https://github.com/adafruit/circuitpython/pull/1945
  * https://github.com/adafruit/circuitpython/pull/1932
  * https://github.com/adafruit/circuitpython/pull/1925
  * 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, 4 opened by 4 people
* 177 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 4.1.0: 1 open issues
  * 4.x - Features: 38 open issues
  * 4.x.x - Bug fixes: 3 open issues
  * 5.x: 2 open issues
  * Libraries: 9 open issues
  * Long term: 122 open issues
  * 2 issues not assigned a milestone


Download stats by board:


| Board                                         | 4.0.1  | 4.1.0-beta.0  |
| ----------------------------------------------|--------|---------------|
| arduino_mkr1300                               |   3    |       0       |
| arduino_mkrzero                               |   9    |       0       |
| arduino_zero                                  |   33   |       0       |
| bast_pro_mini_m0                              |   0    |       0       |
| capablerobot_usbhub                           |   1    |       0       |
| catwan_usbstick                               |   4    |       0       |
| circuitplayground_express                     |  1246  |       7       |
| circuitplayground_express_4h                  |   7    |       0       |
| circuitplayground_express_crickit             |   68   |       3       |
| circuitplayground_express_digikey_pycon2019   |   2    |       0       |
| electronut_labs_blip                          |   -    |       0       |
| electronut_labs_papyr                         |   3    |       0       |
| escornabot_makech                             |   3    |       0       |
| feather_m0_adalogger                          |   71   |       0       |
| feather_m0_basic                              |   74   |       1       |
| feather_m0_express                            |  189   |       4       |
| feather_m0_express_crickit                    |   5    |       0       |
| feather_m0_rfm69                              |   37   |       2       |
| feather_m0_rfm9x                              |   48   |       0       |
| feather_m4_express                            |  189   |       7       |
| feather_nrf52840_express                      |   48   |       3       |
| feather_radiofruit_zigbee                     |   3    |       0       |
| gemma_m0                                      |  116   |       2       |
| gemma_m0_pycon2018                            |   5    |       0       |
| grandcentral_m4_express                       |  100   |       2       |
| hallowing_m0_express                          |   74   |       1       |
| itsybitsy_m0_express                          |   63   |       2       |
| itsybitsy_m4_express                          |  127   |       4       |
| kicksat-sprite                                |   0    |       0       |
| makerdiary_nrf52840_mdk                       |   5    |       0       |
| makerdiary_nrf52840_mdk_usb_dongle            |   6    |       0       |
| meowmeow                                      |   1    |       0       |
| metro_m0_express                              |  104   |       0       |
| metro_m4_airlift_lite                         |   44   |       2       |
| metro_m4_express                              |  123   |       3       |
| mini_sam_m4                                   |   4    |       0       |
| particle_argon                                |   9    |       0       |
| particle_boron                                |   6    |       0       |
| particle_xenon                                |   8    |       0       |
| pca10056                                      |   24   |       0       |
| pca10059                                      |   36   |       1       |
| pewpew10                                      |   0    |       0       |
| pewpew13                                      |   0    |       0       |
| pirkey_m0                                     |   2    |       0       |
| pybadge                                       |   86   |       1       |
| pygamer                                       |   89   |       1       |
| pyportal                                      |  478   |      14       |
| robohatmm1                                    |   0    |       0       |
| sam32                                         |   0    |       0       |
| sparkfun_lumidrive                            |   3    |       0       |
| sparkfun_nrf52840_mini                        |   8    |       0       |
| sparkfun_redboard_turbo                       |   4    |       0       |
| sparkfun_samd21_dev                           |   3    |       0       |
| sparkfun_samd21_mini                          |   6    |       0       |
| trellis_m4_express                            |   94   |       3       |
| trinket_m0                                    |  385   |       4       |
| uchip                                         |   1    |       0       |
| ugame10                                       |   4    |       0       |
| ----------------------------------------------|--------|---------------|
|                                         Total |  4061  |      67       |
| ----------------------------------------------|--------|---------------|


Download stats by language:


| Board            | 4.0.1  | 4.1.0-beta.0  |
| -----------------|--------|---------------|
| ID               |   7    |       1       |
| de_DE            |   85   |       3       |
| en_US            |  3698  |      59       |
| en_x_pirate      |   51   |       0       |
| es               |   73   |       0       |
| fil              |   7    |       0       |
| fr               |   91   |       3       |
| it_IT            |   10   |       1       |
| pl               |   15   |       0       |
| pt_BR            |   16   |       0       |
| zh_Latn_pinyin   |   8    |       0       |
| -----------------|--------|---------------|
|            Total |  4061  |      67       |
| -----------------|--------|---------------|
## 11:44 Libraries
* 6 pull requests merged
  * 3 authors - tannewt, brentru, mrmcwethy
  * 3 reviewers - ladyada, tannewt, kattni
* 31 open pull requests
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822/pull/2
  * 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/8
  * https://github.com/adafruit/Adafruit_CircuitPython_DS18X20/pull/10
  * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_TLC59711/pull/5
  * https://github.com/adafruit/Adafruit_CircuitPython_NRF24L01/pull/1
  * https://github.com/adafruit/Adafruit_CircuitPython_MAX31865/pull/9
  * https://github.com/adafruit/Adafruit_CircuitPython_BME280/pull/26
  * https://github.com/adafruit/Adafruit_CircuitPython_Fingerprint/pull/11
  * https://github.com/adafruit/Adafruit_CircuitPython_framebuf/pull/14
  * https://github.com/adafruit/Adafruit_CircuitPython_Hue/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_MIDI/pull/13
  * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/21
  * https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/pull/20
  * https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/37
  * https://github.com/adafruit/Adafruit_CircuitPython_NeoTrellis/pull/6
  * https://github.com/adafruit/Adafruit_CircuitPython_LSM303/pull/11
  * 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_BNO055/pull/30
  * 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_CircuitPlayground/pull/57
  * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/51
  * https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/pull/26
  * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/45
  * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/29
* 12 closed issues by 9 people, 0 opened by 0 people
* 105 open issues
  * https://circuitpython.org/libraries/contributing
Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_RGBLED](https://github.com/adafruit/Adafruit_CircuitPython_RGBLED)
**Updated Libraries**
 * [Adafruit_CircuitPython_PN532](https://github.com/adafruit/Adafruit_CircuitPython_PN532)
 * [Adafruit_CircuitPython_ESP32SPI](https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI)
 * [Adafruit_CircuitPython_BusDevice](https://github.com/adafruit/Adafruit_CircuitPython_BusDevice)
 * [Adafruit_CircuitPython_EPD](https://github.com/adafruit/Adafruit_CircuitPython_EPD)
## 13:30 Hug Reports
17:34 @brentru
* @ladyada for assistance with bringing up two boards and showing me the fabrication ropes
* @ the many adafruit employees for adabox 12. Really large effort, everyone from QA to shipping. 
* @cater for awesome displayio guide - I was pretty confused about displayio previously. This guide helped me get right into and working with it.
* @makermelissa for PyBadge button code, part of the conference badge.
* @docmollo for ESP32SPI Enterprise


@cater (lurking)


21:47 @cgrover
* Group hug to the community as usual, and the team who worked on 4.1 beta, will transform a couple of projects, getting an OLED to work with frambuf
* Hug to jjw for MIDI lib that he posted through Adafruit - did great job and learned a lot looking through code


@charlesburnaford (lurking)


22:30 @danh
* @shazz for speed comparison of CircuitPython vs MicroPython, which motivated the speedups last week
* @tannewt for displayio partial updates, which speed up display refresh a lot!
* @deshipu - Congratulations for the EuroPython pewpew giveaway!


23:34 @deshipu
* @tannewt and @danh for the speedups


23:55 @docmollo (lurking)
* @deshipu for the pewpew EuroPython giveaway
* Hugs right back to @jerryn, @kattni & @tannewt for the hugs! Super appreciated
* @danh for the BLE and speed-up work


@heirophect (lurking)


24:25 @jerryn
* @docmollo for the ESP32SPI work.
* @sommersoft for some very patient and through support on discord
* Group Hug!


25:00 @kattni
* @sommersoft for keeping up with fixing bugs in cookiecutter
* @Docmollo for getting back into the ESP32SPI PR we went over
* @Arofarn for submitting a PR for a NeoTrellis module
* @mrmcwethy for the EPD work
* @Roy for helping me begin working on my keynote
* @nnja for helping me finally complete a task I’ve been sitting on for a month


26:27 @kingernorth
* General hug reports, glad to see that all of the learning guides keep getting updated for all of the eq with changes from 3 to 4. Going to be using CPX for a course in the fall.
* Organisational website, thanks for circuitpython.org 


19:03 @ladyada
* MakeMelissa has been rocking out Blinka code, going to be doing more and more - if people want more added, open an issue on Blinka and we’ll take a look at it
* Dan and Scott for zoom zoom update for CircuitPython, just finished a bunch of HW and can do CP display stuff
* Everyone who helped out with Adabox 012
* Siddacious for wrapping up libs and products that we’re getting into the store, coming with CP libraries
* General hug report to community, with new hardware and where things are going


27:15 @MakerMelissa
* @MikeB for your help with the Odroid Guide
* @ladyada for spending some time with me trying to get SPI working on Odroid and for helping me with a Fritzing issue
* Group Hug to Everyone


27:39 @siddacious
* @cgrover for helping with analog stuff
* @ladyada for helping with the same and some o-scope tips


28:11 @sommersoft (lurking, if in attendance)
* @fourstix on their first contribution with a Sparkfun Qwiik Joystick library for the Community Bundle.
* @shazz, @danh, and @tannewt for the speedup work.
* Group Hug!


13:55 @tannewt
* C47D for core work like RGB status LED support.
* Shazz for the performance testing and dhalbert for taking a look at why.
* Kevinjwalters for the midi work.
* @cpforbes for adding lib directory by default.
* @mrmcwethy for EPD work and release.
* Gaston Williams aka fourstix and for the Qwiic Joystick driver in the community bundle. Sommersoft for the help.
* Docmollo for the ESP32SPI work.
* @kattni and @sommersoft for the continued cookie cutter improvements.
## 28:57 Status Updates
30:58 @brentru
* Lots of work last week with bringing up new boards, testing and verification.
   * Brought up two new boards: a pybadge with airlift and the mini pyportal
* Added new board pin definitions to arduino-core and the circuit python core, my first core contribution for both circuit python and arduino.
* RGBLED v1.0 released: high-level PWM control for your RGB LEDs 
* This Week:
   * Playing with the idea of adding a cursor into the PyPortal library for the airlift pybadge to click buttons instead of touching the screen.
   * Looking into Google Cloud’s IoT Core - similar service to Azure IoT but for google cloud services. 


@cater (lurking)


32:35 @cgrover
* Over the last week, working with range slicer eurorack module, running 2-3x faster with beta CP. Encourage to continue support for high speed display that I’m getting from OLED screens. See OLED support sooner than later, but not bogged down in management things.
* Used kjw’s MIDI lib and built a MIDI sniffer - performance is excellent, seeing MIDI data streams using a REPL, great for troubleshooting, classic MIDI.
* Updated a MIDI util lib to include a controller description decoder based on MIDI 2.0 - helpful to plug a freq into it and it’ll tell you what note it is and vice versa
* Upcoming:
   * Releasing final version of lib: hysteresis based map range tool
   * Final version of MIDI util lib and will post it along with sniffer as example
   * Inspired by John Park project - built prototype MIDI input wing, took that to the extreme and will post it soon


@charlesburnaford (lurking)


35:58 @danh
* 5x CPU-bound CircuitPython speedup by just changing a VM compile option
* Researched further 2x-3x speedup by not calling background tasks as often
* Just about done with BLE Scanner
* To do: I hope to have a beta of core and BLE library soon, continue further BLE functionality


37:32 @deshipu
* Back in the CircuitPython land, looking at displayio again
* Got the bouncing balls demo working


39:30 @docmollo (lurking)
* Finally got my test environment working at home again woo!
* Got the changes that I reviewed with @kattni and @brentru submitted for the ESP32SPI library


@heirophect (lurking)


39:53 @jerryn
* Cleaned my office/workspace!!  There is now vacant surface area!
* Played with PN532 reader in response to a discord question -- I learned a lot!!
   * The new “mifare” demo helped a great deal.
* Hope to have time to experiment with the ESP32SPI updates and displayio.
   * Hope springs eternal….


41:17 @kattni
* Last week:
   * Worked through possibilities for the Debug_Bus_Device library
   * Chose a route and went with it for Debug_Bus_Device
   * Friday and over the weekend, worked up code for Noe and Pedro for a definitely-not-a-light-saber light wand.
   * Continued work on PyBadger.
   * Discussed intent for PyBadger - incidentally more badge focused. Will include all components for simple use, and will also make it super simple to turn your board into a badge with your name on it, etc.
* This week:
   * Library Monday
      * Sort out a community submitted CircuitPython library to get it into the community bundle
   * Finish Debug_Bus_Device 
   * Continue work on PyBadger.
   * Blog posts for PyCon (still, yes)
   * Process photos from PyCon (started)
   * Forum support
   * Update a guide with new pinout diagram
   * Test EPD update on 2.13” eink display.


@kingernorth (lurking)


20:30 @ladyada
* PyGamer advanced design
* Brent working on PyBadge WiFi
* Fall: bluetooth Circuit Playground board, backwards compatible with Express etc.


45:52 @MakerMelissa
* Last Week:
   * Odroid finishing touches in Blinka
   * Finished Odroid C2 Guide
   * Started adding Dragonboard 410c to Blinka
   * Started working on Dragonboard 410c guide
   * Tested some ILI9341 display issues regarding Terminalio
   * Blinka Website Updates
* This Week:
   * Work on finishing getting Dragonboard 410c added to Blinka
   * Work on Dragonboard 410c guide
   * Test Orange Pi R1 SPI and UART
   * More Blinka Website Updates
   * Portland Teardown 2019 starting Friday


47:03 @siddacious
* Did BD3491FS driver work to add EQ support
* Tested and worked on tester code for the above
* Wrote/made the DS3502 tester code and tester pcb
* Assembled VCNL4040s in prep for driver works
* Coming up: Guide work for DS3502
* VCNL Arduino Driver and guide
* Testing the new OLED breakout


49:25 @sommersoft (lurking, if in attendance)
* Last Week:
   * Cookiecutter-adafruit-circuitpython:
      * Fixed some formatting issues
   * RosiePi:
      * Finished the "rosie side" physical-test framework. This allows tests written outside of the core repo to run on the RPi, while controlling the board being tested. sweet log: https://gist.github.com/sommersoft/45a309cc2edee153ef1e21ae4cff2af0
      * Started on RPi config to run RosieApp & RosiePi
      * Researched & defined some architecture details (which DB, Sinatra vs Flask, etc).
   * This Week:
      * RosiePi & RosieApp
         * write some actual tests
         * Finish RPi config, and possibly setup an Ansible/Terraform for the config


29:27 @tannewt
* Got partial screen updating checked in
* 4.1.0-beta.0 release
* One fix for TileGrid to get in that causes new characters on the terminal to not appear until a new row.
* High gear for Teardown prep. Leave on Thursday.


## 50:34 In the Weeds
* 51:13 @deshipu Accessing pixels of OnDiskBitmap, converting it to Bitmap.
* 56:42 @deshipu Limit the framerate on displayio?
* 1:05:43 @danh: _bleio vs bleio, wrappers vs visible use of bleio


## 1:11:52 Wrap-up
