Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
CircuitPython 2019

CircuitPython 2019

In response to the request for feedback...an excellent idea by the way!

Improved compatibility with MicroPython

My main wish for CircuitPython in 2019 is to bring it closer in compatibility with MicroPython - or at least not to diverge further!

While they are clearly 'cousins' the two dialects differ enough that beginners are inevitably confused when trying to choose between the two - and are typically perplexed as to why there's any difference at all.

I understand why there's a difference but it seems greater than it needs to be. And the two communities could help each other out more rather than have a faint air of hostility.

In particular it's very difficult to write a peripheral driver that works for both dialects. This is a huge missed opportunity.

For my part I'm happy to offer my time to anyone from the CircuitPython community that wishesto bring the languages closer together.

displayio

I'm super keen to see what comes of the displayio module. Controlling displays is great in a language like Micro/CircuitPython but it's currently a hodgepodge of useful libraries that don't really play well together (framebuf, Loboris' display, Adafruit Graphics library etc).

A common way to describe displays and allow the rendering of widgets and fonts is an obvious hole in the ecosystem and, if executed well, will be a tremendously useful library.

If MicroPython compatibility is carefully considered I am likely to contribute.

LoRa support

I personally see a number of requests for LoRa support. Although this has begun it could be taken a lot further. I think this is a big growth area and it would be great to have solid CircuitPython support.

Video content

For me, video contentis ineffective. Inparticular the weekly meetings are just too slow and tedious to consume. I realise I'm probably in the minority here but I would really prefer more written communication.

Network connected devices

The vast majority of my projects require internet connectivity. So I'm using the ESP32 with MicroPython for most of my work. Although MicroPython's philosophy personally fits me better anyway, not having a good network-connected device rules CircuitPython out of many projects where it could be considered. And while I would recommend CircuitPython to beginners, it's difficult to when there are no good connected devices.

For the record, using a separate network chip (even ESP32) and communciating with it using AT commands is not a good enough solution for me.

In short a CircuitPython device with native internet connectivity would be highly desirable.

Small devices

I love the form factor of the Trinket! And the Itsy Bitsy M4 strikes a great balance between small and powerful. Small devices are very attractive to me - it's why I helped create TinyPICO!

Feathers are great because of the FeatherWing support but I do wish they were smaller. More Itsy Bity shields? Better still: a Trinket M4 would be awesome!

RISC-V and FPGA's

I'm closely following the efforts to make MicroPython work on RISC-V, particularly implemented as a soft-core on an FPGA (like the TinyFPGA BX).

I'd be very interested if CircuitPython were available for a RISC-V core.

What's working

The focus on fostering an inclusive, welcoming community has been a tremendous success. New users are treated with respect, patience and courtesy. Adafruit have fostered a wonderful environment!

Documentation is excellent. Tutorials and reference documentation is thorough and well written.

Excluding a device with network connectivity, the CircuitPython hardware has been excellent! Not cheap but fantastic quality and generally worth the extra cost.

The library bundle is great, very thorough. Easy to geet started with a large number of peripherals. Though I've found the quality of implementationof each library varies quite a lot.

The Python for Microcontrolers newsletter is a terrific resource. Please keep it up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment