# CircuitPython Weekly for 24 June 2019
Video is available here [on YouTube](https://youtu.be/uFGxwtd3kL0).


Join here for the chat all week: https://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:23 Community News
YAY! Higher quality audio on Discord, thanks for the boosts’


Teardown was over the weekend, links, news, hardware running CircuitPython, thanks Melissa and folks who tweeted all the fun & more, we have a round up in the newsletter, preview here:
https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2019-06-25-draft.md 


REMINDER: Programming microcontrollers with Python! TAKE THIS SURVEY:
https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbRx50AHoXr3BImxtzTGKK4edUMEJNUUFTUUdGRFhOVUg0N0RBN0paOFJBRy4u 


Raspberry Pi 4 Model B is here, BLINKA'ing it now :) Will be here later!
https://circuitpython.org/blinka 


CircuitPython Choose Your Own Adventure, make one and share with us!
https://learn.adafruit.com/circuit-python-choose-you-own-adventure?view=all 


CircuitPython snakes its way to HackSpace Issue 20! Congrats to all the folks in the community who were featured and/or wrote articles! Ben Everard in HackSpace Magazine writes about using CircuitPython to easily turn an Adafruit Circuit Playground Express educational/multifunction board into a USB-connected game controller:
https://magazines-static.raspberrypi.org/issues/full_pdfs/000/000/087/original/HackSpacemagazine20.pdf 


CircuitPython - a HUB of... USB things, now live on Crowd Supply:
https://www.crowdsupply.com/capable-robot-components/programmable-usb-hub 


8/8/2019 is CircuitPython day, 2 events listed so far!


CircuitPython Day with the India Linux Users Group Delhi (ILUGD) at the Delhi Technical University for Women - August 4, 2019.
https://www.eventbrite.com/e/circuitpython-day-tickets-63844092399 


Getting started programming microcontrollers with CircuitPython by NYC Resistor - August 3, 2019.
https://www.eventbrite.com/e/getting-started-programming-microcontrollers-with-circuitpython-tickets-63905511104 


This week on the shows' Naomi from PSF, and also Nina from Microsoft, stay tuned!


## 8:47 State of CircuitPython + Libraries


### 9:05 Overall
* 20 pull requests merged
  * 9 authors - dhalbert, dastels, barbudor, C47D, deshipu, caternuson, tannewt, cpforbes, brentru
  * 6 reviewers - dhalbert, ladyada, tannewt, TheKitty, kattni, jerryneedell
* 17 closed issues by 9 people, 11 opened by 8 people


Overall: 4.0.1 stable has been out for a while and has been pretty solid. 4.1.0 beta was released with some serious speedups and many have been testing it successfully. We’re working on adding more display fixes and features, and new bluetooth features. 4.1.0 beta could become 4.1.0 stable quite soon. There are a few other fixes. BLE stuff will probably be 5.x betas because the API will change. Keep testing all your projects and let us know how they work! There is a lot of activity on the libraries, which is great. If you’re looking to help out, consider looking into library PRs and issues, and see if anything looks interesting. Feel free to ask any questions, we can help you get started.




### 10:46 Core


* 8 pull requests merged
  * 5 authors - tannewt, C47D, deshipu, cpforbes, brentru
  * 2 reviewers - tannewt, dhalbert
* 6 open pull requests
  * https://github.com/adafruit/circuitpython/pull/1963
  * 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
* 10 closed issues by 5 people, 4 opened by 2 people
* 179 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 4.1.0: 1 open issues
  * 4.x - Features: 36 open issues
  * 4.x.x - Bug fixes: 4 open issues
  * 5.x: 2 open issues
  * Libraries: 9 open issues
  * Long term: 122 open issues
  * 5 issues not assigned a milestone


Download stats by board:


| Board                                         | 4.0.1  | 4.1.0-beta.0  |
| ----------------------------------------------|--------|---------------|
| arduino_mkr1300                               |   4    |       0       |
| arduino_mkrzero                               |   10   |       1       |
| arduino_zero                                  |   39   |       2       |
| bast_pro_mini_m0                              |   0    |       0       |
| capablerobot_usbhub                           |   1    |       0       |
| catwan_usbstick                               |   4    |       0       |
| circuitplayground_express                     |  1541  |      32       |
| circuitplayground_express_4h                  |   7    |       0       |
| circuitplayground_express_crickit             |   74   |       6       |
| circuitplayground_express_digikey_pycon2019   |   3    |       0       |
| electronut_labs_blip                          |   -    |       0       |
| electronut_labs_papyr                         |   3    |       0       |
| escornabot_makech                             |   3    |       0       |
| feather_m0_adalogger                          |   77   |       0       |
| feather_m0_basic                              |   83   |       1       |
| feather_m0_express                            |  232   |       5       |
| feather_m0_express_crickit                    |   5    |       0       |
| feather_m0_rfm69                              |   42   |       2       |
| feather_m0_rfm9x                              |   72   |       1       |
| feather_m4_express                            |  222   |      16       |
| feather_nrf52840_express                      |   55   |       3       |
| feather_radiofruit_zigbee                     |   3    |       0       |
| gemma_m0                                      |  144   |       4       |
| gemma_m0_pycon2018                            |   6    |       0       |
| grandcentral_m4_express                       |  114   |       7       |
| hallowing_m0_express                          |  102   |       4       |
| itsybitsy_m0_express                          |   89   |       6       |
| itsybitsy_m4_express                          |  164   |      13       |
| kicksat-sprite                                |   0    |       0       |
| makerdiary_nrf52840_mdk                       |   5    |       0       |
| makerdiary_nrf52840_mdk_usb_dongle            |   7    |       0       |
| meowmeow                                      |   1    |       0       |
| metro_m0_express                              |  139   |       3       |
| metro_m4_airlift_lite                         |   50   |       4       |
| metro_m4_express                              |  141   |      11       |
| mini_sam_m4                                   |   7    |       2       |
| particle_argon                                |   10   |       0       |
| particle_boron                                |   6    |       0       |
| particle_xenon                                |   11   |       0       |
| pca10056                                      |   27   |       1       |
| pca10059                                      |   47   |       2       |
| pewpew10                                      |   2    |       1       |
| pewpew13                                      |   0    |       0       |
| pirkey_m0                                     |   2    |       0       |
| pybadge                                       |  102   |       6       |
| pygamer                                       |  160   |      12       |
| pyportal                                      |  621   |      36       |
| robohatmm1                                    |   0    |       0       |
| sam32                                         |   8    |       0       |
| sparkfun_lumidrive                            |   3    |       0       |
| sparkfun_nrf52840_mini                        |   12   |       0       |
| sparkfun_redboard_turbo                       |   4    |       0       |
| sparkfun_samd21_dev                           |   4    |       0       |
| sparkfun_samd21_mini                          |   6    |       0       |
| trellis_m4_express                            |  109   |       3       |
| trinket_m0                                    |  482   |      22       |
| uchip                                         |   1    |       0       |
| ugame10                                       |   8    |       4       |
| ----------------------------------------------|--------|---------------|
|                                         Total |  5074  |      210      |
| ----------------------------------------------|--------|---------------|


Download stats by language:


| Board            | 4.0.1  | 4.1.0-beta.0  |
| -----------------|--------|---------------|
| ID               |   8    |       1       |
| de_DE            |  109   |       5       |
| en_US            |  4619  |      188      |
| en_x_pirate      |   60   |       0       |
| es               |   91   |       0       |
| fil              |   9    |       0       |
| fr               |  120   |      10       |
| it_IT            |   13   |       1       |
| pl               |   16   |       1       |
| pt_BR            |   21   |       4       |
| zh_Latn_pinyin   |   8    |       0       |
| -----------------|--------|---------------|
|            Total |  5074  |      210      |
| -----------------|--------|---------------|




### 12:27  Libraries


* 12 pull requests merged
  * 4 authors - barbudor, dhalbert, caternuson, dastels
  * 4 reviewers - ladyada, TheKitty, kattni, jerryneedell
* 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_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_seesaw/pull/34
  * 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
  * https://github.com/adafruit/Adafruit_CircuitPython_CursorControl/pull/1
* 7 closed issues by 5 people, 7 opened by 6 people
* 109 open issues
  * https://circuitpython.org/libraries/contributing


Library updates in the last seven days:
**New Libraries**
 * [Adafruit_CircuitPython_PYOA](https://github.com/adafruit/Adafruit_CircuitPython_PYOA)
**Updated Libraries**
 * [Adafruit_CircuitPython_BME280](https://github.com/adafruit/Adafruit_CircuitPython_BME280)
 * [Adafruit_CircuitPython_MLX90393](https://github.com/adafruit/Adafruit_CircuitPython_MLX90393)
 * [Adafruit_CircuitPython_TSL2561](https://github.com/adafruit/Adafruit_CircuitPython_TSL2561)
 * [Adafruit_CircuitPython_MPL3115A2](https://github.com/adafruit/Adafruit_CircuitPython_MPL3115A2)
 * [Adafruit_CircuitPython_HID](https://github.com/adafruit/Adafruit_CircuitPython_HID)




## 14:34 Hug reports


20:24 @ATMakersBill
* @danh for his help on the AAC Devices we used at camp.
* @ladyada for making the PyPortal (A speech device in a box!)
* #CircuitPython for saving the day twice at NOMCon w/last minute solutions


21:51 @cater 
* Jerry for PRs last week
* Ladyada for finding cycles for GitHub


22:17 @charlesburnaford (no audio/lurking)
* General group hug to all!


@Christellah (lurking)


22:27 @danh
* @ladyada for Python LOGO Turtle
* @bmeisels for noticing an issue with nRF neopixel support
* @tannewt for yet another display speedup
* @cpforbes for creating an empty /lib directory in CIRCUITPY when reformatting


@DaveP (lurking)


24:00 @deshipu (no mic / lurking)
* @arturo182 for a sweet featherwing and exercising displayio a bit


@gpro1 (Lurking)


24:13 @jerryn
* @danh @ladyada for help understanding the “non-issue” with the PyPortal I2C
* @dastels for the new PYOA lib and the quick response to suggestions


15:36 @kattni
* @MakerMelissa for letting me bounce ideas about PyBadger and providing feedback
* @deshipu for help with implementing buttons properly in PyBadger
* @Roy for helping with writing Debug_I2C
* @MakerMelissa for testing Debug_I2C on RPi with Blinka
* @PT for PyBadger graphics!
* @MakerMelissa and @tannewt for CircuitPython at Teardown
* @community moderators on Discord for keeping up with everything


@luslev (lurking)


17:48 @MakerMelissa (lurking)
* @tannewt for his awesome talk that he gave at Teardown
* @kattni for her work on Pybadger
* @s-light for finishing up testing the Pocket Beagle
* @Grogaurd for finally getting his Giant Board launched
* Group hug to so many awesome people that I met at Teardown


@michelleyaooo (lurking)


@nathan robinson (lurking)


@s-light (lurking)


18:59 @siddacious
* Group hug to the mods for good work keeping the community a happy place to be


19:23 @sommersoft (lurking, if attending)
* @arturo182 for getting time to come back, and the work on that sweet hand held!
* @tannewt & @MakerMelissa for representing at Teardown
* Group Hug!


@t-jowang (lurking)


@TammyMakesThings (lurking)


19:56 @tannewt (missing meeting)
* @MakerMelissa for highlighting all of the awesome things she saw at Teardown on Twitter.
* @crowd-supply for hosting Teardown and everyone I met and chatted with.
* Galen for driving us both down to Portland from Teardown.
* Everyone for continuing to be awesome so I can step away.
## 24:44 Status Updates
37:19 @ATMakersBill
* Finally out of the weeds on the AAC Camp Devices
* Still dealing with SD card corruption & SD speed issues on PyPortal - have moved to manually putting the files on Flash filesystem for production… will need to solve eventually
* Working on cleaning up an XBox Adaptive Controller fork per @danh’s request… probably structure as Make variable so you can build any target
* Going to “just ship” the guide for the HandRaiser that’s been done for a while waiting for Mac testing (oh well) if Mike B’s OK w/it


38:43 @cater
* PRs that fix I2C related things on MPL and MLX
* A couple more lingering issues of the same type, mostly low level quirky i2c stuff on linux




39:29 @charlesburnaford (no audio/lurking)
* Got my breathe controller integrated with the helm software synth. I am trying to create a demo song.


@Christellah (lurking)


39:44 @danh
* Fixed nRF neopixel_write; was smashing memory on certain numbers of pixels
* New release of UF2 bootloader with minor fixes for MakeCode Arcade
* Finished BLE Scanner
* Polished up internal BLE code
* Now working on BLE Central, with BLE UART support as functionality goal
* Will try to make a release soon and start work on BLE HID


@DaveP (lurking)


41:30 @deshipu (no mic/ lurking)
* Ported the Jumper Wire game to displayio on pygamer: https://github.com/deshipu/jumper-wire-displayio-pygamer
* Some feedback from that: https://hackaday.io/project/164929/log/164989 
* Also ported the bouncing balls demo, planning to write a guide on that.


@gpro1 (Lurking)


41:58 @jerryn
* Delved into an issue with RTC on PyPortal when I2C device used at 5V
   * Interesting troubleshooting and discussion -- resolution - “Don’t do that”
* Found an issue with seesaw that may have been a byproduct of the recent CP speed improvements.
   * Increased read delay to fix a problem reading the chip temperature. 
* Started some “side by side” testing of  “slideshow” using displayio on M4 vs nRF52840.
   * Using 2.4 inch TFT Featherwing
   * New speed improvements are great!
   * nRF52840 is notably slower in loading images (~ factor of 2)
      * Not surprising due to slower clock and SPI
   * More to do - to quantify timing and test other functions.


26:09 @kattni
* Last week:
   * Updated eink guide with new pinouts diagram
   * 4-H CPX fritzing
   * Motor bonnet fritzing
   * Updated motor bonnet guide
   * Tested the EPD update on the 2.13” eink display - fill issue still present
   * Scrapped Debug_Bus_Device in favor of Debug_I2C
   * Debug_SPI
   * PyBadger, PyBadger, PyBadger, PyBadger
   * Worked on keynote over the weekend.
* This week:
   * Library Monday!
   * Weekly meeting whatnot.
   * Add PyOhio to newsletter for upcoming events
   * Finish documenting Debug_I2C
   * Test and document Debug_SPI
   * Test miniQR example update
   * Continue work on PyBadger
      * “Business card” function (press a button and it displays an image and *shahar*info, such as headshot and email address)
      * Implementing QR code support (press a button and it displays a QR code generated using PyBadger)
   * File issue for safe mode crash into `Hardfault_Handler`
   * Update MCP9600 guide with new pinouts diagram
   * Blog posts for PyCon
   * Process photos for PyCon
   * Add FeatherWing header pinouts to PyBadge/PyGamer guides
   * MPL3115A2/MPL115A2 combination product guide


@KingerNorth (lurking)


33:24 @MakerMelissa (missing meeting/ lurking)
* Last Week:
   * Added a bunch of Raspberry Pi boards to Blinka
   * Cleaned up the Arduino FeatherOLED Library
   * Added the DragonBoard 410c to Blinka
   * Spent the weekend at Teardown 2019
* This Week:
   * Test Orange Pi R1 SPI and UART
   * Write DragonBoard 410c Guide
   * Write up some Raspberry Pi stuff
   * Attending Brunch with Hackaday Monday morning and driving back after.




@michelleyaooo (lurking)


@nathan robinson (lurking)


@s-light (lurking)


34:00 @siddacious
* Last week
   * DS3502 guide finished until we get final hardware
   * Airlift shield fritzing object and downloads page assets
   * Tested rev a. of the OLED friend got it working-enough to test the new OLEDs and finished and sent rev b. to fab
   * DS3502 rev b. routed and sent to fab
   * Made good progress on a super-secret personal project after letting some of the magic blue smoke out
* This week
   * uBlox module footprint
   * VCNL4040 driver work
   * Hopefully bringing/testing of DS3502 and OLED friend rev b


36:20 @sommersoft (lurking, if attending)
* RosiePi/RosieApp
   * At a point now that I need to start moving dev to the RaspberryPi.
   * Spent the last few days setting up a set of Ansible playbooks, which will be used in a pull fashion to both initially and continually keep the RaspberryPi up to date.


@TammyMakesThings (lurking)


36:48 @tannewt (missing meeting)
* Teardown this past weekend. Video of talk is here: https://youtu.be/0mTw9iHcj3Q?t=5759
* Connected with lots of great folks and am looking forward to growing our community.
* Driving back from Portland on Monday morning.
* Want to release a new Beta this week.
* Light week overall to get caught up with things including normally weekend house tasks.
## 45:19 In The Weeds
45:53 @ATMakersBill: We have an AT Makers Faire in Pittsburgh in September.  There will be MANY Adafruit-based solutions there.  John Flaherty (organizer) has reached out to me to ask if anyone (@danh?) from the Fruit would like to attend?  There is probably a role for speaking if you’re interested.  Either way, we’d love to see Adafruit have a presence.http://www.cvent.com/events/2nd-annual-assistive-technology-makers-fair/event-summary-011b35ab291244b59be6baab7840fabe.aspx






47:25 @cater kind of a PSA - I2C repeated start on linux, everyone know about this?
* Linux won’t respect stop = false will have to use other form


48:59 @siddacious - Handling drivers for devices with clear-on-read interrupt status registers that are shared by multiple interrupt types
* 

54:30 @michelleyaooo: Hi makers!! My name’s Michelle, from a group of intern at Microsoft in Vancouver and we’re working on a project related to physical computing. Would love to hear about your past experience:
(1) Have you ever used “device simulator” for your project? (Like the ones on MakeCode) And how you find it helpful for your project?


(2) If you can have a tool with the features of the followings, how would you rank them?
* <1> Debugger
* <2> A device simulator supports lots of sensors for your board
* <3> Deploy to Device: have a better experience for deploying your circuitPython code to your board: without having to install the library and configure the board all manually yourself, hit a “save to board” btn and it will install for you!


## 58:36 Wrap-Up
