Skip to content

Latest commit

 

History

History
321 lines (240 loc) · 20.7 KB

File metadata and controls

321 lines (240 loc) · 20.7 KB

CircuitPython Weekly for Monday, January 3, 2022

Video is available 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 for use with standard calendar applications and can also be viewed in your browser.

If you want to be able to participate in the meeting by speaking, you will need to be added to the @circuitpythonistas role on Discord. Please ask any one of the moderators or admins to add you if you’d like to join.

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.

2:33 Community News

2:37 CircuitPython 7.1.0 Final and 7.2.0-alpha.1 Released

CircuitPython 7.1.0 Released

CircuitPython 7.1.0, the latest minor revision of CircuitPython, was just released - Adafruit Blog and GitHub. 7.2.0-alpha.1 Released CircuitPython 7.2.0-alpha.1 is the first published alpha release for CircuitPython 7.2.0. It is relatively stable, but there will be further additions and fixes before final release - Adafruit Blog. Check out the releases for more details on both!

3:28 CircuitPython in 2022

CircuitPython in 2022

As 2022 starts, let's take some time to share our goals for CircuitPython in 2022. Just like past years (full summary 2019, 2020, and 2021), we’d like everyone in the CircuitPython community to contribute by posting their thoughts to some public place on the Internet. Here are a few ways to post:

  • a video on YouTube
  • a post on the CircuitPython forum
  • a blog post on your site
  • a series of Tweets
  • a Gist on GitHub We want to hear from you. When you post, please add #CircuitPython2022 and email circuitpython2022@adafruit.com to let us know about your post so we can blog it up here. The post can cover any topic related to CircuitPython. See more at https://www.adafruit.com/circuitpython2022.

4:!5 Work in Progress: Floppy Disk Interfacing with Microcontrollers

Floppy disk I/O

Adafruit has been working diligently on using low cost microcontrollers to interface with floppy disk drives. There is active interest from the archival, maker and retrocomputer communities in working with floppy disks. Lots of folks want to get possibly valuable data off old disks. Ladyada has now developed Arduino code for the inexpensive Raspberry Pi Pico to work with 3.5" drives, with additional work on the way - Adafruit Blog. Adafruit Floppy

Adafruit Floppy is a project to make a flexible, full-stack, open source hardware/software device for reading, archiving, accessing and duplicating floppy disk media - GitHub.

4:55 Coding the Fibonacci Micro 64 Board with CircuitPython

Fibonacci Micro 64

John Gallaugher posts a video on programming the Evil Genius Labs Fibonacci Micro 64 LED board using CircuitPython - YouTube and code - GitHub. Fibonacci Micro 64

Jason Coon has coded a simple demonstration reel for the Fibonacci Micro 64 using CircuitPython. "It runs really well on the QT Py RP2040, much slower on the SAMD21 and requires adafruit_pypixelbuf.mpy." It uses palette blending via the FancyLED library - Twitter and GitHub.

5:40 Making a RISC-V Chip to Run CircuitPython

PyFive Project

The ultimate goal of the PyFive project is to create a RISC-V based microcontroller with the ability to easily support CircuitPython. They have received some early silicon the last week - Twitter Thread.

6:00 The CircuitPython Online IDE Updates

CircuitPython Online IDE

The third-party CircuitPython Online integrated development environment (IDE) has received enough changes/upgrades for the developer to post a new introduction video - YouTube. You can see and use the development environment here and the GitHub repo is here. The IDE supports Chrome or Chromium-based browsers such as Microsoft Edge. General editor shortcuts are in a document here.

6:28 KiCad 6.0.0 Out

KiCad 6.0.0 Out

KiCad, the open source electronic design automation package created by Jean-Pierre Charras in 1992, has hit a major milestone: the launch of KiCad 6.0.0, 30 years after the software's first release. The new release is available on the KiCad website, with downloads for a range of operating systems including Linux, macOS, and Windows available now; the source code, meanwhile, is published to GitLab - hackster.io.

7:00 Newsletter Details

The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are here. It highlights the latest Python on hardware related news from around the web including CircuitPython, Python and MicroPython developments. To contribute your own news or project, edit next week's draft on GitHub and submit a pull request with the changes. You may also tag a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.

7:47 State of CircuitPython, Libraries and Blinka

8:23 Overall

  • 34 pull requests merged
    • 23 authors - RetiredWizard, microDev1, prplz, tannewt, unwiredben, hexthat, FoamyGuy, dannystaple, bergdahl, dhalbert, PaintYourDragon, dbisu, Neradoc, weblate, 0hotpotman0, wtuemura, WarriorOfWire, gpshead, Daviey, jepler, KeithTheEE, tekktrik, CedarGroveStudios
    • 10 reviewers - ladyada, PaintYourDragon, microDev1, tannewt, DavePutz, FoamyGuy, jepler, KeithTheEE, dannystaple, dhalbert
  • 22 closed issues by 13 people, 21 opened by 19 people

