Plug a microcontroller in over USB and get a live REPL, a file explorer and a code editor, on your phone, your computer or right in the browser.
Open the web version · Desktop downloads
Terminal: a live MicroPython prompt. Run code, step through your command history, soft reset the board, or stop a script that's stuck in a loop.
Explorer: browse the board's storage. Create, rename, delete and run files, or import them from your device.
Editor: syntax highlighting, undo and redo, and keyboard shortcuts on desktop. Run a script on the board in one tap, and save it to the board or to any folder on your device.
Recent scripts: files you opened or saved come back in one tap, even after a restart.
Themes: 20+ themes that color the whole app, not just the code.
One app, three platforms: the same app and the same layout on Android, Windows, macOS, Linux and the browser, adapting to phones, tablets and wide desktop windows.
- A board flashed with MicroPython, and a USB cable
- One of:
- Android 7.0 or newer, with USB On-The-Go support
- Desktop: Windows, macOS or Linux
- Web: a browser with Web Serial, such as Chrome, Edge or Opera on desktop
- Boards: Raspberry Pi Pico, Pico W and ESP32
- Platforms: Android, Windows, Linux and Chrome
The app comes in two flavors: default has no analytics, and gms adds
Firebase Analytics and Crashlytics.
# debug build, installed on a connected device
./gradlew :androidApp:installDefaultDebug
# debug APK
./gradlew :androidApp:assembleDefaultDebug
The APKs land in androidApp/build/outputs/apk/. A release build is signed
when local.properties holds the RELEASE_* signing keys.
The desktop app draws its own title bar, follows the theme, and lists every serial port to connect to. Shortcuts in the editor: F5 runs, Ctrl/Cmd + S saves, + O opens and N starts a new script.
Linux: the first time a port can't be opened, the app asks for your permission to install a udev rule that gives every user access to USB serial ports.
# run from source
./gradlew :desktopApp:run
# installer for the current OS: .msi on Windows, .dmg on macOS, .deb on Linux
./gradlew :desktopApp:packageDistributionForCurrentOS
# a single runnable jar for the current OS
./gradlew :desktopApp:packageUberJarForCurrentOSThe packages land in desktopApp/build/compose/binaries/, and the jar in
desktopApp/build/compose/jars/. Each installer has to be built on its own OS.
Open the web version. Connect opens the browser's port picker, which lists only boards and USB-serial chips. Ports you allowed before come back on the next visit.
Web Serial works in Chrome, Edge and Opera on desktop, over HTTPS or
localhost.
# development server at http://localhost:8080
./gradlew :webApp:wasmJsBrowserDevelopmentRun
# production build
./gradlew :webApp:wasmJsBrowserDistributionThe production build lands in webApp/build/dist/wasmJs/productionExecutable/,
ready to host on any static server.
- Kotlin Multiplatform and Compose Multiplatform: one codebase for Android, Desktop and Web
- nemo-editor: the Compose code editor
- usb-serial-for-android: USB serial on Android
- jSerialComm: serial ports on Windows, macOS and Linux
- Web Serial API: serial ports in the browser
- FileKit: file pickers on every platform
- Koin: dependency injection
- Navigation 3: navigation
- Material Symbols: icons
Micro REPL is released under the MIT License.












