adafruit-circuitpython-week.../2019/2019-12-09.md
2019-12-09 12:49:15 -08:00

31 KiB
Raw Permalink Blame History

CircuitPython Weekly December 9th, 2019

Video of the meeting is available on YouTube and on diode.zone.

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

The weekly happens normally at 2pm ET/11am PT on Mondays except when US holidays occur on Monday. 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 were missing some.

4:12 Community News

4:14 200 CircuitPython Libraries! https://github.com/adafruit/Adafruit_CircuitPython_Bundle/blob/master/circuitpython_library_list.md https://circuitpython.org/libraries

4:46 The Binho Nova is a Multi-Protocol USB host adapter with support for I2C, SPI, UART, 1-WIRE, SWI protocols all in one slim, robust package, and now it supports CircuitPython BLINKA! https://support.binho.io/learn-and-grow/binho-+-circuitpython

5:07 CircuitPython slithers to the pages of MAKE Magazine! Make: Vol. 71 FIX OUR PLANET featuring CircuitPython! On page 82 is a CircuitPython powered edge-lit LED heart by Geek Mom Projects. AND! In TOOLBOX, the CircuitPython ruler from Digi-Key and Adafruit! https://makezine.com/

5:39 ADABOX 14 in the wild Approx 4,000+ CircuitPython devices in the wild :)

6:13 Adafruit joins the LoRa Alliance https://learn.adafruit.com/using-lorawan-and-the-things-network-with-circuitpython https://blog.adafruit.com/2019/12/05/adafruit-joins-the-lora-alliance-loraalliance-lora-lorawan-adafruit/

6:59 Engineered Sandwich is a small rechargeable freestanding light-emitting sculpture. A translucent 3D-printed lens press fits between two hand-finished wood buns. A circuit python controller randomly changes RGB LEDs, continuously projecting a cool gradient on all sides of the lens and through a series of slots at the top of the piece. http://www.extrasleepy.com/#/engineered-sandwich/ https://www.instagram.com/p/B5yclN6h7pD/?igshid=1tuxoudkzvu2t

7:39 On Wednesday, Dec 11th at 8pm EST, Particle's Senior Manager of Developer Relations, Brandon Satrom will be on ASK AN ENGINEER! https://twitter.com/BrandonSatrom https://www.adafruit.com/ask

18th is ADABOX unboxing Show and Tell and AAE on 25th, and Jan 1st!

8:31 DRAFT IS HERE! https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2019-12-10-draft.md

9:28 State of CircuitPython + Libraries

9:39 Overall

  • 31 pull requests merged
    • 12 authors - siddacious, jepler, sommersoft, dhalbert, ladyada, tannewt, dherrada, caternuson, hierophect, makermelissa, kattni, CedarGroveStudios
    • 8 reviewers - siddacious, dhalbert, ladyada, tannewt, dherrada, caternuson, makermelissa, kattni
  • 21 closed issues by 12 people, 12 opened by 12 people

Overall: Were close to a beta1. Weve had a lot of refinement on the BLE side and things are improving a lot. Maybe this week or next week, it will be a late game beta. Will be making a push to get it stable. Libraries - we just hit 200, congrats to all the library folks. Sign that we have a really healthy ecosystem.

11:36 Core

Download stats by board:

