Micro-Python update
Posted by kll on July 04 2026 07:06:34
usually use Arduino IDE on PICO and ESP boards,
but Circuit Python and Micro Python is a valid option.
Extended Blog
currently play with the
ESP32-C6
and just to be up to date want revisit

Micro Python





IDE

setup

tests

mini project Home-Page



IDE


Snakie


see at twitter try new
Snakie
download
Snakie-0.23.1-arm64.AppImage 140MB
move to ~/.appimage
make executable

./Snakie-0.23.1-arm64.AppImage
bash: ./Snakie-0.23.1-arm64.AppImage: cannot execute binary file: Exec format error
( might be for apple?)

download
Snakie-0.23.1.AppImage 140MB
move to ~/.appimage
make executable

./Snakie-0.23.1.AppImage
[46571:0704/074226.530024:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_SnakiepEamvA/chrome-sandbox is owned by root and has mode 4755.
Trace/breakpoint trap (core dumped) ./Snakie-0.23.1.AppImage


my bad, i was so confused, but got premium support from @kevsmac

download
snakie_0.23.1_amd64.deb 94MB
open with App Center / INSTALL






now see the new snakie site is up




also test install on RPI4 ( 64bit ) with

curl -sSL https://snakie.org/install.sh | bash
find installed under 'Programming' menu tab





now there is a web-version / app / in work,
means you just run it in a ?chrome? like browser, no local install needed
app.snakie.org

allow to talk to serial,
disconnect from simulation,
connect to your board serial port
and start coding
i used BRAVE browser on a Linux Ubuntu 26.04 PC






try

THONNY



wget -qO- https://thonny.org/installer-for-linux | bash
start from [show Apps] menu


setup



micropython for ESP32-C6
get ESP32_GENERIC_C6-20260406-v1.28.0.bin
but when we use Thonny not need to do that.



To flash MicroPython using the Thonny IDE, you can use its built-in firmware installer.
Follow these steps based on the type of microcontroller you are using.
📌 For ESP32 or ESP8266 Boards
Connect your board to your computer via a data-capable USB cable.
Launch the Thonny IDE.
Open the menu: Go to Tools > Options > Interpreter tab.Choose your chip: In the dropdown menu, select MicroPython (ESP32) or MicroPython (ESP8266).
Open the installer: Click the Install or update MicroPython link at the bottom right of that window.

Configure settings:Target port: Select the COM port your board is using.
MicroPython family: Match your specific hardware variant (e.g., standard ESP32, ESP32-S3, or ESP32-C3).
Variant & Version: Keep these on the default suggested or latest stable version.
Flash the board: Click Install.
Note: If the installation doesn't start instantly, press and hold the physical BOOT or FLASH button on your ESP board for a few seconds.









tests


and try some RGB Blink code




while already with Arduino IDE and ESP32-C6 see bad 1Mloop timing
now here under MicroPython a disaster
to count to 1.000.000 need 6 .. 7 sec




now doing same with Arduino IDE already show that that board is 10 times slower as a ESP32-S3
but here under MicroPython it is not only the
while True:
loop1M += 1
if ...

ADD and IF what takes time, it is the MicroPython interpreter system-work between each loop what adds up



what happens when we do the 1 .. 1.000.000 inside one loop ( as in a FOR ) and measure start end with microseconds tick function
i see 3.4 sec






now there is the idea of using inline asm code,

+ + ok, that comes from some discussion about
"my" benchmark loop counting idea ( to compare board and systems ( Arduino / MicroPython / CircuitPython )
what was misunderstood as a unfair critique of MicroPython
and Matt Trentini answered with that idea: a absurdly fast
inline asm counting loop

recently Kevin McAleer ( the creator of above 'snakie' IDE )
brought that inline asm idea up again.



but as i read that "inline asm" is for arm only, it not work on ESP32-C6

but there is a pre-compile feature viper




so without it ( but using a def function only instead of the above code ) already get down to 2.5 sec
now
with the viper it is impressive 0.1 sec



try a SSL webserver example here


and esp as i only try on PICO, now test on ESP32-C6
asyncio




now as you can see, there is a long and a short line alternating? skips a second?
but i like the structure of the code
very PLC thinking ( but NOT the PLC coding style )
+ a 1sec tick ( like for the BLINK ... )
+ a 1 min tick ( like for MQTT later )



mini project Home-Page



* use a wifi login in boot.py
incl a fix IP there, but with wifi credentials in settings.py

* make a rgb.py
+ + a RGB sin wave ( soft )
but trigger change 0.1 of 2PI only every second / by async seconds tick / not that smooth

+ + make a web-server ( home page )
see html.py
i have for (Micro/Circuit)-Python and Arduino IDE,
the 'login for operate' thing only in the Arduino version, see later
here esp try the async web-server
ntptime lib allow a network time update ( i do in a new 1h async cycle-task )

add a RGB LED operation ( html.py )
+ ON
+ OFF
+ brightness slider

the ESP32-C6 comes with 16MB flash,
so media content for HTML web-site is limited, better link ( like pictures .. ) from cloud servers.

and a pio.py
to read 4 Ain [GPIO 0 ..3 ] and cpu temp
trigger by html [Fetch value] button




still fighting with the
OPERATION LOGIN