2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00
2025-12-12 07:47:07 +01:00

Armbian logo

Armbian Imager

The official tool for flashing Armbian OS to your single-board computer

Release License Armbian

Why?FeaturesDownloadHow it worksDevelopment


Why Armbian Imager?

Getting started with single-board computers shouldn't be complicated. Yet, for years, the process of flashing an OS image involved:

  • Hunting for the right image across multiple download pages
  • Manually verifying checksums to ensure file integrity
  • Using generic tools that don't understand SBC specifics
  • Risk of bricking your main drive with poorly designed software

Armbian Imager changes everything.

We built this tool because the Armbian community deserves a first-class experience. With 185+ supported boards from 70+ manufacturers, finding and flashing the right image should be effortless—and now it is.

The Vision

Inspired by the simplicity of Raspberry Pi Imager, we wanted to bring that same polished experience to the broader SBC ecosystem. But we didn't just copy—we innovated:

  • Native performance with Rust and Tauri (not Electron's 200MB+ overhead)
  • Touch ID support on macOS for seamless authentication
  • Real board photos scraped directly from armbian.com
  • Smart filtering by kernel type, desktop environment, and release channel

Features

Feature Description
185+ Boards Browse every Armbian-supported SBC, organized by manufacturer
Smart Filtering Filter by stable/nightly, desktop/server, kernel variant
Safe by Design System disks are automatically excluded—no accidents
Verified Writes Read-back verification ensures your flash is perfect
Custom Images Use your own .img or .img.xz files
Touch ID Authenticate with biometrics on macOS
Light/Dark Mode Follows your system preference
Tiny Footprint ~15MB app size vs 200MB+ for Electron alternatives

Download


macOS

Windows

Linux
Intel & Apple Silicon
.dmg
x64
.msi / .exe
x64 & ARM64
.deb

How It Works

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│   1. SELECT          2. SELECT         3. SELECT      4. FLASH  │
│   MANUFACTURER       BOARD             IMAGE          & VERIFY  │
│                                                                 │
│   ┌─────────┐       ┌─────────┐       ┌─────────┐    ┌───────┐ │
│   │ Orange  │  →    │ Pi 5    │  →    │ Bookworm│ →  │  ██   │ │
│   │ Pi      │       │         │       │ Desktop │    │ ████  │ │
│   │ Khadas  │       │ Pi 4    │       │ Minimal │    │ ████  │ │
│   │ Radxa   │       │ Zero 3  │       │ Nightly │    │ 100%  │ │
│   └─────────┘       └─────────┘       └─────────┘    └───────┘ │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
  1. Select Manufacturer — Choose from 70+ SBC manufacturers or load a custom image
  2. Select Board — Pick your board with real photos from armbian.com
  3. Select Image — Choose desktop/server, kernel variant, stable/nightly
  4. Flash — Download, decompress, write, and verify automatically

Tech Stack

Built with modern technologies for optimal performance:

Layer Technology Why
UI React 19 + TypeScript Type-safe, component-based UI
Bundler Vite 7 Lightning-fast HMR and builds
Framework Tauri 2 Native performance, tiny bundle
Backend Rust Memory-safe, blazing fast I/O
Async Tokio Efficient concurrent downloads

Why Tauri over Electron?

Metric Armbian Imager (Tauri) Typical Electron App
App Size ~15 MB 150-200 MB
RAM Usage ~50 MB 200-400 MB
Startup < 1 second 2-5 seconds
Native Feel Uses system webview Bundles Chromium

Platform Support

Platform Architecture Status Notes
macOS Intel x64 Full support
macOS Apple Silicon Native ARM64 + Touch ID
Windows x64 Admin elevation via UAC
Linux x64 pkexec for privileges
Linux ARM64 Native ARM64 build

Development

Prerequisites

  • Node.js 20+ (LTS recommended)
  • Rust 1.77+ (install via rustup)
  • Platform tools: Xcode (macOS), Visual Studio Build Tools (Windows), or build-essential (Linux)

Quick Start

# Clone
git clone https://github.com/armbian/armbian-imager.git
cd armbian-imager

# Install dependencies
npm install

# Run in development mode
npm run tauri:dev

# Build for production
npm run tauri:build

Available Scripts

# Development
npm run dev              # Frontend only (Vite)
npm run tauri:dev        # Full app with hot reload

# Production
npm run build            # Build frontend
npm run tauri:build      # Build distributable

# Utilities
npm run lint             # ESLint
npm run clean            # Clean all build artifacts

Build Scripts

# Platform-specific builds (output in releases/)
./scripts/build-macos.sh [--clean] [--dev]   # macOS ARM64 + x64
./scripts/build-linux.sh [--clean] [--dev]   # Linux x64 + ARM64
./scripts/build-all.sh   [--clean] [--dev]   # All platforms
Project Structure
armbian-imager/
├── src/                          # React Frontend
│   ├── components/               # UI Components
│   │   ├── Header.tsx            # Progress steps header
│   │   ├── HomePage.tsx          # Main wizard interface
│   │   ├── ManufacturerModal.tsx # Manufacturer selection
│   │   ├── BoardModal.tsx        # Board selection
│   │   ├── ImageModal.tsx        # Image selection
│   │   ├── DeviceModal.tsx       # Device selection
│   │   └── FlashProgress/        # Flash operation UI
│   ├── hooks/                    # React Hooks
│   ├── config/                   # Configuration
│   ├── styles/                   # Modular CSS
│   └── assets/                   # Images and logos
│
├── src-tauri/                    # Rust Backend
│   ├── src/
│   │   ├── commands/             # Tauri IPC handlers
│   │   ├── devices/              # Platform device detection
│   │   ├── flash/                # Platform flash implementation
│   │   ├── images/               # Image management
│   │   └── utils/                # Utilities
│   ├── icons/                    # App icons
│   └── tauri.conf.json           # Tauri configuration
│
├── scripts/                      # Build scripts
└── .github/workflows/            # CI/CD

Data Sources

Data Source
Board List github.armbian.com/all-images.json
Board Photos Scraped from armbian.com board pages
Checksums Embedded in image metadata

Contributing

We welcome contributions! Whether it's:

  • 🐛 Bug reports — Found an issue? Open a ticket
  • 💡 Feature requests — Have an idea? Let's discuss it
  • 🔧 Pull requests — Code improvements are always welcome
  • 📖 Documentation — Help others get started

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is part of the Armbian ecosystem and is licensed under the GPLv2.

Acknowledgments


Made with ❤️ by the Armbian community

Languages
Rust 36.7%
TypeScript 35.9%
CSS 17.3%
Shell 5.9%
JavaScript 2.8%
Other 1.3%