Board 4.1.0 5.0.0-beta.0
arduino_mkr1300 117 0
arduino_mkrzero 79 1
arduino_nano_33_ble - 20
arduino_zero 189 2
bast_pro_mini_m0 17 1
capablerobot_usbhub 15 0
catwan_usbstick 18 0
circuitplayground_bluefruit - 252
circuitplayground_express 6711 86
circuitplayground_express_4h 44 1
circuitplayground_express_crickit 315 8
circuitplayground_express_digikey_pycon2019 24 0
circuitplayground_express_displayio - 8
cp32-m4 - 0
datalore_ip_m4 - 0
datum_distance 17 0
datum_imu 19 0
datum_light 14 0
datum_weather 18 0
electronut_labs_blip 18 1
electronut_labs_papyr 14 0
escornabot_makech 17 0
feather_m0_adalogger 378 4
feather_m0_basic 278 5
feather_m0_express 846 26
feather_m0_express_crickit 40 0
feather_m0_rfm69 130 2
feather_m0_rfm9x 255 7
feather_m0_supersized - 1
feather_m4_express 1292 63
feather_nrf52840_express 298 42
feather_radiofruit_zigbee 16 0
feather_stm32f405_express - 59
gemma_m0 740 7
gemma_m0_pycon2018 22 0
grandcentral_m4_express 290 13
hallowing_m0_express 369 6
hallowing_m4_express - 8
itsybitsy_m0_express 425 9
itsybitsy_m4_express 887 28
itsybitsy_nrf52840_express - 2
kicksat-sprite 13 0
makerdiary_nrf52840_mdk 31 2
makerdiary_nrf52840_mdk_usb_dongle 69 6
meowmeow 17 0
metro_m0_express 803 6
metro_m4_airlift_lite 181 12
metro_m4_express 406 11
metro_nrf52840_express - 2
mini_sam_m4 35 0
monster_m4sk - 25
particle_argon 43 3
particle_boron 25 0
particle_xenon 52 8
pca10056 108 18
pca10059 206 21
pewpew10 47 1
pewpew13 14 0
pewpew_m4 - 0
pirkey_m0 15 0
pybadge 476 17
pybadge_airlift 19 0
pyboard_v11 - 16
pygamer 588 13
pygamer_advance 39 2
pyportal 1236 42
pyportal_titano - 1
pyruler 217 2
robohatmm1 15 -
robohatmm1_m0 - 0
robohatmm1_m4 - 2
sam32 47 0
serpente - 10
snekboard - 0
sparkfun_lumidrive 17 0
sparkfun_nrf52840_mini 50 3
sparkfun_qwiic_micro_no_flash - 0
sparkfun_qwiic_micro_with_flash - 0
sparkfun_redboard_turbo 48 0
sparkfun_samd21_dev 35 0
sparkfun_samd21_mini 38 0
stm32f411ve_discovery - 4
stm32f412zg_discovery - 2
stringcar_m0_express - 1
trellis_m4_express 388 7
trinket_m0 2134 44
trinket_m0_haxpress - 0
uchip 19 0
ugame10 36 0
winterbloom_sol - 0
---------------------------------------------- -------- ---------------
Total 21379 943
---------------------------------------------- -------- ---------------

Download stats by language:

Board 4.1.0 5.0.0-beta.0
ID 13 0
de_DE 498 19
en_US 19890 894
en_x_pirate 121 3
es 294 3
fil 18 0
fr 303 12
it_IT 64 2
pl 52 7
pt_BR 67 1
zh_Latn_pinyin 59 2
----------------- -------- ---------------
Total 21379 943
----------------- -------- ---------------

13:33 Libraries

15:22 Hug Reports

@anecdata (lurking)

@AnneB (lurking)

18:01 @brentru

  • @cater and @ladyada for MCP/Blinka work!
  • @jerryn for spinning up a working lora packet radio example in a github issue
  • @tannewt and @danh for ctd BLE work
  • Enjoying watching @cgrovers creative uses with the PyBadge as a “base” for projects.

@cater (lurking)

18:59 @CGrover (absent)

  • @MakerMelissa, @cater, and @tannewt for nudges and support with my Crickit and PyBadger PRs. Im now slightly less dangerous and more comfortable when Travis talks back to me.
  • @ladyada for encouraging me to step even further out of my coding comfort zone.

@charlesburnaford (lurking for hug reports only)

19:27 @danh

  • @tannewt for BLE details discussions.
  • @theacodes for thoughtful discord comments on API and code issues.
  • @kattni for perseverance with BLE difficulties and pointing out things we need to fix.
  • @jepler for all kinds of difficult fixes

@DaveP (lurking)

@deshipu (lurking)

@Drew Fustini (lurking)

@Grimarch (lurking)

20:47 @Hierophect

  • Standard group hug this week for everybody helping and testing STM32 port

21:00 @hukuzatuna (text-only)

  • Hugs to everyone who worked on Blinka! Im able to control my Sphero RVR with a Raspberry Pi because of it.

@JacobT (lurking)

@jasonp (lurking)

