adafruit-circuitpython-week.../2019/2019-12-16.md
2019-12-16 16:03:26 -05:00

32 KiB
Raw Permalink Blame History

CircuitPython Weekly for 16 December 2019

Video is available here on YouTube.

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.

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 were missing some.

5:03 Community News

** hug report Cedar Grove's test of a PyPanel https://youtu.be/_X66NmhzMXI

1,500 thanks CircuitPython stars! https://github.com/adafruit/circuitpython

CircuitBrains Deluxe, CircuitPython castellated module package https://kevinneubauer.com/portfolio/circuitbrains-deluxe/

Serpente is back and the family has expanded https://www.tindie.com/products/arturo182/serpente-a-tiny-circuitpython-prototyping-board/

Introducing programming using CircuitPython course https://drive.google.com/drive/folders/1om9P_u7ZVymkK_MpM91CnwvmUGanmrN3

30,000,000 Raspberry Pi units sold https://blog.adafruit.com/2019/12/15/30000000-raspberry-pi-sold-latest-market-share-and-more-raspberry_pi-raspberrypi/

CircuitPython at PyConf Hyderabad, and slides https://anweshadas.in/circuit-python-at-pyconf-hyd/ https://slides.com/dascommunity/my-diwali-with-circuit-python

Take Flight with Feather - Hackaday and Digi-Key https://hackaday.io/contest/168107-take-flight-with-feather

working up stats for end of year... (included at bottom of notes)...

10:30 State of CircuitPython + Libraries + Blinka

11:04 Overall

  • 30 pull requests merged
    • 12 authors - dhalbert, CedarGroveStudios, jepler, dherrada, caternuson, gmparis, hierophect, sarfata, tannewt, makermelissa, siddacious, kattni
    • 8 reviewers - dhalbert, jerryneedell, caternuson, ladyada, tannewt, makermelissa, siddacious, kattni
  • 13 closed issues by 9 people, 5 opened by 3 people

12:42 Core

Download stats by board:

Board 4.1.0 5.0.0-beta.1
arduino_mkr1300 124 0
arduino_mkrzero 87 0
arduino_nano_33_ble - 3
arduino_zero 195 4
bast_pro_mini_m0 20 0
capablerobot_usbhub 15 0
catwan_usbstick 18 0
circuitplayground_bluefruit - 399
circuitplayground_express 7044 30
circuitplayground_express_4h 46 0
circuitplayground_express_crickit 335 4
circuitplayground_express_digikey_pycon2019 24 0
circuitplayground_express_displayio - 9
cp32-m4 - 0
datalore_ip_m4 - 0
datum_distance 17 0
datum_imu 20 0
datum_light 14 0
datum_weather 18 0
edgebadge - 1
electronut_labs_blip 18 0
electronut_labs_papyr 14 0
escornabot_makech 17 0
feather_m0_adalogger 391 0
feather_m0_basic 294 1
feather_m0_express 893 6
feather_m0_express_crickit 41 0
feather_m0_rfm69 147 2
feather_m0_rfm9x 263 1
feather_m0_supersized - 0
feather_m4_express 1382 21
feather_nrf52840_express 314 22
feather_radiofruit_zigbee 16 0
feather_stm32f405_express - 19
gemma_m0 794 3
gemma_m0_pycon2018 23 0
grandcentral_m4_express 303 5
hallowing_m0_express 387 2
hallowing_m4_express - 2
itsybitsy_m0_express 458 3
itsybitsy_m4_express 926 9
itsybitsy_nrf52840_express - 0
kicksat-sprite 13 0
makerdiary_nrf52840_mdk 31 0
makerdiary_nrf52840_mdk_usb_dongle 69 0
meowmeow 17 0
metro_m0_express 834 2
metro_m4_airlift_lite 191 3
metro_m4_express 440 3
metro_nrf52840_express - 0
mini_sam_m4 35 0
monster_m4sk - 9
particle_argon 46 1
particle_boron 25 0
particle_xenon 52 0
pca10056 114 7
pca10059 212 3
pewpew10 47 0
pewpew13 14 0
pewpew_m4 - 0
pirkey_m0 15 0
pyb_nano_v2 - 3
pybadge 496 3
pybadge_airlift 19 0
pyboard_v11 - 8
pygamer 616 7
pygamer_advance 39 0
pyportal 1323 25
pyportal_titano - 1
pyruler 226 3
robohatmm1 15 -
robohatmm1_m4 - 0
sam32 48 0
serpente - 9
shirtty - 0
snekboard - 0
sparkfun_lumidrive 18 0
sparkfun_nrf52840_mini 50 1
sparkfun_qwiic_micro_no_flash - 0
sparkfun_qwiic_micro_with_flash - 1
sparkfun_redboard_turbo 49 1
sparkfun_samd21_dev 36 0
sparkfun_samd21_mini 41 1
stm32f411ve_discovery - 1
stm32f412zg_discovery - 1
stringcar_m0_express - 0
trellis_m4_express 429 3
trinket_m0 2239 13
trinket_m0_haxpress - 1
uchip 20 0
ugame10 36 0
winterbloom_sol - 0
---------------------------------------------- -------- ---------------
Total 22513 656
---------------------------------------------- -------- ---------------

