n.b. - The project presented below is community-member-contributed. While the project aims to uphold the quality of an official port, it does not represent an officially-supported CircuitPython port to web assembly.
Want to try out a bit of code but don't have a CircuitPython board on hand?
Try out the browser-based CircuitPython WASM port!
This overhaul of the WASM port is built using the wasi-sdk and uses web assembly, an emerging technology finding increasing support in web browsers.
Here's what you can expect:
Immediately above the text area of the editor:
1.) A menu of sample options, including one to edit yourself;
2.) Runtime controls to 'Run' currently-displayed code, activate the 'REPL' area below, or 'Stop' execution
Clicking 'Run' with 'My Code' displayed will save that code for your next visit to the webpage.
Toggle between the selection-friendly 'Serial' view or type into the board's built-in 'Display.'
(Yes, that's running displayio to create what you see)
Updates to some elements in code can be seen represented in the interactive SVG-based board.
Work is underway to add support for reading mocked sensor data.
Not tested in all browsers, but this port ought to be compatible with the most popular ones. Activating extra features in your browser may be required.
You can always hit the universal reset button to the left of your browser's address bar if things go wrong.
The repo is available at the following link:
https://github.com/johnnohj/circuitpython/tree/browser-board/ports/wasm
While this is very much an amateur work-in-progress project, I hope it's complete enough at this stage to be interesting and fun!
This page (CircuitPython-compatible WASM Port) was last updated on April 28, 2026.