Command line tool
Flash in your terminal.
The Flash platform as a command-line tool. Point it at a firmware project and generate, build, and debug for your exact board — without leaving the shell.
$ curl -fsSL https://flash1402225.gitlab.io/flash/install | bashmacOS · Linux · WSLIllustrative mock of the Flash terminal UI: a chat transcript adding a BME280 i2c driver — plan, datasheet lookup, a file edit awaiting approval, the build and the serial read — next to a board panel with the Platform, System and Peripherals views.
- 1resolve BME280 · datasheet from cache
- 2add component bme280 — i2c driver + 2 s sampling task
- 3build for esp32c6 · flash · verify on serial
Allow edit? components/bme280/bme280.c
- yes, and don't ask again for this file
- yes, once
- no, tell Flash what to do differently
↑↓ move · ↵ confirm · esc deny
I bme280: 24.8 C · 41 %RH
ESP32-C6normalized
The Flash TUI — switch between Project, Build, Debug and Settings; click the active tab to collapse the panel. Detected context is illustrative.
What it does
Reads your project context
Schematics, datasheets, SDKs, existing code, and build logs become deterministic hardware context the agent can reason over.
Generates for your exact board
Pins, buses, peripherals, clocks, and constraints — mapped to your SDK version, build system, and project structure.
Closes the build–debug loop
Flash reads compiler output, runtime errors, and debug logs, then iterates without you pasting errors into a new prompt.
Local, private, or hybrid models
Run entirely on local models inside your security boundary, or route to cloud models when you choose — your call, per task.
Scriptable and CI-friendly
A plain command-line interface composes with your shell, Makefiles, and pipelines — no GUI in the loop.
Keeps project memory
Context persists across bring-up, integration, and debugging instead of starting from zero every session.
In the session
| Command | What it does |
|---|---|
/init | Index the project, detect the platform and write FLASH.md |
/model · /provider | Pick the brain — local runtime or cloud provider, per session |
/mode | Interaction mode: normal, plan, teach, debug |
/build · /debug | Open the build or the serial/MQTT panel next to the chat |
/peripherals | Component inventory — add, resolve and attach datasheets |
! bash · @file | Run a shell command, or attach a file from the visual browser |
Why the CLI first
Firmware work already lives in the terminal — build systems, flashing tools, debuggers, and version control. The command-line tool meets that workflow instead of replacing it, so Flash drops into the loop you already run.
It also runs where your code has to: over SSH on a build server, inside a container, or on an air-gapped machine with local models only. Nothing about the interface assumes a connection to a public AI API.
- 11+
- MCU vendor SDKs
- 12+
- RTOS & embedded platforms
- 6
- Schematic & EDA formats
- 0
- Data leaving your network on-prem