Download stats by language:

Board 4.1.0 5.0.0-beta.1
ID 14 0
de_DE 539 4
en_US 20921 632
en_x_pirate 127 0
es 304 4
fil 18 0
fr 332 6
it_IT 69 2
ko - 0
pl 55 0
pt_BR 67 0
zh_Latn_pinyin 67 8
----------------- -------- ---------------
Total 22513 656
----------------- -------- ---------------

15:30 Libraries

17:02 Blinka

18:02 Hug reports

@anecdata (lurking)

@AnneB (lurking)

26:44 @CGrover (text only)

  • @siddacious for giving great advice and for allowing his ear to be bent multiple times
  • To the author David Beazley for giving me something to read so very late at night: Python Essential Reference, Fourth Edition. A rich novel with many characters, twists and turns, and more than one plot line to follow.
  • @kattni for helping with a stalled crickit library merge.

@charlesburnaford (lurking)

27:13 @danh

  • @jerryn for continued testing and bug-finding: nRF internal filesystem and REPL error issues
  • @kattni for persistence in debugging and use of BLE library

@DaveP (lurking)

@deshipu (lurking)

@dherrada (lurking)

@Drew Fustini (lurking)

@Hierophect

  • Thanks to Thach for checking out and quickly addressing a USB issue on STM32 in TinyUSB.
  • Group hug to all those helping with STM32 testing

29:23 @hukuzatuna (text only)

  • Thanks to LadyAda for being patient with my botched issue creation and to Melissa for taking time to look at the displayio bug(?) I reported.

@jasonp (lurking)

29:47 @jepler

  • @tannewt and @danh for helpful reviews, including on a PR we decided to postpone
  • @tannewt for pragmatism about an nRF USB bug
  • @ladyada and @adafruit for their testing, excitement and encouragement on the MP3 player project
  • @anneb for ongoing help towards making an adafruit blog post (and @kattni for telling me who to talk to)
  • @kevinneubauer for being in Nebraska (like me) and doing cool CircuitPython stuff like the board that @adafruit linked to and is organizing a local meetup - https://twitter.com/kevinneubauer/status/1206302079872049152
  • @sommersoft seems like forever since we chatted but here you are today :)

30:50 @jerryn

  • @kattni for the Neopixel Animator guide -- I have been having a great time with this!!
  • To Adafruit, the CPB is a great platform.
  • @danh and @tannewt - congratulations on Beta1 and for fixing the filesystem issues for some boards in CP5

18:51 @kattni

  • @MrDrummer25 for helping @~Dõødlê with learning HTML and CSS in #help-with-projects
  • @krayola for continuing work on the LED Animations library, continued work on pixelbuf, and for sorting out why a lib wasnt deploying to PyPI.
  • @cater and @theacodes for reviewing the initial PR to the LED Animations library
  • @tannewt and @danh for getting beta.1 out the door in time for my guide
  • @danh for help with updating the Circuit Playground library, and for figuring out why the update was failing on CPX
  • @jepler for verifying an audio issue on nRF and clarifying the situation so I could respond to a user-reported issue
  • Anwesha for persevering through negativity around her presentation

@KingerNorth (lurking)

20:54 @krayola

  • @tannewt for looking at the subscr stuff for the pixelbuf API.
  • @kattni for helping get the christmas tree wired up to a Feather NRF 840
  • @jepler for his compressed QSTR (or whatever it was) that freed up flash so I could get a successful build of the new-pixelbuf-api branch.

22:03 @MakerMelissa

  • @JohnPark for the fun collab
  • @Hukuzatuna for great Sphero library discussion
  • @Sarfata for providing a better picture for the ShIRtty board quickly
  • Group Hug

