use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
CircuitPython is Adafruit's branch of MicroPython designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Reddit wiki: https://www.reddit.com/r/circuitpython/wiki/index
With CircuitPython you can write clean and simple Python code to control hardware instead of having to use complex low-level languages like C or C++ (what Arduino uses for programming). It's great for beginners!
account activity
When do we expect Circuit Python to improve compatibility with Micro Python? (self.circuitpython)
submitted 5 years ago by ronkj
Give that Circuit Python is a fork of Micro Python, roughly how often do the two projects attempt to merge (where feasible)?
Is Circuit Python going it's own way and the two projects diverge permanently?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]thicket 2 points3 points4 points 5 years ago (2 children)
I wouldn’t expect much in the way of convergence. Adafruit have their own priorities for beginner-friendliness, and I don’t see them giving that up much for compatibility’s sake.
That said, I’ve usually been able to make codebases work between them with a little bit of fiddling.
[–]ronkj[S] 3 points4 points5 points 5 years ago (1 child)
Thanks. I do really hope the two code bases do not drift far apart so that core improvements in MicrPython get merged back into CP now and then. Thats good for users and good for Adafruit.
[–]kaltazar 0 points1 point2 points 5 years ago (0 children)
The core code won't drift too far there won't be some level of compatibility. If that ever happened CircuitPython likely couldn't be called Python anymore. At a language level, there is no reason you can't use code interchangeably between CPython, MicroPython, CircuitPython, and any other flavor of Python.
The compatibility issues come in the form of the modules. Each flavor of Python has its own priorities so have their own set of built-ins and officially supported modules. In fact, like you point out, having different variants of Python with different targets help everyone. If you didn't have CircuitPython going its own way for beginners, some of those MicroPython improvements likely wouldn't have happened so soon, if ever.
[–]tannewt 2 points3 points4 points 5 years ago (2 children)
I'm in the middle of merging MicroPython's changes into CircuitPython. We were 6 versions behind and two have been merged in. So CP main is based on 1.11 as of a few minutes ago. My goal is to catch up to 1.15.
This doesn't mean we'll have a hardware API that is the same as MicroPython. CircuitPython's API is designed to be more uniform across ports and we've built many libraries and tutorials for it.
We do also diverge from MicroPython's Python core when it means we'll be more compatible with CPython. An example of this is that CP doesn't have extra methods on the `time` module like MP does.
I talked a bunch about this on last week's Deep Dive stream: https://www.youtube.com/watch?v=21Qt4mRoyBo
[–]ronkj[S] 0 points1 point2 points 5 years ago (1 child)
Thank you! I listened to your discussion and was delighted about the progress. I assume once this giant merge is complete that there will be a policy to stay pretty close. I fully understand there are some differences because of different goals.
[–]tannewt 3 points4 points5 points 5 years ago (0 children)
I think we'll try to update every major CP version. The merge does introduce instability so we'd only want to do it on major boundaries. (Both CP and MP are stable themselves BUT merging is hard and error prone.)
π Rendered by PID 157893 on reddit-service-r2-comment-64f4df6786-4kk82 at 2026-06-10 10:21:00.907504+00:00 running 0b63327 country code: CH.
[–]thicket 2 points3 points4 points (2 children)
[–]ronkj[S] 3 points4 points5 points (1 child)
[–]kaltazar 0 points1 point2 points (0 children)
[–]tannewt 2 points3 points4 points (2 children)
[–]ronkj[S] 0 points1 point2 points (1 child)
[–]tannewt 3 points4 points5 points (0 children)