ByteScope

MicroPython Web IDE

Program MicroPython and CircuitPython boards from the browser — REPL, code editor and file manager, nothing to install.

Talks to your board locally over Web Serial — no code leaves your browser.

Checking browser support…

About this tool

This is a browser-based IDE for boards that run a Python interpreter on-device — MicroPython (ESP32, Raspberry Pi Pico, micro:bit, and more) and CircuitPython (Adafruit boards). Because the interpreter already lives on the board, your .py files run directly with no compile step: the classic limitation that a browser can't build C/C++ firmware simply doesn't apply here. Connect over the Web Serial API, and the code editor, REPL terminal and file manager all talk to the board locally — nothing is uploaded to a server.

How it works

The tool speaks MicroPython's raw REPL protocol. When you press Run, it interrupts whatever is executing, switches the board into raw REPL, streams your code over raw-paste mode (window flow-controlled, so a large script transfers cleanly without the friendly REPL's auto-indent mangling it), runs it, and pipes the output straight back to the terminal. Ctrl-C interrupts a running program; Ctrl-D triggers a soft reset. On-device filesystem operations — list, read, write, delete — are performed by running small Python snippets over the same channel and parsing what the board prints.

Files and autorun

The file manager lists what's on the board and lets you edit, upload, download and delete files. Save an editor tab as main.py (or code.py on CircuitPython) and the board runs it automatically on the next reset — the whole point of these boards. CircuitPython note: when your computer has the CIRCUITPY USB drive mounted writable, the board mounts its own filesystem read-only, so writes from the web fail until you eject the drive; the tool detects the flavor and explains this.

Examples and snippets

A starter library covers the usual first steps — blink an LED, read an analog sensor, connect to Wi-Fi, stream numbers to the live plotter — loadable in one click. Snippets you write yourself are saved in your browser's localStorage and never leave the device.

Frequently asked questions

Which boards and browsers does this work with?

Any board running MicroPython or CircuitPython that appears as a USB serial device: ESP32/ESP8266, Raspberry Pi Pico, micro:bit, Adafruit Feather/QT Py, and many others. It needs a Chromium browser (Chrome, Edge or Opera on desktop; Chrome 148+ on Android) because the Web Serial API is Chromium-only — Safari and Firefox do not implement it.

Do I need to install anything, like Python or drivers?

No Python, no IDE, no toolchain. The interpreter is already on the board. On macOS, Linux and ChromeOS the board is recognised with no driver step; on Windows you may need the CH340 or CP210x USB-serial driver for some boards, which is the same driver the Arduino IDE uses.

What's the difference between MicroPython and CircuitPython here?

Both run over the same raw REPL, so the editor and terminal work identically. The differences are the autorun file (main.py vs code.py) and the filesystem: CircuitPython exposes a USB drive that goes read-only to the board while your computer can write to it. The tool detects which flavor you're connected to and adjusts.

Can I make my code run on boot?

Yes — save it as main.py (MicroPython) or code.py (CircuitPython) from the file manager, then reset the board. That file runs automatically on every power-up. Use boot.py for setup that must happen before main.

Can it install packages (mip / circup)?

For MicroPython, yes: the tool can run mip.install() over the REPL, which fetches a package to the board — this needs the board to be connected to Wi-Fi. circup, CircuitPython's package manager, is a desktop program with no in-REPL equivalent, so installing CircuitPython libraries from the web is out of scope; download the library bundle to the CIRCUITPY drive instead.

Is my code uploaded anywhere?

No. Everything runs locally between your browser and the board over Web Serial. Your code, the board's files and the REPL session never touch a server. Snippets you save are kept in your browser only.