9:10 Core

11:35 Libraries

13:50 Blinka

14:45 Hug reports

15:20 @kattni

  • Thank you to everyone involved in getting 7.1.0 final. That means EVERYONE, from core devs and Dan doing the release, all the way to folks using the pre-releases and letting us know whether or not it worked for them.
  • @foamyguy for continuing to get through older and current library PRs
  • @jepler for making some excellent suggestions regarding the boilerplate for this meeting to make it more concise and to the point.
  • Thank you to my moderators on Discord, and throughout the community for making it possible for me to take personal time without worrying about needing to take care of the community. This is an unbelievably important thing for all of us involved in moderating and building this community.
  • Looking forward to CircuitPython in 2022. Remember to let us know what you’d like to see, whether it’s more of the same, or suggestions for changes. It takes a community to develop CircuitPython!
  • Happy New Year and a group hug to the entire community!

17:05 @charlesBurnaford (lurking)

  • Group Hug and Happy New Years
  • @foamyguy for the Live stream on Friday

17:15 @CGrover (text only)

  • Group hug and congratulations to the team and community for the release of 7.1.0. Looking forward to all that 2022 will bring to the purple snake zone!

17:30 @danh

  • Echo kattni’s thanks to everyone involved in the 7.1.0 final release.
  • Thanks to everyone for a great 2021 CircuitPython year, looking forward to 2022.

