Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Flint is distributed as source. You build the compiler from the repository, copy the binary to your PATH, and use flint directly from there.

Prerequisites

You need a working Rust toolchain. Flint itself has no other dependencies.

# Install Rust if you haven't already
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Build from Source

Clone the repository and build in release mode:

git clone https://codeberg.org/ewrogers/flint
cd flint
cargo build --release -p flint

Install

The compiled binary lands at target/release/flint. Copy it to somewhere on your PATH:

cp target/release/flint ~/.local/bin/   # Linux / macOS

Make sure ~/.local/bin (or wherever you placed it) is in your PATH. After this, flint works like any other command.

Verify the Installation

flint --version
flint --help

You should see the Flint version and command summary.

Supported Host Platforms

Flint’s compiler runs on:

  • macOS (Apple Silicon and Intel)
  • Linux (x86_64, aarch64, riscv64)
  • Windows (x86_64, experimental)

The compiler targets microcontrollers. The host you build on does not need to match the device you build for.

Flashing Tools (Optional)

Flint itself produces UF2, ELF, and BIN artifacts. To get code onto your board you can:

  • UF2 drag-and-drop: hold BOOTSEL on your Pico and copy the .uf2 file. No extra tools needed.
  • picotool: Raspberry Pi’s official tool for RP2040/RP2350 flashing.
  • probe-rs: cross-platform SWD/JTAG flashing and debugging, works with Pico Debug Probe.
  • OpenOCD: classic embedded debugging interface.

flint flash is planned as a built-in flashing command for future releases.