21:20 @jepler

  • @stargirl and @jerryn for helpful testing on the neopixels after I broke them
  • Especially @stargirls patience while I was testing incorrectly
  • Uri Shaked and Dar-Scott on github for comments and testing on the MP3 PR
  • If any kicad devs are listening, Ive been learning your software. Thanks for writing it!

22:29 @jerryn

  • @jepler for the quick response to the neopixel issue
  • @danh and @tannewt for all the BLE work.
  • @2bndy5 for the nRF24L01 library in the Community Bundle
  • Hug to whoever is responsible for the proliferation of STEMMA/QWIIC compatible connectors. They are really a nice addition.

23:28 @kattni

  • @PhilB for help with sorting out how to deal with level shifting a lot of NeoPixels in a compact form factor using CircuitPython
  • @DanH for a ton of help with my Circuit Playground Bluefruit project, by answering endless questions, slimming down my error handling, and going over my final code - thank you for your patience as well.
  • @tannewt for the Hardfault_Handler crash fix
  • @krayola for coding my animation ideas into the LED Animation library, including functionality that streamlined my project code, and for helping with some flow control in my project
  • @JohnPark for coming up with a list of suggestions for the LED Animation library
  • @cater for finding an issue with the PyPI install on one of the CircuitPython libraries, and getting those sneaky missing commas added back in to fix it

24:24 @kingernorth (hug report only)

  • Hug reports to @jerryn for all his help when started playing with BLE
  • @danh for stepping in on that and starting to get the learn guides sorted out with the correct code
  • @JP for the good hide and seek tutorial, worked really well
  • @kattni answering the question that the Feather nRF52840 works as the transmitter

25:55 @krayola

  • Indirect hug to JP for the ideas for Adafruit LED Animation passed along via @kattni
  • Hug to @tannewt for his suggestions on how to finish up _pixelbuf and for the offer to help get me unstuck as needed.

26:20 @MakerMelissa

  • @tannewt for helping me get the ANCS demo running
  • @jepler for the impressive NeoPixel fix
  • @Gerdie, @fig1010, @crbn60, @DonPancoe, and @ladyada for your Blinka PRs this last week

27:22 @siddacious

  • Dylan for starting the Actions migration
  • @CGrover for some amplifier insights

28:12 @sommersoft (missing meeting; day_job):

  • Group hug!

@stargirl (missing meeting)

  • @jepler for working through the neopixel issue.

@tammymakesthings (missing meeting)

  • @makermelissa for encouragement to take on something I dont know how to do yet and to step outside my comfort zone

16:18 @tannewt

  • @carter for quickly splitting NeoPixel_SPI into its own library.
  • @jepler for improving translation compression
  • @danh for the BLE reviews
  • @kattni for raising the hard fault issue and testing the fixed version.
  • @krayola for continued work on pixelbuf.
  • Foamyguy for helping others out in the forum.

28:53 Status Updates

@anecdata (lurking)

@AnneB (lurking)

33:03 @arturo182 (missing meeting)

  • Last week:
    • Worked more on verifying the MIMXRT10XX Feathers HW
    • Cleaning up the MIMXRT10XX port
    • Using TinyUSB for serial, still need to get MSC to work
  • This week:
    • Port UF2 to MIMXRT10XX for the full CP experience
    • Continue cleanup and TinyUSB integration

33:56 @brentru

  • LW:
    • Finished “secret” (may go into store this or next week, #itsnotoutyet) project
    • Which means its time for CircuitPython again :)
    • Finished up a term-project last night, phew!
      • About modeling new “smart” residential apartment buildings to create a demand-side load for disrupting NYCs power grid operations. Feasible? Yep, with only one 632 unit building. Imagine a block :)
  • TW:
    • Working with the MCP + Stemma Sensor(s) + Jupyter Notebooks. Lots of interesting data viz/manipulations possible, drawing from MathWorks previous work with the RasPi+sensors+MATLAB
      • Quick instrumentation for lab techs/classrooms

@cater (lurking)