22:23 @siddacious

  • Group hug! Everyone is awesome!
  • @sommersoft for updating the bundle to use github actions and for scooping me on updating the CircuitPython cookiecutter to include the changes to move to actions

24:09 @sommersoft

  • @siddacious, @tannewt, @jwcooper, & @kattni for the reviews on adabot and circuitpython-org PRs.
  • All contributors for making 5.0 Beta 1 possible.
  • Group Hug!

24:58 @tannewt

  • @sommersoft for constantly improving our automation.
  • Thanks to @dhalbert and @dpgeorge for the GCC9 fixes.

31:40 Status Updates

@anecdata (lurking)

@AnneB (lurking)

49:47 @CGrover (text only)

  • Last week:
    • Designed and tested a semi-automatic Stemma device discovery scheme. Heres the process: A device catalog module containing a dictionary of device names, descriptions, and their individual import, instantiation, and test statements is created and stored in the file system. A configuration discovery function imports the catalog and tries to establish a device instance. After walking through the device catalog, the discovery function shares a list of successfully attached devices. The scheme is useful but not universal since it would be difficult to maintain and synchronize a large number of device definitions. However, itll be a time-saver for small projects that need a bit of Stemma device flexibility -- like my sensor-testing robot platform. May also be helpful when I forget a devices fussy instantiation parameters. PyPanel Device Discovery Test Discovery Function Code
    • PCBs oh my! Simultaneously assembled and tested four PCBs. Although they were functional and useful, some improvement opportunities were discovered; three of the four were redesigned. Hurrah for OSH Park and OSH Stencils!
  • Next week:
    • Write a blog or guide about the RobotFriend project and resultant PyPanel concept. Learned too much in the process of to not take the time to document and share.
    • Wrap-up the clothes dryer duct temperature visualization project.
    • Start (no more than) two PCB assembly projects.
    • nWrap-up the panel/enclosure design for the Euro VCO and workbench Waveform Generator projects and laser em.

@charlesburnaford (lurking)

51:30 @danh

  • Finished internal flash storage layout PR.
  • Fixed nRF internal filesystem bug: a variable was not volatile.
  • Subscribing to all the MicroPython issues/PRs paid off: I remembered they had fixed a gcc9 problem that we also encountered.
  • Next up: BLE bonding for real, really.

@DaveP (lurking)

@deshipu (lurking)

1:02:33 @Drew Fustini

  • Added PWM support for Pocket Beagle, now supports BeagleBone Black/Green etc. to work with Blinka

@dherrada (lurking)

53:17 @Hierophect

  • Work on supporting the STM32 Meowbit, which has ended up being kind of hairy
  • Review of bootloader options and linker system for flash memory updates
  • Tested/reviewed issue with USB related to VBUS management
  • Ordered a variety of new stm32 boards to add to Circuitpython post-meowbit

57:26 @hukuzatuna (text only)

  • Status: job hunting and reviewing issues for bits I can help with. Contemplating porting Sphero RVR SDK to CircuitPython

@jasonp (lurking)

57:48 @jepler

  • Last week:
    • Ironed out some MP3 playback issues, including ID3V2 tag skipping
    • Ditto some MP3-specific stereo playback issues on SAMD51 DAC
    • Uploaded an initial version of JEplayer fka pyrockout to github
    • Continued trying to diagnose Dar-Scotts troubles via github
    • JEplayer functionality: folder-as-playlist, background images
    • Ran into some DMA lockups on samd, seems to occur when playing sound AND updating display (I say that because I dont think it locked up before I added the progress bar, though other onscreen text was being updated in a version that was solid for 40+ minutes)
    • Ran into performance problems trying to show BMPs from SD on pygamer, specific to rotated LCDs
  • This week: some of the following -- anticipating 20 hours approximately:
    • Work on the nRF RawSample looping bug, which was just escalated in priority 10 minutes before the meeting :)
    • Wireframe of JEplayers screens for @adafruit, so he can get me some icons
    • Diagnose and maybe even fix DMA lockup OR change JEplayer to avoid it
    • Look into fixes or workarounds for the BMP performance problems
    • Find out whether a hack for approximate seeking in mp3 files might work
    • Polish and then schedule an adafruit blog post (my first!)
    • Starting with STM slipped last week, will probably slip to past new years,
  • Ongoing fun projects:
    • Design phase for 3d-printed keyboard with “tenkeyless” (TKL) layout, top design is done, bottom design might start this week.
    • Need to identify the right microcontroller board, it needs about 23 digital I/Os for keyboard scanning, plus I want I2C for an OLED display, CircuitPython, and bluetooth. Nrf52840 feather plus seesaw?

