Live data from Hacker News

CircuitPython: Programming Hardware in Python

github.com

1–10 of 87 posts

Re: CircuitPython: Programming Hardware in Python

#6
post #2

To be fair, this is really mostly just a rebranded MicroPython...

While yes, its forked from MicroPython, saying it is just rebranded is almost like saying Ubuntu is just rebranded Debian.

The biggest difference is how they handle core modules... rather than having a per-port/board they have a common set of core modules. There are also a lot more of those modules and it seems to have a fairly robust set of hardware/boards that are supported.

I'll be the first to admit that I don't do a whole lot in either since the boards I work on are a bit resource constrained.

The other thing to note is that Adafruit is putting a ton of resources into CircuitPython, I see updates/improvements all the time from them in their git repo. The velocity in CircuitPython vs MicroPython appears to be significantly higher (and that by no means is a dig at MicroPython, I love their project and they have so much cool stuff going on).

Re: CircuitPython: Programming Hardware in Python

#7
post #5

Earlier quoted context omitted.

It has 7,000 more commits than MicroPython, to say it is a rebrand is unfair.

I read the readme differences, but any obvious benefits to one or the other?

Core modules are a bit better laid out, meaning you will have a more unified experience across different dev boards. Additionally, there are more boards that appear to be supported, but don't quote me on it. Things like os/time/filesystem stuff act how you would expect running cython. IIRC the big selling point is anything that you can run on CircuitPython you can run in cython, whereas with MicroPython some of the OS and time functions act differently, so might not work without code changes.

Re: CircuitPython: Programming Hardware in Python

#9
I've used CircuitPython for one production hardware project which is in the wild. Safe to say that the increased draw on the included battery and higher memory usage weren't a concern here, but they are both significant. Developer productivity is through the roof though.

I'd say the biggest pain points for me (unless I'm missing something/they've added more stuff recently) were created by the lack of support for what feel like production standards in software development. For example, the logging library is a toy, and unit testing is non-existent unless you isolate all your CircuitPython-specific code and run tests on your dev machine using CPython.

Re: CircuitPython: Programming Hardware in Python

#10
post #8

I know there’s some half decent support for ESP boards with MicroPython, is that also the case for Circuit? Getting Adafruit gear in Canada is prohibitively expensive in comparison unfortunately, as much as I’d like to support the creator.

Several ESP boards are supported [0].

[0] https://circuitpython.readthedocs.io/en/latest/shared-bindin...

Post reply on HN