adafruit-circuitpython-week.../2020/2020-01-27.md
2020-01-27 16:02:49 -05:00

32 KiB
Raw Blame History

CircuitPython Weekly January 27th, 2020

Video of the meeting is available on YouTube.

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:32 Community News

Open Hardware Summit prototypes! https://twitter.com/QwertyEmbedded/status/1220097577015603200

Speaking of... 2020 Open Hardware Summit #ohsummit20 topic on Adafruits Discord AND logos/art for the event with CircuitPython https://2020.oshwa.org https://discord.gg/8RVyqnk https://www.dropbox.com/sh/8v0h6uariv04osr/AABHJ1wnEu0TOQ_mk0SivOtAa?dl=0

5:43 Mu version 1.0.3, 1.0.3 is a bug-fix release with no new features https://madewith.mu/mu/releases/2020/01/26/mu-1-0-3.html

5:54 Speaking of... Sponsor Nicholas Tollervey on GitHub Sponsors https://github.com/sponsors/ntoll

6:25 CircuitPython in HackSpace Magazine: Serpente 10 out of 10, and more... Three ways to blink an LED: Use CircuitPython to handle intermittent tasks by Ben Everard page 74 and 75. https://www.tindie.com/products/arturo182/serpente-a-tiny-circuitpython-prototyping-board/ https://hackspace.raspberrypi.org/issues/27

6:57 Winners of the Take Flight with Feather contest! The Open Book Feather - An open hardware reading device and more! https://hackaday.com/2020/01/22/winners-of-the-take-flight-with-feather-contest/ https://youtu.be/iJqkwLt4Bik?t=54 CircuitPython + Open Book progress is here: https://twitter.com/josecastillo/status/1221622996353331202

7:18 16,000 Thanks! https://blog.adafruit.com/2020/01/26/dark-horse-discord-how-a-gaming-chat-platform-is-secretly-connecting-the-internet-and-defining-the-future-of-work-discordapp/

8:20 All a board! New boards on CircuitPython.org Some of the latest boards to appear on circuitpython.org/downloads. The total is now 103+ boards! https://circuitpython.org/board/aramcon_badge_2019/ https://circuitpython.org/board/kittenbot_meowbit/

8:44 Speaking of... CircuitPython goes purrrfect with Meowbit https://youtu.be/YFTbBri0rpc

8:55 Grade 11 CS final project, Asteroids clone, made with CircuitPython https://ics3u-asteroids-davin.readthedocs.io/en/latest/ https://youtu.be/gHuDd-Jwamo

9:30 "Plug and Play Python (PnPP) on hardware IoT under 5 mins" ... "took less than 2 minutes and 40 lines of code!" https://twitter.com/iAyanPahwa/status/1220810606862712833

10:42 CLUE works with Bright Wearables https://youtu.be/dx3qUkAB1ok

11:31 All this and more in the DRAFT, please make an issue/PR for any updates, goes out 11am ET tues via adafruitdaily.com https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2020-01-28-draft.md

12:00 State of CircuitPython, Libraries & Blinka

Overall

  • 38 pull requests merged
    • 20 authors - cogliano, makermelissa, deshipu, ladyada, TinyCircuits, dherrada, jepler, sjirwin, bmeisels, markpatterson27, tannewt, dglaude, hierophect, mscosti, caternuson, colonwq, ndGarage, tsupplis, kattni, dhalbert
    • 12 reviewers - tannewt, makermelissa, siddacious, caternuson, TheKitty, ladyada, sommersoft, dherrada, jepler, FoamyGuy, kattni, dhalbert
  • 16 closed issues by 8 people, 7 opened by 6 people

Data beyond this point is from 22 January 2020

14:34 Core

Number of supported boards: 104

Download stats by board:

