adafruit-circuitpython-week.../2020/2020-08-31.md
2020-08-31 16:02:18 -04:00

21 KiB
Raw Permalink Blame History

CircuitPython Weekly for August 31st, 2020

NOTE: The next meeting will be on CircuitPython Day, Wednesday September 9th, not September 7th following the regular schedule or the 8th like our usual US holiday policy.

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. Meeting times are also available in iCal format using the following link: https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical for use with standard calendar applications or in your browser: https://open-web-calendar.herokuapp.com/calendar.html?url=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 were missing some.

5:30 Community News

5:33 CircuitPython Day is in one week! September 9th, 2020 (9-9-2020)

CircuitPython Day: 9-9-2020

Adafruit has chosen September 9, 2020 (9/9/2020) as the snakiest day of this year for CircuitPython Day! Much more to come on events and happenings to include a CircuitPython team livestream, collaboration with hardware and software folks, and highlighting all things Python and Python on Hardware.

Dia CircuitPython

CircuitPython Day: 9-9-2020

CircuitPython fans in Central America are planning additional activities. Costa Rican artist isabelootag has been commissioned to create a mascot for us for this event, taking into account our roots and culture as Central Americans. You may already know Blinka, the snake mascot Adafruit has chosen for CircuitPython. With his talent he has created us who we are sure will be loved by all. I present to you Quetzalblinka . See their website (in Spanish) for their planned activities - DiaCircuitPython.org.

6:50 Dedication

This year CircuitPython Day is being dedicated to Lamba Labs Makerspace, who are helping during the Beirut disaster. Lamba Labs Makerspace

More information on CircuitPython Day is forthcoming. Ideas? Send them via email to circuitpythonday@adafruit.com and add your event to the working calendar - GitHub.## CircuitPython Day is 9-9-2020

7:33 The Bornhack Badge

2020 BornHack badge

The BornHack hacker camp still happened this year and they once again provided an electronic badge to all attendees - the 2020 BornHack badge! Similar to the last couple of years, this badge has an ARM cortex M0+ as the main controller, but on this badge it's the SAMD21 from Microchip, with 4 times as much flash and RAM compared to the chips from the previous badges. This makes it possible to run Adafruit CircuitPython, which lowers the bar for how easy it is to get started hacking on the badge. Read more - Hackaday, GitHub and YouTube.

8:08 The tiny book touch

Joey Castillo posts a Twitter thread about his development of the tiny book touch, a small epaper reader with screen touch sensing. In bringing it up, he wrote a demo in CircuitPython with the Adafruit_FocalTouch library - he says it just worked! The device includes STEMMA ports, GPIO and I2C. He also posts: So Im realizing: I need to redesign as a Feather board. Either SAMD51J or ESP32-S2. Imagine using this with a LoRa wing for radio stuff, or controlling a power relay. So many options! And if I can keep it simple, maybe this is a gadget that I could look into having manufactured.

8:57 GardenPi

GardenPi, powered by Neptune.py is designed to manage, monitor and control a series or sprinkler valves and a multitude of sensors for pretty much any sized irrigation / hydroponic / aquaponic project. It can be scaled from 1 to 32 zones for water and 7 zones for power. It is built almost entirely in Python3 for the Raspberry Pi 4 - GitHub.

9:26 Getting Started With CircuitPython

The Getting Started With CircuitPython On Compatible Microcontroller Boards guide is now available to help people get up and running with CircuitPython - Woolsey Workshop and Twitter.

This is a preview of the Python for Microcontrollers newsletter. If youd like to submit your Python on Hardware related projects, ideas, or posts, please contact AnneB or submit a PR to the newsletter repo: https://github.com/adafruit/circuitpython-weekly-newsletter/tree/gh-pages/_drafts

10:24 State of CircuitPython, Libraries and Blinka

10:45 Overall

  • 26 pull requests merged
    • 12 authors - kattni, jepler, sabas1080, bergdahl, caternuson, tannewt, weblate, michaellass, dglaude, FoamyGuy, makermelissa, ladyada
    • 8 reviewers - kattni, jepler, caternuson, tannewt, dhalbert, FoamyGuy, makermelissa, ladyada
  • 17 closed issues by 12 people, 18 opened by 15 people

Overall: We just released 6.0 alpha 3 and everything is moving along. Were really close to releasing a beta but we wanted to hold off and make sure all our APIs were set to go before we move to beta. In terms of the libraries we had a recent sweep of updates due to pylint changing, which is how it goes. We made the choice to do it this way, but it means we have to go through and test all the libraries. Were still finishing that up. Thank you to Jeff for going through a ton of them to get them up to a good standing in pylints eyes. Blinka just keeps growing, thanks to Melissa for all the effort put in there. I know every new product we put out and every new demo that we try almost always just runs on raspberry pi without any changes, which is really excellent.

13:51 Core

14:53 Libraries

16:34 Blinka

17:19 Hug reports