35:12 @CGrover (lurking)

  • Last week:
    • Where did the time go?
    • Sent off four more boards to OSH Park and OSH Stencils that should be here today.
    • Completed and submitted PRs for adding features to Crickit and PyBadger libraries. The changes came from the development of a PyBadger/PyGamer front panel for a Crickit-powered robot.
    • Built a full bevy of tests for the robot: graphics, text, sound, buttons, motors, servos, neopixels, etc. Was very challenging to find ways to use standard Adafruit CircuitPython libraries and minimize resource competition, particularly for external Stemma devices. Thinking about another Crickit PR to simplify I2C bus management when using a combination of on-board and Stemma-connected I2C devices.
  • Next week:
    • Working on an overarching concept for using a PyBadge, PyGamer, or PyPortal as a universal project front panel. Since they have switches, displays, and touch panels along with Stemma ports they could save quite a bit of project fabrication time and effort. Eurorack projects may not benefit, but that just means Ill have the opportunity to design a PyBadge board in that form factor! Heres a quick diagram of a front panel concept with robot features. PyPanel Robot Concept
    • Will be piecing together and probing the post-office parcel of perfectly purple pasteable PCBs that were promised to pop-up presently. These are next-gen (final?) revisions of FeatherWings for the Hackaday.io contest.

37:07 @charlesburnaford

  • I found the idea of bluefruit BLE MIDI would be nice to be able to detach the built in keyboard from my synth, so I can sit with the keys on my lap. Playing around with Sunvox on RPi. Hoping to figure out an easy way to interface my sunvox synth to Python with MIDI.
  • With MIDI in, want to be able to download a large buffer of information
  • Start by making generalised module, ask for help to turn into library

38:51 @danh

  • BLE library: Added name and tx power to advertisement scan response. Added ability to get/set name and tx power via BLERadio. Working with @tannewt on adding buffer size and timeout parameters for UARTService.
  • Make _bleio.Connection.disconnect() not complain if already disconnected: one less try/except to worry about.
  • Finishing up parameterization of linker scripts that specify different regions in the microcontroller flash. This removes some technical debt (regions had to be specified in multiple places), and is a precursor for BLE bonding

@DaveP (lurking)

@deshipu (lurking)

@Drew Fustini (lurking)

@Grimarch (lurking)

43:46 @Hierophect

  • Last week, did a plethora of things, two new ports wrapping up pending final testing: pybnano and the “blackpill” f411, both still in PR stage, but mostly wrapped up.
  • Fixed a couple of minor timing issues on NeoPixel - revisit to make it more elegant
  • Displayio working with tft screen, spi analysis issue.
  • This week, working on porting the Meowbit that has display and SD card, and many features we havent finished up yet, so it makes for an integrated test

@hukuzatuna(lurking)

@JacobT (lurking)

@jasonp (lurking)

46:02 @jepler

  • Last week:
    • I over-promised :) didnt do anything substantial with stm32 port
    • Worked on MP3 playback PR
    • Worked on infrastructure code for audio sample sources PR (type safe protocols)
    • Worked on neopixel timing bug (that I caused)
  • This week:
    • Type safe protocols & MP3 is my focus. Depending on time Ill might also get to...
    • nRF PWM playback rate bug
    • nRF USB crash fix
    • Working a bit over 20 hours last week & this week in anticipation of fewer hours in the 2nd half of the month
  • Ongoing fun project: Light guide / edge lit display in feather form factor
    • Will fabricate one set of numerals this week for sure (hopefully this afternoon)
    • Waiting on boards

49:12 @jerryn

  • Last week:
    • Experimented with some inexpensive nRF24L01+ boards
      • Community library works -- fun stuff!
    • Found that homebrew for MacOS now provides the latest gcc version
      • Updated my Mac and it seem to be working well
    • Tested using interrupts for RFM69 on Raspberry pi
      • Good start -- not sure if it belongs in the library or if it should be a different lib since it only works on RPi - not CircuitPython
        • All interrupt related code is in the users code -- minor changes to library - once working will discuss further
  • Next week
    • Keep working on interrupt implementations for RPi
      • Implement for RFM9X as well
      • Explore interrupts for other devices that have signals
        • e.g accel, temperature alerts
      • Non-CP related - Look into RadioHead libraries usage of interrupts on RPi (appear to be disabled - not sure why)
    • BLE, BLE, BLE so much to learn
    • nRF24L01 -- even more to learn
    • so many toys - so little time