1:00:09 @jerryn

  • Last week
    • Submitted PR to RFM69 and RFM9x libraries to facilitate using interrupts for received packet - in review
      • Thanks to @pythonaire on github for suggesting it.
    • Stumbled across 2 tricky issues with some boards file systems under CP5
      • Seriously impacted non-express nRF52840 boards
      • Now fixed by @danh and @tannewt -- all good
  • Next week
    • Hope to add some examples to RFM69/9x regarding use of the Radiohead headers. The support is there but no examples. You can use them to filter packets an essential address units individually if there are multiple units in range.
    • Possibly work on adding “reliable datagram” mode

32:30 @kattni

  • Last week:
    • Finished the STEMMA OLED fritzing objects
    • NeoPixel_SPI deployed to PyPI
    • Updated MCP9600 guide with Python usage
    • Verified no other guide updates were on hold for the same reason as MCP9600
    • Added default files for PyPortal Titano to GitHub
    • Finished the Circuit Playground Bluefruit NeoPixel Animation and Color Remote Control guide
    • Blogged updated and new guide releases
    • Started updating the Circuit Playground library to have a board-agnostic import mechanism that allows for single examples to work on both Express and Bluefruit.
    • Replied to an issue reported with the AudioOut guide code in the CPX product guide that turns out is a known issue on Bluefruit
    • PR in to update comment in audio code to clarify.
  • This week:
    • Library Monday!
    • Update CPB NeoPixel Animation guide code to make streaming color prints optional to speed up code when used with a display Gizmo attached to the CPB.
    • Continue updating the Circuit Playground library and begin updating examples to use new import
    • Feather e-ink Friend fritzing object
    • Fritzing objects for two new portals
    • Update pyportal guide to include pynt
    • Creating a new guide for the pyportal titano, which is different enough that it needs its own guide
    • Next up, some motor projects. Adafruit has lots of hardware, but no code is posted anywhere.

@KingerNorth (lurking)

37:57 @krayola

  • Last week
    • Assembled the christmas tree lights with @kattni
    • Finished addressing PR comments on Adafruit_LED_Animation
    • Started using Adafruit_LED_Animation for the tree, and found shortcomings i'm currently looking to address
    • Started adding more features to Adafruit_LED_Animation - coming soon!
    • Did more work on the pixelbuf branch to try to remove the subscr signature change, and pinged @tannewet for his help.
    • Sent a PR with a BUILDING.md for some common commands that I keep forgetting.
  • This week
    • Look at the PR from @tannewt to my branch so we can finally get the latest _pixelbuf changes merged.
    • More animations!
    • Try not to neglect pypixelbuf any longer.

39:48 @MakerMelissa

  • Last Week
    • Finished updating CharliePlex Guide
    • Wrote Arduino EInk Breakout Example for ImageReader Library
    • Worked with @JohnPark to put together an ANCS demo for his show
    • Updated PyBadger library to work excellently with external fonts
  • This Week
    • Porting Python-based Animated GIF Player to PiTFT Displays
    • Updating repos to Point people from old Bitmap code to New EInk Breakout Example
    • Updating PYOA Library to work with PyPortal Titano
    • Starting HT16K33 Library Python Guide updates

41:07 @siddacious

  • shipped drivers for ICM20649, LSM6DSOX, and Limor's MLX90640 driver
  • Published the CircuitPython driver for the MCP4728 quad DAC
  • Currently putting the finishing touches on the Arduino lib for the MCP4728
  • Did more light electrical work and furniture rearranging on the office
  • This week: writing the tester code for the MCP4728
  • Bringup and development of a new sensor
  • Finishing touches on the LSM6DSOX guide for release
  • Light demo in the office, possibly some painting, more labeling.
  • Highly recommend the Brother PT-D450 label maker.

43:47 @sommersoft

  • Last Week:

    • Adabot
      • Migrated daily jobs from TravisCI to GitHub Actions.
      • Started working on Adafruit_Blinka stats/info for the daily report/meeting notes. Got the general info done (results from local run, above).
    • Circuitpython-org
      • Migrated libraries/contributing job from TravisCI to GitHub Actions.
    • physaCI's first Azure billing cycle ended. Invoice total: $0.01. Granted, this is only based on development activity, but still nice to see that a major goal in my design (low-cost) seems to be panning out so far.
  • This Week:

    • Adabot
      • Finish Blinka stats/info.
      • Add board count for both the core and Blinka.
    • RosiePi/physaCI
      • Mostly physaCI; need to get the Azure framework finished before I can build-out the new server/client on RosiePi.