18:20 @kattni

  • @foamyguy for doing a MASSIVE release sweep - I was expecting assistance, not the entire list of 100+ libraries to be finished. Thank you so much!
  • @jepler for taking notes today.
  • @kmatch98 for all the contributions lately
  • @dglaude for providing feedback on our new French translated guide, and for agreeing to assist with review on upcoming translated guides
  • @Anne for coordinating CircuitPython day planning
  • @danh and everyone involved in getting the latest release of CircuitPython out
  • @cater for helping out with my current guide update by discussing power requirements for everything involved

19:38 @kmatch98

  • @foamyguy for continued support on display_text
  • @tannewt for helpful code reviews
  • @danh and @sommersoft for insights on constraints of MicroPython/CircuitPython for calling overridden parent class getter/setters
  • @kattni for positive feedback!

20:20 @MakerMelissa

  • @brentru for your help with AdafruitIO
  • Group Hug

@Mark(Gamblor) [lurking]

@Mr. Certainly [lurking]

20:34 @tannewt

  • Mr. Certainly for keeping ban stats for the Discord
  • MEE6 for getting up early to join my stream chat
  • @nitz and @k0d for the awesome work on Debug Edge
  • @danh for the epic BLE HCI work
  • @Cotdp, @maditnerd for adding more ESP32-S2 boards
  • @ladyada for adding Kaluga to circuitpython-org

@anecdata (lurking)

@anne (lurking)

@cater (lurking)

@charlesburnaford (lurking today)

22:15 @danh

  • @tannewt for ESP32-S2 wifi work and for _bleio HCI review
  • @jepler for fixing all kinds of bugs and annoyances
  • @xiongyihui for HID OUT reports and various nRF improvements
  • @jepler and @hierophect for discovering and fixing a pathological makefile issue

@dave p (lurking)

23:51 @David.Glaude (lurking)

  • @arturo182 for the Keyboard Feather Wing (nice acquisition)
  • @danh for all the BLE work and support
  • @MakerMelissa and @anecdata for trying to help me with RGB Matrix + Feather Wing AirLift

@deshipu (lurking)

24:12 @foamyguy (lurking today)

  • @jepler for finding and submitting PRs across many libraries for the new version of PyLint
  • @CedarGroveStudios for submitting a detailed account and reproducer code for an issue they found with display_text, and @kmatch98 for checking into it.
  • @kmatch98 for continuing to add enhancements to bitmap_label. Text, scale, and line spacing mutability was added this week.

24:41 @hierophect

  • @danh and @tannewt for their work on the release and advice with bugs.
  • @jerryn and @anecdata for their continued testing

@Jayguitar (lurking)

25:16 @jepler

  • Xiongyihui (on github) for working on low power on nRF
  • @tannewt and @siddacious for conversation about _canio API
  • @carlfk for comments on the CAN bus support issue
  • @danh for the release (sorry some of my changes caused trouble)
  • @anne and others for working on CircuitPython Day planning
  • @kattni for coming up with the idea to interview each other on CircuitPython day

26:04 @jerryn

  • @danh for adding HCI BLE to _bleio and BLE work in general
  • @smccamy1 (in forums) for the MP port for rfm69/9x

27:09 Status Updates

28:25 @kattni

  • Last week:
    • Updated LIS3DH and SI7021 guides with the STEMMA version
    • Created three fritzing objects.
    • Blogged up three updated guides.
    • Started adding CircuitPython to the DRV8833 guide
    • Reviewed a bunch of PRs
    • Tested stepper motor code with Metro M4 and Pi for DRV8833
  • This week:
    • Finish updating DRV8833 guide
    • Then add TB6612 to the same guide page
    • Mirror page into TB6612 guide
    • Update FingerPrint README
    • Create guide for new OLED FeatherWing
    • Verify that RGB Matrix guide features the nRF properly

32:49 @kmatch98 Last week

  • Wrapped up a PR on bitmap_label.py to add mutability to text, line_spacing and scale
  • Fixed a scale/placement bug in label.py This week
  • Investigate adding option for an immediate refresh to a display Other projects
  • Made a two color stencil based on my daughters design and made two print runs (25 prints)
  • Design and test a 3D printed mold and deckle for paper making

34:11 @MakerMelissa

  • Last week:
    • Wrote a NotImplemented busio.OneWire class for Blinka
    • Fixed the pins for an old Raspberry Pi Model A in Blinka
    • Wrote Weather Demo for John Park
    • Performed code reviews on GitHub
    • Wrote Adafruit_Python_Shell library to help with Shell to Python script conversions
    • Updated a couple of scripts to use this library
    • Made a few improvements to the MatrixPortal library based on Feedback
    • Wrote a Quick demo using MatrixPortal library for Phil B that looks up the current moon phase
    • Started working on next demo for John Park which uses Adafruit IO
    • Added a receive_all_data() function to the CircuitPython Adafruit IO library
    • Added Kaluga and updated a bunch of boards on CircuitPython.org with missing images
    • Did some testing on latest Raspberry Pi OS with a PITFT display I had on hand
  • This Week:
    • Test and wrap up some pending changes to the MatrixPortal library and get that released
    • Finish up writing demo
    • Work on some more Shell Script conversions
    • Finish testing some more PRs