Board 4.1.2 5.0.0-beta.4
aramcon_badge_2019 - 0
arduino_mkr1300 37 0
arduino_mkrzero 20 0
arduino_nano_33_ble - 0
arduino_zero 44 0
bast_pro_mini_m0 11 0
capablerobot_usbhub 12 0
catwan_usbstick 12 0
circuitplayground_bluefruit - 0
circuitplayground_express 1893 0
circuitplayground_express_4h 28 0
circuitplayground_express_crickit 111 -
circuitplayground_express_digikey_pycon2019 31 0
circuitplayground_express_displayio - 0
clue_nrf52840_express - 0
cp32-m4 - 0
datalore_ip_m4 - 0
datum_distance 11 0
datum_imu 11 0
datum_light 12 0
datum_weather 14 0
edgebadge - 0
electronut_labs_blip 14 0
electronut_labs_papyr 21 0
escornabot_makech 22 0
feather_m0_adalogger 109 0
feather_m0_basic 127 -
feather_m0_express 215 0
feather_m0_express_crickit 31 0
feather_m0_rfm69 62 0
feather_m0_rfm9x 111 0
feather_m0_supersized - 0
feather_m4_express 440 0
feather_mimxrt1011 - 0
feather_mimxrt1062 - 0
feather_nrf52840_express 132 0
feather_radiofruit_zigbee 22 0
feather_stm32f405_express - 0
gemma_m0 194 0
gemma_m0_pycon2018 23 0
grandcentral_m4_express 109 0
hallowing_m0_express 69 0
hallowing_m4_express 40 0
imxrt1010_evk - 0
itsybitsy_m0_express 125 0
itsybitsy_m4_express 200 0
itsybitsy_nrf52840_express - 0
kicksat-sprite 24 0
makerdiary_nrf52840_mdk 26 0
makerdiary_nrf52840_mdk_usb_dongle 33 0
meowmeow 24 0
metro_m0_express 181 0
metro_m4_airlift_lite 96 -
metro_m4_express 98 0
metro_nrf52840_express - 0
mini_sam_m4 24 0
monster_m4sk - 0
ohs2020_badge - 0
openbook_m4 - 0
particle_argon 28 0
particle_boron 23 0
particle_xenon 27 0
pca10056 63 0
pca10059 90 0
pewpew10 35 0
pewpew13 23 0
pewpew_m4 - 0
pirkey_m0 22 0
pyb_nano_v2 - 0
pybadge 135 0
pybadge_airlift 26 0
pyboard_v11 - 0
pygamer 118 0
pygamer_advance 28 0
pyportal 429 0
pyportal_pynt - 0
pyruler 55 0
robohatmm1 25 -
robohatmm1_m4 - 0
sam32 29 0
seeeduino_xiao - 0
serpente - 0
shirtty - 0
snekboard - 0
sparkfun_lumidrive 25 0
sparkfun_nrf52840_mini 28 0
sparkfun_qwiic_micro_no_flash - 0
sparkfun_qwiic_micro_with_flash - 0
sparkfun_redboard_turbo 32 0
sparkfun_samd21_dev 30 0
sparkfun_samd21_mini 31 0
stm32f411ce_blackpill - 0
stm32f411ve_discovery - 0
stm32f412zg_discovery - 0
stringcar_m0_express - 0
teknikio_bluebird - 0
trellis_m4_express 124 0
trinket_m0 630 0
trinket_m0_haxpress - 0
uchip 22 0
ugame10 26 0
winterbloom_sol - 0
xinabox_cc03 - 0
xinabox_cs11 - 0
---------------------------------------------- -------- ---------------
Total 6923 0
---------------------------------------------- -------- ---------------

Download stats by language:

Board 4.1.2 5.0.0-beta.4
ID 140 0
de_DE 469 0
en_US 5026 0
en_x_pirate 161 0
es 183 0
fil 142 0
fr 213 0
it_IT 159 0
ko - 0
pl 139 0
pt_BR 149 0
zh_Latn_pinyin 142 0
----------------- -------- ---------------
Total 6923 0
----------------- -------- ---------------

16:02 Libraries

18:30 Blinka

  • 5 pull requests merged
    • 3 authors - yeyeto2788, tannewt, makermelissa
    • 3 reviewers - tannewt, makermelissa, ladyada
  • 0 open pull requests
  • 1 closed issues by 1 people, 2 opened by 2 people
  • 29 open issues
  • PyPI Downloads in the last week: 5159 Number of supported boards: 38

19:57 Hug Reports

Hug reports is the time we take to thank one another for the stuff that were doing. The format is a round robin, starting with @jepler and continuing in alphabetical order, returning to the top so everyone gets a chance to talk. If you are marked as lurking or text-only, Ill read your notes aloud.

20:34 @jepler

  • Kattni for offering me an opportunity to help with the meeting
  • Dar for continuing to track down memory use in adafruit_sdcard (with successful conclusion, I think?)
  • Tannewt, sommersoft, danh, and others for reviews on my PRs
  • Anne B for help getting started on the Adafruit Learn system
  • Foamyguy for starting to work on reviews and merging PRs

21:10 @jerryn

  • Group hug!

21:18 @kattni

  • @jepler for running hug reports and working towards running the meeting!
  • @foamyguy for jumping into reviewing PRs, and for patience and perseverance as we worked through him making changes to someone elses open PR.
  • @foamyguy for joining CircuitPythonLibrarians! Thank you for all your reviewing!

@KingerNorth (lurking)

