This certainly feels like magic... until you run out memory. It's probably more useful on microcontrollers with more than 32 kB of RAM.
Adafruit also have a python library called Blinka that enables you to use Circuit Python on devices such as the Raspberry Pi
CircuitPython: Programming Hardware in Python
81–87 of 87 posts
Re: CircuitPython: Programming Hardware in Python
#82I have a few of their boards and my experience with them could have been a lot better. Their documentation is rather poor. Parameters to function/constructors are often left out, leaving you to go through the source to figure out how stuff works. The standard modules can have different functions/variables between different boards. It makes sense since some boards have capabilities others don't. However there is no do…
I haven't touched any of the CircuitPython hardware libraries in... Well, something close to two years by now, I think. A lot has probably changed. Still, when I was last involved, placating pylint was consistently a hassle.
As I recall it squawks about things like identifiers that don't conform to snake_case. All well and good as a general stylistic suggestion, but not especially helpful when that's what the thing is called.
There may be some bad ideas lurking in places where those checks are disabled, but in general I blame no one for disabling one or more of its checks in service of greater readability or better code layout.
Re: CircuitPython: Programming Hardware in Python
#83Re: CircuitPython: Programming Hardware in Python
#84What adafruit board would be best for a beginner (at circuit python but long time developer otherwise) dad and his 8 year old kid?
Circuit Playground is the hardware product that goes hand in hand with CircuitPython , but you’ll probably want to program it using makecode instead. Version 2 called “Circuit Playground Express” is currently very popular. V1 is obsolete, and there’s a version 3 with Bluetooth. All of them are pre-built with sensors, RGB LEDs, and buttons. This removes a huge hurdle: no soldering required. (Soldering is a fun skill b…
Re: CircuitPython: Programming Hardware in Python
#85Earlier quoted context omitted.
Out of curiosity, what about this particular project made you opt for CircuitPython? Was it something targeting hobbyists and wanting to allow them to tinker with it? I'm not trying to put it down because I like CircuitPython, but I would not even consider it for a general production device.
> Out of curiosity, what about this particular project made you opt for CircuitPython? It was a nonprofit-style project without much wiggle room. We wanted to prove that an idea would or would not work in a small amount of time, which happily overlapped with the fact that the target environment for the device wouldn't require long periods of battery life. I'm happy to say that the project was a success so who knows,…
Re: CircuitPython: Programming Hardware in Python
#86Earlier quoted context omitted.
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…
I have played a bit with MicroPython and I had heard of CircuitPython but wasn't across the differences and reasoning behind the fork. Limor actually did the Sunday morning Keynote at the the Linux.Conf.Au conference held over last weekend where she went into into a lot of things that were around repeatability and accessibility especially for novice programmers. The video will have been recorded but yet to be publish…
Re: CircuitPython: Programming Hardware in Python
#87To 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…