17:58 @david.glaude (lurking):

  • Group hug for all the 2021 contributions in the core, library, documentation, translation, support, …
  • @LadyAda for the great Floppy Disk video series ((( can someone with control on Adafruit YouTube channel could ask the boss and do a playlist )))
  • @RetiredWizard for PyDos and PyBasic on PiZero2W ((( Maybe for the newsletter: https://www.youtube.com/watch?v=_skhZGujV98 )))

18:31 @foamyguy:

  • @dexter starboard for passing along a tip about the second USB serial channel available on circuitpython devices. And @danh for making the guide that shows how to do it.
  • @KeithTheEE for sharing some minecraft knowledge about commands to make it always day time
  • @tekktrik for taking on so many typing as well as other enhancement PRs across many libraries
  • @Noe & Pedro for working on CAD files of Adafruit parts. Very helpful for designing things to go along with hardware and more
  • @WarriorOfWire for making a new contains() feature for vectorio objects.
  • Group Hug

20:23 @jepler

  • @pt and @ladyada for dropping by last week
  • @danh for doing the legwork to release 7.1.0
  • All the people who contributed to CircuitPython in 2021. A very simplistic “all unique author names” check in the core gives 260 names, though some are duplicates. Still, that’s got to be 100+ hugs to 100+ contributors, again, counting just the core.

21:45 @jerryn

  • Group hug! Happy New Year!

22:00 @MakerMelissa

  • @danh for keeping up with the circuitpython.org updates over the break
  • @foamyguy for helping out with display stuff while I was gone
  • Discord for adding a “Suppress @everyone and @here” notification setting
  • Group Hug to everyone else

22:37 @mark(gamblor) [lurking]

  • Group hug and Happy New Year to everyone

22:45 Status Updates

23:05 @kattni

  • Last week:
    • Almost nothing work related - I decided ahead of time to remain somewhat caught up on email so I wasn’t greeted with a massive heap today, so I archived everything I didn’t need to deal with, and left the rest unread. Only 15 unread emails this morning, so I’d say the plan was successful.
    • Spent time with family
    • Went through a bout of organising and putting some things away
    • Setup new speakers in my office (still waiting on the subwoofer)
    • Got my booster!
    • Spent time recovering from booster
  • This week:
    • Finish up QT Py ESP32-S2 guide
    • Start Arcade STEMMA QT guide
    • Ensure Factory Reset templates are set for RP2040 and ESP32-S2, and are added to guides.
    • Make a decision on the IS31 updates
    • Write a template for asyncio

24:27 @MakerMelissa

  • Last 2 weeks
    • Wrapping up Blinka displayio restructuring changes
    • Out on a much needed holiday break
  • This Week
    • Get a PR for Blinka displayio submitted today
    • Add some missing boards to circuitpython.org
    • Work on adding littlefs support to WipperSnapper

25:03 @CGrover (text only)

  • Took a deep dive down the resistive touchscreen path after experiencing some spurious inaccurate button presses. After trying various filters, squelching, and hysteresis methods, it was found that the existing sampling logic just needed a slight tweak. The updated Adafruit_Touchscreen library is in the current bundle release.
  • As a byproduct of the touchscreen journey, I created a calibration helper that’s especially useful for screens with many active button areas – that inherently require increased accuracy. A screen’s calibration varies from device to device and needs special attention if the screen orientation is other than 0 degrees. The helper and initiation example can be found in this repo: https://github.com/CedarGroveStudios/Touchscreen_Calibrator
  • Getting back on track to complete the RPN portion of the retro “CG-35” calculator project. For the sake of historical accuracy, I’m resisting the overwhelming urge to convert it to algebraic entry and to right-justify the digit display.
  • Designing a stand-alone 6E5 “Magic Eye Tube” replica/replacement using a QT-Py2040 and 1.3” 240x240 TFT display. Still looking for a compatible 1.0” round TFT display. The goal is to make it as pin-compatible with the 6E5 vacuum tube as possible including operating from a typical plate power supply (125 to 250 volts). Hoping not to burn my fingers on this project.

26:29 @danh

  • Released 7.1.0 final and 7.2.0-alpha.1 last Tuesday, Dec 28.
  • Enhanced countio to count rising edges and/or falling edges, and enable pullups or pulldowns if requested.
  • Go into safe mode with a useful message if no CIRCUITPY.
  • Working on more sophisticated examples for asyncio. Have planned out a CO2 monitor with multiple notification modalities.
  • Followed up on a number of support issues, often to see if there was a CircuitPython core problem.

28:02 @david.glaude (lurking):

  • Adapted the “Disconnected CO2 Data Logger” from @Liz to my SCD-30, now I know the air quality in our room during the night. ((( It is made for SCD-40 )))
  • Found the screen of my CLUE broken, but Limor is selling a replacement so I will attempt that surgery. ((( I have mine since mid February 2020, but transporting too frequently with me in bags killed it. Right now it is like a Feather Sense NRF )))
  • Failed to order one of the 99 QT Py ESP32-S2. ((( I saw them, but due to postage+tax I always hesitate to order direct, missing the fun with new board )))
  • Removed all traces of old Python version on my PC and fresh install with latest circup working.
  • Updated most of my board to 7.1 and matching library.

28:57 @foamyguy

  • Started working on making a virtual RP2040 Feather inside of Minecraft that is “sync’d” with a real Feather plugged in to USB. Will be able to use redstone circuits in minecraft to interact with physical electronics connected to the real Feather. And use components connected to the real feather to interact with redstone circuits inside of minecraft connected to the same pin on the virtual feather. The individual PoC components of the project are all working, now need to bring everything together and add some visual enhancements to the virtual feather with different blocks
  • Continuing with PR reviews
  • Have acquired some toolboxes with separated compartments. Planning to organize the hardware that I have better with them

30:21 @jepler

  • Last week:
    • Finished up a LED lamp project, guide is live. No CircuitPython in this one
  • This week:
    • I’ve been drawn into the great winter floppy drive storm of winter 2021/2022. Hope to get the drive spinning & bits reading with CircuitPython soon.

30:58 @jerryn

  • Nothing substantive to report. Spent time playing with broadcom and esp32s3 builds just to get familiar. Made a trivial PR to broadcom build to initialize some pin settings. Has no real impact but made me feel useful ;-) In review. It was mostly to confirm I still had all the tools properly configured for a core PR. Success!

31:41 In The Weeds

@foamyguy https://learn.adafruit.com/adafruit-2-8-and-3-2-color-tft-touchscreen-breakout-v2/circuitpython-displayio-quickstart#using-touch-3036992-44

    This guide mentions that it doesn’t contain an example for using the touch input with circuitpython, but does link to two different libraries based on whether using capacitive or resistive touch. The Resistive touch links to STMPE610 library.


    My understanding is that STMPE610 library is “optional” and would only be used if you also have a STMPE610 breakout device. If you don’t have that breakout device then I think you could use the adafruit_touchscreen library which gets initialized with 4 analog pins that do seem to be included based on the silkscreen labels in the photos.


    Should the page be changed to point to adafruit_touchscreen in addition to or instead of the STMPE610 library? Also is there any interest in including a circuitpython demo on that page?
  • @makermelissa

    • Sure @foamyguy, makes sense. That may have been a mirrored page from the PiTFT, which might be why those were missing, but it should be fine to add anyways.
  • @jerryn

    • Makes sense for the board linked since it does not have an stmpe610 - not sure why it links to that library…
    • Some display do have the stmpe610 on board – tft featherwing for example
      • Also some of the ili9341 tft displays for raspberry pi.

36:58 @mark(gamblor) I can summarize the performance test I did on the IS31 work and put forward a couple options for providing interfaces to the native code.

  1. Include the LED->displayio mapping only. Create my own repo (or community) for anything else.
  2. Include what I have done (mapping and pixelbuffer) to get performance gains if wanted. Leave any changes to existing libraries (if wanted) to the future.

PRs are: adafruit/circuitpython#5726 and https://github.com/gamblor21/Adafruit_CircuitPython_IS31FL3741/tree/native_changes

41:51 Wrap-Up