21:59 @MakerMelissa

  • @JohnPark for working so well with me on the latest Gizmo Project
  • Hugs for all the Blinka contributions lately

@Mr. Certainly (lurking)

@mscosti (lurking)

22:20 @ntoll (remote/async)

  • General group hug.
  • Phil for being awesome and very thoughtful.

@sdw_nj (lurking)

22:30 @siddacous - occupado, please read

  • Dylan for completing the momentous Actions migration project and helping us get the libs into a better and more maintainable state
  • Everyone else who helped with the actions project, but notably @sommersoft, @kattni, @makermelissa, and @ladyada. Thank you all for your contributions and to anyone I may have missed. Its great to have a strong community that can come together to make large projects like this happen in a timely manner

23:00 @sommersoft (text only)

  • @deshipu for spotting and fixing a bug in the module support matrix documentation builder.
  • @jepler for the AudioMixer performance improvements.
  • Group Hug, as always!

23:15 @tannewt

  • @joeycastillo for getting the Babel Chip on the open book working in CircuitPython. So many languages!
  • @nnja for testing Bluetooth in a conference setting. Cant wait to see the project shared.
  • @jimmo for basic Teensy support in MicroPython. Excited to collaborate on making it fast.
  • @hierophect for persevering on the meow:bit!

@AnneB (lurking)

@arturo182 (lurking)

25:05 @ATMakers (text only)

  • @jepler for making a mpy-cross service per my request

@Cater (lurking)

25:17 @CGrover (text only)

  • @ladyada for some excellent coding suggestions and encouraging me to travel outside of my comfort zone.
  • To the community: you inspire me and provide challenging opportunities to learn and grow.

@charlesburnaford (lurking)

25:36 @danh

  • @ladyada for getting started on BLE Heart Rate Monitor

@DaveP (lurking)

25:57 @dglaude (voice except if noisy dogs)

  • @danh for clarification of *.py *.mpy and frozen lib.
  • John Park and I guess @danh for BLE HID learn guide and code.

26:40 @drew fustini

  • @MakerMelissa for reviewing Platform Detect and Blinka PRs

@Duewester (lurking)

26:55 @foamyguy

  • Anne B, John P, Tony D, and Kattni for their respective learn guides covering Piezo's, AudioOut and NeoTrellis M4 Sequencer.
  • Kattni for helping me work through the process of my first few reviews.

27:20 @geekguy (Text only)

  • @makermelissa for being a nitpicky PR reviewer. Keep on nitpicking!
  • @foamyguy for taking on more responsibility as a PR reviewer.

27:42 @hierophect

  • Scott for help with a displayIO bug
  • Ladyada for testing the Meowbit

@JacobT (lurking)

28:15 @jasonp (lurking)

  • Whoever is working on circuitpython.org. It looks great!

28:50 @codeNsolder

  • Hug report for Ladyada and Brent Rubbel for amazing guides on airlift featherwing and mqtt with cp
  • A hug report for @ntoll for releasing much awaited mu update
  • A hug for everyone

29:25 Status Updates

30:44 @kattni

  • Last week:
    • Added a NotImplementedError to Express module in Circuit Playground library to cover potentially importing features not available for CPX. Written to be expandable so it will be easy to add to it as we add more features to the other Circuit Playground modules.
    • Added page to Made Easy guide - The Technical Side - that goes into a technical explanation of how the Circuit Playground library works under the hood, and why its special on CPX.
    • Linked to The Technical Side page in the Circuit Playground library README
    • Fixed image links in README
    • Worked on and finished up the guide for the MLX90640 Thermal Camera, put in moderation
    • Spun up @foamyguy to get him going on reviewing PRs, testing, making changes to open PRs to fix linting and change requests, and finally added to CircuitPythonLibrarians to give him edit/merge access.
  • This week:
    • Test code one more time, then put in PR for update to Circuit Playground Sound Meter code to work on both Express and Bluefruit
    • Guide for DPS310
    • Go through lib PRs again
    • Go through guide feedbacks in Learn system
    • Remake a reference image currently being used in all guides with Metro-style boards of the ICSP header to make it easier to understand
    • Begin documenting running the CircuitPython Weekly meeting to facilitate others being able to run it

@KingerNorth (lurking)

36:16 @MakerMelissa

  • Last Week:
    • Tested and Merged Blinka-related PRs
    • Worked with @JohnPark on a Now Playing Gizmo demo
    • Made a bunch of progress on LED Backpack Guide
  • This Week:
    • Finish up LED Backpack Guide
    • Test 240x240 PiTFT on Raspberry Pi Examples
    • Create Arduino E-Paper FeatherWing Example
    • Update Arduino TFTLCD to GFX
    • Start on Adding Board to Blinka Guides