46:11 @tannewt

  • Released Beta 1 this week and followed up with a couple bug fixes.
  • Lots of reviews of awesome code.
  • Got PacketBuffer and AMS fully sketched out but now debugging.
  • This week will be splitting AMS and the other BLE libraries out into separate repos. Will rough out BLE MIDI as a way to test PacketBuffer as well.
  • Will release Beta 2 as well with the bug fixes from last week.
  • Need to apply to the PyCon 2020 CFP. Ends 12/20

1:03:00 In The Weeds

1:03:39 @jerryn -- CPB file system corruption -- is it just me or is it happening a lot

1:08:32 @tannewt - Heads up on #circuitpython2020

1:11:46 @hierophect - trying to decide the ideal way to advise people on getting code onto the Meowbit

1:19:41 @hierophect - quick question for @tannewt, how to handle packages vs boards

1:24:29 @tannewt - holiday meeting schedule. Maybe skip 12/23 and 12/30 in favor of 12/27? Regular programming starting 1 / 6?

  • Notes-only edition on 27 December 2019

1:28:11 @jerryn - will the beta2 filesystem fix break all current non-express filesystems?

  • @danh - only maybe nRF

1:29:57 Wrap-Up


(Stats for end of year newsletter) 231 GUIDES | 1892 PAGES https://learn.adafruit.com/category/circuitpython

    # of products on adafruit.com circuitpython related, about 2,400
    https://www.adafruit.com/?q=circuitpython


    # of forum posts in forums.adafruit.com, about 6,792
    https://forums.adafruit.com/search.php?keywords=circuitpython


    # of boards, about 89
    https://circuitpython.org/downloads


    # of boards supported, not made by adafruit 50 (there are more boards that are -not- made by adafruit)
    https://circuitpython.org/downloads


    # of boards, blinka, about 34
    https://circuitpython.org/blinka
    
    # of libraries, about 200
    https://circuitpython.org/libraries
    https://github.com/adafruit/Adafruit_CircuitPython_Bundle/blob/master/circuitpython_library_list.md


    # of stars on github, over 1,500
    https://github.com/adafruit/circuitpython/stargazers


    # of forks on github, over 3,000
    https://github.com/adafruit/circuitpython/network/members


    (there are some things here, not sure which ones are most interesting to post/share - https://github.com/adafruit/circuitpython/pulse)


    (possible to get # of pull requests, issues, contributors, etc.?)


    # 1 video on youtube related to circuitpython:
     Time to Say Goodbye to Arduino and Go On to Micropython/ Adafruit Circuitpython? about 458k views
    https://www.youtube.com/watch?v=m1miwCJtxeM
    it's now andreas #1 video: https://www.youtube.com/channel/UCu7_D0o48KbfhpEohoP7YSQ/videos?view=0&sort=p&flow=grid


    # of circuitpython videos on youtube in the search results for "circuitpython" about 495
    https://www.youtube.com/results?search_query=circuitpython&sp=CAI%253D


    # of #circuitpython tagged videos on youtube, about 220
    https://www.youtube.com/results?search_query=%23circuitpython&sp=CAI%253D


    # of community meetings (video/podcast, etc), over 100
    https://www.youtube.com/playlist?list=PLjF7R1fz_OOUvw7tMv45xjWp0ht8yNgg0


    # of python on hardware weekly videos, 58
    https://www.youtube.com/playlist?list=PLjF7R1fz_OOXRMjM7Sm0J2Xt6H81TdDev


    # of posts on instagram with #circuitpython, about 1,361
    https://www.instagram.com/explore/tags/circuitpython/
    
    google trends:
    https://trends.google.com/trends/explore?date=all&q=circuitpython
    https://trends.google.com/trends/explore?date=all_2008&gprop=youtube&q=circuitpython


    # of subscribers to the python on hardware newsletter, about 6,947
    https://www.adafruitdaily.com/


    newsletters shipped in 2019 (will be 52), total so far... over 152 newsletters since november of 2016
    https://www.adafruitdaily.com/category/circuitpython/


    blog posts on adafruit in the circuitpython category, about 1,117
    https://blog.adafruit.com/category/circuitpython/
    
    discord.. gotta do some look ups there.. (maybe for the # of members in #circuitpython / messages, etc)