@Mark (Gamblor) [lurking]

@Mr. Certainly [lurking]

35:48 @tannewt

  • Native_wifi PR is out and waiting for review.
  • Added unit tests for Requests module. Going to integrate them into http11 branch.
  • Kaluga PR is out.
  • Expecting lots of small things going forwards.
  • Outside of CircuitPython:
    • Been brainstorming Debug Edge
    • Trying to do ElectionCal.US then next few weeks.

@anecdata (lurking)

@anne (lurking)

@cater (lurking)

@charlesburnaford (lurking)

39:14 @danh

  • Submitted _bleio HCI PR and companion adafruit_ble library PR. Revised it based on @tannewts review.
  • Did 6.0.0-alpha.3 release.
  • Concatenated and cleaned up AWS S3 download logs.
  • To do:
    • Review @tannewts ESP32-S2 wifi PR.
    • After that is merged, probably will do a beta.0 release.
    • Revisit blinka-bleio to document exactly what is working and what is not, on different platforms. Maybe fix some things on Mac (convert UUIDs to fake MAC addresses).
    • Longer term: add central support to _bleio HCI.

@dave p (lurking)

42:37 @David.Glaude (lurking)

  • Testing my Keyboard Feather Wing. (Left Shift and Right Shift are indistinguishable, so I may need to update the firmware)
  • Trying to make an indoor/outdoor sensor with Adafruit_CircuitPython_BLE_Adafruit (gave up).
  • Putting a Feather nRF52840 Sense into a balloon later inflated for science, monitoring using “Web Bluetooth Dashboard”. (Summary: pressure and humidity increase).
  • Same balloon that change colour when squeezed: https://twitter.com/DavidGlaude/status/1300490342689648642?s=20
  • Failed to do "Feather M4 Express" + "RGB Matrix Featherwing for M4 Feathers" + "Feather Wing AirLift" … because there are conflicting pins.

@deshipu (lurking)

43:28 @foamyguy (lurking today)

  • Last week
    • Testing PR for bitmap_label mutability
    • Made a pass through many libraries to create releases from the recent PyLint updates
    • Added bitmap_label to JSON display layout library. And “kick the tires” a bit by creating a multi-function timer gadget with a Minitft Feathering
    • Got an overhead camera set up at my desk to start working on more video content
  • Next week
    • Starting work on examples and a guide for multi-tasking with Circuit Python.
    • Finish up the Timer gadget and record some videos showing it and the code.
    • Starting a series of video tutorials to teach the basics of programming with a Circuit Playground.

44:17 @hierophect:

  • Last week:
    • Meowbit display bug / null reference / LSE issue
    • Circuitpython SPI/SD card read problem
    • ESP32 random, fix bug in STM32 implementation
    • Fixed makefile comment problem with build flags, investigated ulab (too big for right now)
    • Fixing null reference exception that pops up for ESP32 somewhere in DisplayIO, probably stack corruption
  • This week:
    • Get GDB running on the ESP32-S2
    • Track down this stack corruption thing
    • F1 Flash
    • RotaryIO on both the STM32 and ESP32
    • On-demand debugging as Wifi gets worked in.

@Jayguitar (lurking)

47:08 @jepler

  • Last week:
    • Mostly _canio. Still havent transmitted or received a packet, but most HW registers should be set up properly on SAM E54
    • Switched to rgbmatrix bugs on Friday
  • This week:
    • Wrapping up rgbmatrix bugs
    • Returning to _canio when thats through
    • Need to investigate reliability problems of sdioio that I encountered on a stm32f405 feather -- occur multiple times per hour using displayio to show bitmaps from SD card. First thing to check: if I swap SD cards does it go away?
  • Fun stuff:

48:36 @jerryn

  • Helped with porting rfm69/9x libraries to MicroPython -- they are now working!
  • RFM69 size reduction work is working -- pending resolution of SPI baud rate change
    • Still trying to understand why SPI transactions are so slow -- will ask in “weeds”
    • Ready to add to feather_m0_rfm69 build once library updated.
  • Started playing with HCI BLE implementation in the ESP32 NINA Firmware
  • Is SPI on ESP32S2 broken? Could not access RFM9x board.

52:02 In The Weeds

52:33 @kattni - Good first issues for October.

58:50 @jerryn -- why are SPI transactions so slow under CP? With a typical usage -- the “setup” “with self._device as device” takes a long time ( ~1ms on an M0)

    with self._device as device:
        self._BUFFER[0] = address & 0x7F  # Strip out top bit to set 0
        # value (read).
        device.write(self._BUFFER, end=1)
        device.readinto(buf, end=length)

This is called for every transaction so polling a register has significant delays. Is this unavoidable? Is it a problem? With Arduino there are only a few microseconds between transactions.

1:08:50 @jepler - is reading a hw register faster than reading from RAM? One of them uses floating point math.

1:17:55 Wrap-Up