CircuitPython Turbo, built by Mikey Sklar with help from Anthropic's Claude, brings MicroPython's Viper compiler to CircuitPython for the first time. Before this, CircuitPython ran exclusively in interpreted mode. The gap is now closed.

The speedup is real and measurable. Flagging functions as 'native' yields roughly 3x faster execution. Switching to 'viper' mode, which requires explicit variable and pointer declarations, delivers 20x to 70x gains. Adafruit's own documentation shows a Metro RP2040 rendering the Mandelbrot set 19.7 times faster under Viper compared to standard Python bytecode.

One capability still missing is inline assembly, which exists in upstream MicroPython but has not made it into this implementation yet. That gap, and the architectural reasons CircuitPython forked from MicroPython in the first place, are worth understanding before you reach for Turbo on your next Adafruit project. Read the full Adafruit documentation and Sklar's GitHub repository to see exactly what rewriting your code for Viper actually costs.

[READ ORIGINAL →]