explaingit

razz19/exort

80SvelteAudience · vibe coderComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

Electron desktop IDE for Arduino, ESP32, RP2040, STM32, and Teensy boards with an OpenCode AI agent, board manager, serial monitor, and built in plotter.

Mindmap

mindmap
  root((Exort))
    Inputs
      Sketch files
      Board choice
      Serial port
      AI prompts
    Outputs
      Compiled firmware
      Uploaded board
      Serial logs
      Plot graphs
    Use Cases
      Edit and flash microcontroller code
      Debug sensors with a plotter
      Use AI to write embedded code
    Tech Stack
      Electron
      Svelte
      Monaco
      Node.js
      Arduino CLI

Things people build with this

USE CASE 1

Edit, compile, and flash code to an ESP32 or Arduino without leaving the app

USE CASE 2

Ask an AI agent to explain or rewrite a sketch with full workspace context

USE CASE 3

Calibrate a sensor by graphing live serial values in the built in plotter

USE CASE 4

Switch between multiple board projects with per workspace AI chat history

Tech stack

ElectronSvelteMonacoNode.jsArduino CLI

Getting it running

Difficulty · moderate Time to first run · 30min

Prebuilt downloads work in minutes, but running from source needs Node.js 20, npm 10, and platform native build tools for Electron.

AGPL-3.0-only, you can use and modify the code but any modified or network served version must also be released as open source under the same license.

In plain English

Exort is a free, open source desktop application for people who write code that runs on small hardware boards like Arduino, ESP32, ESP8266, RP2040, STM32, and Teensy. The README describes it as an AI coding workspace for microcontrollers. The point is to keep editing, compiling, uploading to a board, and watching what the board prints all in one app, with an AI coding agent built in. The AI side is powered by something called OpenCode. Exort ships with included free OpenCode models, but the user can also plug in their own provider setup such as ChatGPT or other OpenCode compatible providers. The agent can inspect the workspace, explain code, edit files, and generally help with the back and forth of embedded development. The core feature list in the README covers a project manager for switching between local workspaces with persisted state, a board manager that installs and manages Arduino CLI board platforms and cores, automatic and manual compile and upload, a serial monitor for reading live device output, and a serial plotter that graphs numeric data streams for things like sensor calibration. Chat history and workspace sessions are stored locally, per workspace. Under the hood Exort is an Electron desktop app with a Svelte and Monaco based UI. The README shows a diagram explaining that the renderer UI does not touch files, serial ports, or Arduino tools directly. Instead it talks to the Electron main process through a preload IPC layer called window.electronAPI, and the main process owns the OpenCode agent runtime, the custom Arduino tools, the serial handler, and the local app state. The Arduino CLI is the tool used to talk to physical boards. The app can be downloaded as a build from exort.dev or from GitHub releases. To run it from source the README asks for Node.js 20 or newer, npm 10 or newer, git, and the platform build tools needed by Electron and any native Node modules. The standard flow is git clone, npm install, npm run dev. The recommended workflow walks through opening a folder, asking the agent to inspect or change code, picking the board and serial port, compiling, uploading, and watching output. The license is AGPL-3.0-only.

Copy-paste prompts

Prompt 1
Walk me through running Exort from source with Node.js 20 and connecting to an ESP32 dev board
Prompt 2
Show me how to plug a custom OpenCode compatible provider like my own OpenAI key into Exort
Prompt 3
Help me set up a serial plotter view in Exort to graph two analog sensor values at once
Prompt 4
Explain how Exort's main process owns the Arduino CLI and serial handler while Svelte handles only the UI
Prompt 5
Sketch a workflow where I ask the Exort AI to convert a blink sketch into a PWM fader and upload it
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.