# CircuitPython Weekly for 22 June 2020

Video is available here [on YouTube](https://youtu.be/GHFFb-nMsTw) and [on diode.zone](https://diode.zone/videos/watch/ef774e33-63bf-4954-b619-53c69d691524).


Join here for the chat all week: http://adafru.it/discord


The CircuitPython 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. Meeting times are also available in iCal format using the following link: https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical


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:37 Community News
Happy birthday Adafruit Discord!
Three years yesterday!
5:33 Bluetooth Spotlight
With active development of Bluetooth capabilities in CircuitPython, here's a spotlight on some recent community work:
 Apple iBeacon with CircuitPython 

iBeacons are Bluetooth Low Energy (BLE) devices used in location awareness applications such as welcoming people as they arrive at an event or broadcasting information to compatible devices at a nearby museum exhibit. The term iBeacon is Apple’s implementation of the technology and reportedly, is what they use at their stores to send notifications to iPhone users as they enter/leave the store.
Controlling a Lego WeDo 2.0 wireless motor with Bluetooth and Python - EV3Dev and YouTube.
hci-uart-emu: a very simple emulator for Bluetooth HCI UART transport, written in Python - GitHub.
6:42 Sponsor MicroPython on GitHub
 Sponsor MicroPython on GitHub 

Become a sponsor to MicroPython on GitHub!
Funds will go towards:
* Continued maintenance of the software
* Recruiting additional maintainers
* Offering bounties for finding and fixing critical bugs
More information - GitHub.
7:21 Python is the Third Most Beloved Developer Language in 2020 Survey
In the 2020 Stackoverflow Developer Survey, Python slips to third place in the beloved languages category, behind Rust and the surge in TypeScript use - StackOverflow.
8:09 The Hello Blink Show: Leading a Developer Community with Kattni Rembor
 Hello Blink Show 

In this episode of the Hello Blink Show, Harris and Shawn interview firmware developer, hardware designer, technical writer, and community leader, Kattni Rembor. Kattni shares her insights into how she engages followers and educates her peers. Listeners will hear her advice as she delves into her experience with Adafruit and the process involved with fostering a community on learning CircuitPython - Hellow Blink Show and audio.
9:01 A Scrolling LED Matrix Sign
 Scrolling LED Matrix Sign 

CircuitPythonista Melissa LeBlanc-Williams has been working on a large multi-LED matrix display.
9:38 Call for cheers
Opportunity to be in an Adafruit song. We’re looking for folks who want to record the sound of them cheering for use in a pride related song. Email tom@adafruit.com with the recordings so they can be mixed together.
10:46 Adafruit Update
 Adafruit 

Adafruit is shipping! Shop Adafruit.
## 13:02 State of CircuitPython, Libraries and Blinka
### 13:10 Overall
* 17 pull requests merged
  * 9 authors - dhalbert, bd34n, hierophect, caternuson, buchen, luke-iqt, jerryneedell, FoamyGuy, kattni
  * 10 reviewers - dherrada, brentru, jepler, jerryneedell, FoamyGuy, kattni, dhalbert, ladyada, makermelissa, tannewt
* 17 closed issues by 9 people, 13 opened by 12 people


Overall: Community is growing a lot. We’ve been considering renaming the I2C terms, so we may be moving to 6.0 sooner rather than later, so if you have changes you want to see in, submit those soon. Libs and Blinka are growing.
### 15:25 Core
* 4 pull requests merged
  * 4 authors - dhalbert, buchen, hierophect, bd34n
  * 2 reviewers - jepler, tannewt
* 19 open pull requests
  * https://github.com/adafruit/circuitpython/pull/2780 (Open 65 days)
  * https://github.com/adafruit/circuitpython/pull/2863 (Open 46 days)
  * https://github.com/adafruit/circuitpython/pull/2879 (Open 41 days)
  * https://github.com/adafruit/circuitpython/pull/2914 (Open 36 days)
  * https://github.com/adafruit/circuitpython/pull/2966 (Open 25 days)
  * https://github.com/adafruit/circuitpython/pull/2985 (Open 21 days)
  * https://github.com/adafruit/circuitpython/pull/3003 (Open 18 days)
  * https://github.com/adafruit/circuitpython/pull/3034 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/3038 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/3037 (Open 6 days)
  * https://github.com/adafruit/circuitpython/pull/3044 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/3043 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/3042 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/3045 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/3046 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/3052 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/3050 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/3048 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/3056 (Open 0 days)
* 5 closed issues by 2 people, 5 opened by 5 people
* 309 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 5.x.0 - Features: 11 open issues
  * 5.x.x - Bug Fixes: 33 open issues
  * 6.0.0: 17 open issues
  * Libraries: 11 open issues
  * Long term: 220 open issues
  * Support: 4 open issues
  * 13 issues not assigned a milestone


* Core download stats available at https://circuitpython.org/stats
### 16:37 Libraries
* 12 pull requests merged
  * 5 authors - dhalbert, caternuson, jerryneedell, FoamyGuy, kattni
  * 8 reviewers - dherrada, brentru, jerryneedell, FoamyGuy, kattni, dhalbert, ladyada, tannewt
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_APDS9960/pull/26 (Days open: 43)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/pull/10 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone/pull/8 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Adafruit/pull/4 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_Radio/pull/12 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/89 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground/pull/95 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIS3MDL/pull/10 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RFM9x/pull/45 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text/pull/51 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation/pull/52 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter/pull/2 (Days open: 1)
* 9 closed issues by 6 people, 7 opened by 7 people
* https://circuitpython.org/contributing
  * 178 open issues
  * 33 open pull requests (Oldest: 532, Newest: 1)
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_BME280](https://github.com/adafruit/Adafruit_CircuitPython_BME280)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_LIS3MDL](https://github.com/adafruit/Adafruit_CircuitPython_LIS3MDL)
 * [Adafruit_CircuitPython_CircuitPlayground](https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground)
 * [Adafruit_CircuitPython_APDS9960](https://github.com/adafruit/Adafruit_CircuitPython_APDS9960)
 * [Adafruit_CircuitPython_BLE_BroadcastNet](https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet)
 * [Adafruit_CircuitPython_BLE_Eddystone](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Eddystone)
 * [Adafruit_CircuitPython_BLE_Adafruit](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Adafruit)
 * [Adafruit_CircuitPython_BLE_Radio](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Radio)
 * [Adafruit_CircuitPython_Display_Text](https://github.com/adafruit/Adafruit_CircuitPython_Display_Text)
 * [Adafruit_CircuitPython_Debouncer](https://github.com/adafruit/Adafruit_CircuitPython_Debouncer)
 * [Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter](https://github.com/adafruit/Adafruit_CircuitPython_BLE_BerryMed_Pulse_Oximeter)


### 18:35 Blinka
* 1 pull requests merged
  * 1 authors - luke-iqt
  * 1 reviewers - makermelissa
* 1 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/304 (Open 14 days)
* 3 closed issues by 2 people, 1 opened by 1 people
* 24 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI Downloads in the last week: 1642
Number of supported boards: 52

## 19:16 Hug reports

20:00 @tannewt
* @foamyguy for digging into displayio
* @fede2 for helping with CircuitPython and electioncal translations
* @capslock for the awesome tamagotchi inspired virtual pet
* @mod love again. You all rock.


21:18 @v923z
* @jepler for helping out with the circuitpython-ulab documentation stubs
* Group hug

@anneb (lurking)


21:51 @brentru 
* @tannewt for documentation of DigitalIO/AnalogIO and the API design. Like others (all of us?), I've read through it many times before. But I was working on a project which implements a similar api, so, I was taking a different look at the API design and documentation. It’s designed very well.
   * Oh also @tannewt for pointing me towards protocol buffers when I was looking into a way to serialize data lots of that’s also extensible. I’m enjoying writing it more (gasp!) than JSON.
* @jepler for NTP discussion - learned about time deltas
* @jerryn for working on reducing code size off the rfm9x libraries. 


@cater (lurking)


@CGrover -- just listening today


22:46 @charlesburnaford (lurking)


23:01 @danh
* @ladyada for getting ESP32 BLE HCI working on the Metro Airlift, which required pin reconfigurations in the firmware and additions to the ArduinoBLE library.
* @tannewt for multi-topic BLE discussion


@davep (lurking)


@de∫hipu (lurking)


@dherrada (lurking)

23:46 @foamyguy
* Belated hug for Sommersoft for looking into a solution for the docs “out of date” warning
* @jepler for helping me learn about the docs building process
* @capslock for creating and sharing a neat virtual pet script
* @deshipu for reviewing and merging a fix for ugame button mapping on PyBadge
* Group Hug


24:47 @hierophect
* Group hug
* Joey Castillo for work on Open Book.


@JacobT (lurking)


@jasonp (lurking)


25:38 @jepler
* Group hug
* Hug to Geekguy for continued contribution to CircuitPython
* Hug to Anne for the newsletter
* Hug to Anecdata in help-with-circuitpython for a helpful conversation about temperature sensors
* Hug to jerry in advance for checking out a problem I ran into with the AHT20 sensor
* Hug to fede2 for contributing to the spanish translation of CircuitPython
* Hug to ladyada for another helpful conversation trying to get me unstuck on sdio


26:30 @jerryn (missing meeting)
* Group hug 


26:35 @kattni
* @cjsieh for their contribution of a modified animation to the LED animations library
* @krayola for continued work on the LED animations library
* @foamyguy for a documentation fix and reviewing PRs
* @fede2 for translating the CircuitPython Essentials guide - translation is in moderation
* @danh for helping me with a decision regarding a PR review
* @jepler for a lovely conversation last week and for handling a moderation issue reported to me directly while I was not available to deal with it
* @community moderators for handling everything that’s been coming our way


@kjw (lurking)


27:45 @makermelissa
* Community Moderators for dealing with a lot more spam and unruly folks than usual lately
* Adafruit for recognizing Juneteenth
* @anneb for adding my Scrolling LED Matrix Sign to the newsletter
* Group Hug


@mark (gamblor) (lurking)


@obviousollie (lurking)


28:13 @sommersoft
* Discord moderators. We keep getting some unsavory joins, and you all just keep rolling with the punches.
* All the streaming. Like ALL of it! Ladyada, Phil, Scott, Nina (Python Tea)...really helps in our continued isolation (for lack of a better term).
* Group Hug!

## 28:47 Status Updates

29:38 @tannewt
* Made good progress on sketching out SPI support but need to actually compile and test it. The implementation highlights the memory management issues with having two different allocators. Will try and focus on the bare minimum necessary for busio.
* Stream on Friday talked through many of the tradeoffs and need to get back into that headspace Tuesday.
* Made really good progress on electioncal.us over the weekend plus lots of Age of Empires.


30:58 @v923z
* Last week: Added IIR filters to ulab (had to read a lot of background material, so didn’t have too much time for other stuff)
* This coming week: I will try to see, whether filter design functions can meaningfully be added

@anneb (lurking)


32:45 @brentru
* Working on learning protocol buffers for a project I’m working on.
   * May start looking at writing a protobuf library for CircuitPython.
      * I really like how the compiler (protoc) generates python modules with classes from .proto files and would love to mimic that.
   * Could also add it to CircuitPython. I have not done much research on implementations yet.
* Moving to Providence, RI next week :) 
* Shameless plug - the internet of things monthly newsletter comes out next week, sign up at https://www.adafruitdaily.com/


@cater (lurking)


@CGrover -- just listening today


@charlesburnaford (lurking)


33:54 @danh
* Fixed a hang with `microcontroller.cpu.voltage` on SAMD51. Only certain samples of supposedly identical chips show this problem.
* Trying out adding a feature to avoid going into safe mode on brownout. Setting needs to be remembered in flash to avoid going into safe mode on power-up, because RAM may have been disturbed, and voltage may still be a bit too low on power-up.
* Starting to work on re-implementing _bleio using the HCI Bluetooth implementation on ESP32 (not ESP32S2). HCI is a standard serial-based command protocol that’s used for many Bluetooth-capable co-processors. 


@davep (lurking)


@de∫hipu (lurking)


@dherrada (lurking)

36:46 @foamyguy
* Still working on adding more devices to be supported by the pybadger library. PyPortal and Pew Pew M4 complete so far. 
* Started working on displayio layout system. Declare your layouts in JSON files and then render them with a few lines of python code. Planting the seeds for a visual WYSIWYG editor.
* Testing led_amination PRs as well as several other PR reviews over the weekend.
* Brainstorming ideas for D-pad controlled text input module. Like old school video game high score name entry.


39:19 @hierophect
* Last week:
   * Went into the week with the intention of resolving a bunch of issues and ended up just making new ones. 
   * Made a PR for the i.MX 1050 which isn’t working, put together a control for the RGBMatrix that isn’t working, tried to help review a memory issue with the F746 which isn’t working. 
   * It was not amazing. 
   * I did put together an OpenBook, which is amazing.
* This week:
   * Shelving the bugs and working on the timer allocator system for STM32 so that modules like RotaryIO and PulseIO can work across all chips
   * Reviewing apartments for my move back into Boston


@JacobT (lurking)


@jasonp (lurking)


42:05 @jepler
* Last week:
   * Mostly stuck on SDIO for SAM D51
   * Got a SAM E54 Xplained board, ported CircuitPython to it
* This week: SDIO
   * Got un-stuck on SDIO this morning on the SAM E54 board
   * Problem was either wiring quality or lack of pull ups, probably?
   * Some smaller PRs to get to merged
* Fun stuff:  Temperature & Humidity logger.  Shows high and low on OLED screen.  Will add SD card logging soon (to bring it back to my current topics)


43:57 @jerryn (missing meeting)
* Working on reducing code size of RFM9x library
   * Goal to “freeze” into build for feather_m0_rfm9x - working for most language builds but some of the larger translations are not fitting … yet
* Stumbled across issue with pulseio not working for DHT library on M0 boards since 5.3.0
   * I was hoping to be able to omit pulseio from the feather_m0_rfm9x build and still use DHT sensors via bitbang. Not working yet, but also found that it does not work with pulseio either so I’m not sure if there is an underlying problem. Pulseio is OK on M4 boards.
* The DHT sensor has been problematic before and there are so many better options, but since it is popular and inexpensive, it would be nice to be able to use it with this board.
* Plan to continue with rfm9x code reduction next week.


44:59 @kattni
* Last week:
   * Published a guide for 9-DoF combo boards
   * Misc - PRs, GitHub issues, etc.
* This week:
   * Fix a bug in some code in a Learn guide.
   * Find bugs in the LED animation code and file issues.
   * Add new FeatherWing to 9-DoF combo guide
   * Check open PRs
   * Verify all appropriate libs are on PyPI
   * Write guide for 74HC595


@kjw (lurking)


47:47 @makermelissa
* Last Week
   * Worked on a few github issues regarding displays
   * Wrote a script for calibrating 9-DoF sensors
   * Wrote a guide page for using the above script
   * Wasn’t feeling well near the end of the week, so I didn’t get as much done as usual.
* This Week
   * Started working on a Blinka PyPortal port to allow scripts written for the PyPortal to run on Blinka
   * Whatever else come up
* Other Projects
   * Finished up building my scrolling message board
   * Wrote a complete library for the message board to allow easy scripting and animating of displaying messages


@mark (gamblor) (lurking)


48:55 @pink_vampire (not sure if lurking)
* Machining stuff, not currently working on programming. Stuff laying around at the house.
* Tiny!


50:45 @sommersoft
* Last Week:
   * RosiePi:
      * Completed refactor to utilize pytest, and it is now working on a test node: https://github.com/sommersoft/circuitpython/pull/11/checks?check_run_id=791865015 & https://www.physaci.com/job?node=rosiepi-us-south-1&job-id=791865015
   * Updated my open PR for USB Duplicate VID/PID CI check to change 'whitelist' to 'ignorelist'.
* This Week:
   * Not sure, honestly. I need to kind of "come up for air" from RosiePi. I started to look into some of the open issues on adabot, but just kind of lost focus and didn't dig into anything.


52:50 @stargirl (offline)
* Published the source code and hardware designs for the Hostess FeatherWing: https://github.com/theacodes/Winterbloom-Hostess-FeatherWing
* This Friday I’ll be on Nina Zakharenko’s Python Tea and we’ll chat about circuitpython stuff. twitch.tv/nnjaio.


## 53:30 In The Weeds
@v923z
* Logistics of ulab documentation: if it is hosted on v923z/micropython-ulab/, we need a means of verifying the docs before issuing PRs to adafruit. What would be the proper way?
* 1:01:23 Would benchmarks (e.g.https://learn.adafruit.com/ulab-crunch-numbers-fast-with-circuitpython/a-simple-benchmark) be beneficial? If so, what should be a standardized set of snippets, and how should the results be collected (for various pieces of hardware)?
1:07:00 @tannewt
* New I2C and SPI terminology.


## 1:34:07 Wrap-Up