52:15 @kattni

  • Last week:
    • Worked on Circuit Playground Bluefruit NeoPixel project code
    • Put together animations for LED Animation library (thanks again, @krayola!)
      • You can now blink, color cycle, solid, sparkle, and comet
      • So much more to come
    • Started guide for CPB project
    • Wrote a page for the Circuit Playground Bluefruit for the CPB guide on installing basic necessary CircuitPython libraries - includes all the basic libs needed for many things - can be mirrored into other guides, but may still require a library install section if using a lib not listed on the guide page
    • Found a CircuitPython bug with Bluetooth
    • Helped JP with updating some CPB project code to use the Circuit Playground library
    • Helped Carter sort out issue with MCP9600 not installing from PyPI properly
  • This week:
    • Finish CPB project guide:
      • Needs images, video, code PRd to Learn repo, and guide text finished up
    • Get LED Animation code reviewed, merged and released.
    • Finish the STEMMA OLED fritzing objects
    • Fritz the Feather e-ink Friend
    • Update the Circuit Playground library to check board and import appropriate module
    • Update all CircuitPython Circuit Playground examples in the Circuit Playground repo to use new import format to work with both boards
    • Complete PyPI setup for NeoPixel_SPI
    • Update MCP9600 guide to show Python usage now that issues have been resolved

@kingernorth (lurking)

57:47 @krayola

  • Last week:
    • Found bugs in _pixelbuf by trying to use it and pushed the fixes to the new-pixelbuf-api
    • Tried to find a way to address the suggestion from @tannewt but ran around in circles for a bit. Abandoned that for now to focus on making animations.
    • Spent a bunch of time tweaking things in the Adafruit LED Animations
    • Wrote an ANSI neopixel strip emulator to test animations with (Need to finish the API and push it to Github)
  • This week:
    • Work more on animations library features - the christmas tree really needs them.
    • Work on pypixelbuf
    • Fix the build failure on new-pixelbuf-api due to out of flash - likely by merging from master to get @jepler's fixes!

1:00:12 @MakerMelissa

  • Last Week:
    • Merged a bunch of Blinka-related PRs
    • Added 11 new boards to the Blinka section of circuitpython.org
    • Fixed auto-versioning in the Adafruit_Python_PureIO repo.
    • Added Rotation to the TFT Gizmo library, cleaned up the code a bit, and fixed an autodoc issue that was causing Travis to fail
    • Added image function to the IS31FL3731 library
    • Created 3 Pillow examples for the IS31FL3731 library
    • Worked on new guide page describing those examples for the IS31FL3731 library
    • Worked through getting an ANCS example running on the CPB.
  • This Week:
    • Finish up IS31FL3731 guide page today
    • Work with @JohnPark to get an ANCS demo going
    • Work on fix for PyBadger with External Fonts
    • Start on HT16K33 display Guide Updates

1:01:57 @siddacious

  • Last week: LSM6DSOX guide work
  • ICM20649 drivers
  • Shipped Drivers for both
  • Office re-org
  • This week: MCP4728
  • More Boards!
  • Office re-org
  • Old years resolution: make a stemma qt board in KiCAD this week

1:05:56 @sommersoft (missing meeting; day_job)

  • Thanksgiving Week:
    • Fought through a nasty head cold, and got maybe 5 lines of code written.
  • Last Week:
    • Was stuck at home troubleshooting some car issues.
    • Took the extra week off from coding; burn-out had creeped in farther than I realized.
  • This Week:
    • Re-assess project priorities. Having seen that Dylan is moving the Travis-to-Actions transition along, I'll likely get back to that for adabot & circuitpython-org/contributing.

1:06:40 @tammymakesthings (missing meeting)

  • Starting to figure out what it would take to implement a CircuitPython library for the Maxim MAX3010x pulse oximeter sensor

29:15 @tannewt

  • Got ANCS code in.
  • Fixed BLE HID on iOS and added debugging to CircuitPython under CIRCUITPY_BLE_VERBOSE define.
  • Prepped demo for JP with ANCS
  • Added BLE library support for Magic Light RGB bulb
  • Fixed crash that Kattni was seeing after it bit me too.
  • Started PacketBuffer work to support Apple Media Service and MIDI

1:07:04 In the Weeds

No topics this week.

1:07:30 Wrap-up