cd /news/ai-tools/circuitpython-goes-turbo-with-precom… · home topics ai-tools article
[ARTICLE · art-128877] src=hackaday.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

CircuitPython Goes Turbo With Precompiled Functions

Mikey Sklar released CircuitPython Turbo, a project built with help from Anthropic's Claude LLM that adds precompiled 'native' and 'viper' execution modes to CircuitPython, the Adafruit-focused fork of MicroPython. According to Adafruit's documentation, a Metro RP2040 running the Mandelbrot set ran 3x faster in native mode and 19.7 times faster in viper mode than normal Python bytecode, with viper delivering 20x to 70x speedups depending on the workload. CircuitPython previously ran only in interpreted mode, and the new modes mirror MicroPython's existing Viper compiler, though inline assembly remains absent.

by read2 min views1 publishedSep 14, 2026
CircuitPython Goes Turbo With Precompiled Functions
Image: Hackaday (auto-discovered)

It would not be at all original to declare that Python is the new BASIC. Like BASIC, it has been the first programming language for a whole generation of coders, and its main advantage is that it’s quick and easy to write in. Like BASIC it is an interpreted language, and thus rather slow to execute.

Thus while CircuitPython can be very useful for beginners and quick projects, it hits the limitations of the hardware far sooner than it needs to — unless you can pre-compile critical parts of the code, which you now can, thanks to CircuitPython Turbo by [Mikey Sklar] with some help from Anthropic’s Claude LLM.

Now if that sounds a lot like MicroPython’s ‘Viper’ and machine-code compiler, that’s because it is. CircuitPython is a fork of MicroPython with some handy extras on Adafruit boards, but Viper wasn’t one of them until now. Before the Turbo version, CircuitPython only ran in interpreted mode.

Like MicroPython, using CircuitPython Turbo you can flag sections to run as ‘native’, where instructions are compiled but values stay as python objects, which gets you about a 3X speedup. A little more rewriting to declare your variables and pointers and you can use ‘viper’ mode, which can — depending on what you’re up to — result in a 20x to 70x speedup. In Adafruit’s documentation, they demonstrate a Metro RP2040 calculating the Mandelbrot set 3x faster in Native and 19.7 times faster with Viper than normal Python bytecode.

The one thing that we miss from BASIC that CircuitPython Turbo doesn’t give is inline assembly– though interestingly enough, that is in the upstream MicroPython implementation, so perhaps its day will come here too. Not every job is suited to the use of Python on microcontrollers, but we’ve seen it used for everything from e-bikes to a Winamp-inspired music player.

── more in #ai-tools 4 stories · sorted by recency
── more on @circuitpython turbo 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/circuitpython-goes-t…] indexed:0 read:2min 2026-09-14 ·