@Mr. Certainly (lurking)

@mscosti (lurking)

37:41 @ntoll (async):

@sdw_nj (lurking)

37:59 @siddacious - Unavailable, please read

  • Previously: Lots of driver work: refactoring and cleaning up code
  • A few guides: LIS3MDL and LSM6DS33
  • Helping Dylan as needed with finishing up the actions migration
  • Next: More guide work and driver refactoring

38:23 @sommersoft (text only)

  • Last Week:
    • Core:
      • Tested & merged @jepler's AudioMixer performance improvements PR.
    • RosiePi:
      • Got the configuration scripts finished and installing without failure.
      • Started verifying services/etc are working properly. However, after getting Redis to work properly, it seems there is some dark magic to getting the systemd Redis service to actually stop. It is locking up shutdown/reboot, which is fun.
    • Adabot:
      • Investigated an error that the daily library report is having. Evidence points to an issue on GitHub's end. The API releases endpoint for the core repo seems to be having issues. (Did a setting/perm get changed, perhaps?)
  • This Week:
    • Adabot:
      • Work on the report changes to list merged vs open PRs
      • Add some better handling of the aforementioned GitHub release endpoint error. It should fail gracefully…
    • RosiePi configuration...

39:25 @tannewt

  • Short week last week. Primarily worked on PixelBuf.
  • Reverted NeoPixel changes until good _pixelbuf is out in the stable release.
  • Polishing up _pixelbuf changes this week.
  • Committing Teensy 4.0 support this week although it isnt perfect.
  • Circling back to Bluetooth to prepare for 5.0.0!

@AnneB (lurking)

@arturo182 (lurking)

41:28 @ATMakers (Im back)

  • Loved judging the Hackaday Contest looking forward to the Gesture Sensors
  • XBox Adaptive Controller version of CP automated builds available here: https://github.com/ATMakersBill/cp4xac
  • Guide 90% ready on the first CP XAC controller (PyRuler) - might not get done this week
  • If youre in Florida next weekend…. ATIA Maker Day is where you should be - just for the Accessible Gaming Lounge where you can see dozens of CP-driven controllers https://www.atia.org/atia-maker-day-3-0/

@Cater (lurking)

42:56 @CGrover (text only)

  • Wrapped up two sound studio projects this week. Working on a third.
  • The Thermal Camera Project learning guide is almost complete, seemingly at the project managers nightmare zone of 90% project completion. Developing the guide reminded me of the many new CircuitPython coding techniques and features learned during this project -- and that I have yet to learn. Each step forward is simultaneously satisfying and humbling.
  • Started working through the Purple PCB backlog yesterday. This week will focus on completing and testing at least two boards.

43:37 @charlesburnaford:

  • Working on a keyboard from old DX7. Hoping to interface it with Teensy 4.0 to use USB stuff to talk with synthesizer.

44:25 @codeNsolder

  • Last week:
    • Worked on a demo for local Processing Day meetup using PyBadge, ESP32 airlift featherwing, neopixels and mini mqtt controlling badge over Internet(AdafruitIO)
    • Helped few folks from local community in getting started contributing to CP, helped them create a issues
  • Next week:
    • Making a hardware to control adobe lightroom functions
    • Will be mentoring community folks with the created issues

46:05 @danh

  • Released CircuitPython 5.0.0-beta.4 last Tuesday evening.
  • Fixed: Turn off on-board user neopixels on CPB, PyPortal, and PyGamer on soft-reload.
  • Developed initial BLE Heart Rate Service and example code. Currently debugging some BLE-related hangs on reconnection.
  • Will continue to fix 5.0.0 bugs for upcoming release.

@DaveP (lurking)

47:37 @dglaude

  • Last week:
    • Tested BLE UID demo (without a rotary encoder… because I dont have any).
    • Tested Blinka on my Ubuntu Thinkpad with FT232H (but should find an LED+resistor for real blink)
    • I guess reading doc and guide, and thinking about Fosdem20.
  • Next week:
    • Fosdem'20 : preparing slides, writing demo code, asking tricky questions to make sure what I say is accurate.

49:45 @drewfustini

  • Added support for BBG to Platformdetect
  • Added that into Blinka as well

@Duewester (lurking)

50:15 @foamyguy

  • Last week:
    • Starting to get my feet wet with reviewing PRs
    • Learning about and playing with all things audio and circuitpython on the NeoTrellis m4
  • Next week:
    • Keep going with reviews, and start looking for issues that I can help with
    • Playing with audio more. Perhaps building some interaction between the NeoTrellis and Android.

@geekguy (Text Only)

51:10 @hierophect

  • Last week:
    • Fixed an involved PWMOut error that was affecting displayIO.
    • Worked on wrapping up the final Meowbit bug, which was a displayIO flash/display conflict issue. Its out as a PR and has passed initial testing from ladyada.
    • Laid out the pinmaps for the Espruino boards
  • This week
    • Do any style or content changes required for the Meowbit PR
    • Set up controls for the Espruinos, wrap up pinmaps.
    • UF2 bootloader support across STM32
    • Work on my Zephyr guide

@JacobT lurking

@jasonp (lurking)

52:38 @jepler

  • Last week:
    • UI work on JEplayer
    • Started drafting a future Learn guide showing the software
    • Worked on providing ready to run mpy-cross binaries
    • Fuzz-tested mpy-cross and didnt find any interesting crashes
    • Set up an AWS Lambda that can be called to mpy-compile a source file
  • This week:
    • Continuing on the Learn guide—This, and any JEplayer improvements that are requested, is my highest priority.
    • Maybe getting back to low level audio stuff—testing whether both DACs can be written by one DMA, otherwise continuing with the existing draft PR to simplify SAMD stereo AudioOut
  • Ongoing fun and not fun projects:
    • My custom keyboard is all wired and running KMK, a keyboard firmware written in CircuitPython.
    • Helped a friend set up a pipe temperature monitoring project with adafruit IO & IFTTT
    • Recovery from my foot surgery is going well, thanks to those who asked

54:30 @jerryn

  • Frustrating week with regards to my rfm9x/69 updates.
    • Ran into significant issues with response time with CircuitPython when trying to communicate with Arduino/RadioHead
    • I had forgotten how fast C code can run with Arduino….
    • Also ran into even worse problems with timing on the Raspberry Pi under Blinka -- There are significant delays between SPI transactions. This makes the above problems even worse.
    • Need to reconsider the whole approach...not a bad thing, but time consuming.
  • Did a bit of testing of Teensy4.0
    • Accessed an I2C device
    • REPL not happy with cut/paste of more than a few lines - enters bootloader...
  • Next few weeks -- life happening :-) will likely miss a few meetings due to conflicts and some travel
    • Will continue to work on rfm9x/69 as well as a whole bunch of other projects.

59:24 In the Weeds

59:50 @tannewt - thoughts on depth of CircuitPython 2020 wrap up? Last years is here: https://blog.adafruit.com/2019/01/28/circuitpython-in-2019/ Do we want more than a thank you, some quick stats and links out to all of the posts?

1:01:08 @jepler - anybody interested in moving forward with the mpy-compile web interface / API? I dont want to be responsible for it.@g

1:04:11 @dglaude (1) => maybe to @tannewt - Is there a list of board that are supported both by CircuitPython and MicroPython (ESP excluded). This has been answered on discord.

1:05:27 @dglaude (2) => Phil(?) - Is it safe to say that all CircuitPython board from Adafruit are Open Hardware (with the PCB drawing on GitHub)? Any exceptions (Teensy is not from Adafruit)?

1:06:42 @dglaude (3) => maybe to @danh - Is it safe to say that CP 5.0 support the four BLE role: Central and Peripheral, Server and Client? I think the Heart Beat answer the question.

1:07:49 @dglaude (4) => Phil(?) - Why is the feedback form from learn.adafruit.com anonymous? How to get feedback on remarks? How to exchange with the guide writer?

1:09:52 @MakerMelissa:

  • Idea for CircuitPython:
    • Compiled C modules that work with a common API so they arent processor specific
      • @hierophect I think micropython recently did something like this? (mentioned in my/deshipus CPy 2020s)

1:15:50 @sommersoft (low-priority; can be deferred to a later date or as a GitHub issue) [text-only]

  • Actions Triage (on the core):
    • I've been thinking about this for a while, but it popped back into my mind last week. What are the thoughts on writing up a bit of triage routine on the PR Actions workflow. Such that only the "necessary" builds are triggered based on a PR's changes.
    • Example: if a git diff reveals that a PR's changes only apply to the docs/ folder, we skip building all 100+ boards for the PR. A recent scenario was @deshipu's PR to docs/shared_bindings_matrix.py; no firmware changes, but the CI build took 53 minutes…
    • You could conceivably extend this to scenarios like if a PR only contains changes to ports/atmel-samd, that non-SAMD builds are skipped.
    • This may drive some workflow structural changes; not sure if they would make things more obfuscated. Especially when it comes to adding new boards, and debugging workflow issues.

1:17:20 Wrap-up