Skip to content

The official Armbian flashing tool. Browse 307+ boards, download images, and flash SD cards with verified writes. Built with Tauri + Rust for native performance. Supports macOS (Touch ID), Windows, and Linux. 15 languages.

License

Notifications You must be signed in to change notification settings

SuperKali/armbian-imager

Repository files navigation

Armbian logo

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

Release License

Armbian Imager

Features

  • 307+ Boards — Browse every Armbian-supported SBC, organized by manufacturer
  • Smart Filtering — Filter by stable/nightly, desktop/server/minimal, kernel variant
  • Safe by Design — System disks are automatically excluded
  • Verified Writes — SHA256 read-back verification
  • Custom Images — Use your own .img, .img.xz, .img.gz, .img.bz2, .img.zst files
  • Touch ID — Biometric authentication on macOS
  • 15 Languages — Auto-detects system language
  • Light/Dark Mode — Follows your system preference
  • Device Hot-Swap — Automatically detects when devices are connected/disconnected
  • Log Upload — One-click error log upload to paste.armbian.com with QR code
  • Tiny Footprint — ~15MB app size vs 200MB+ for Electron alternatives

Download

macOS Windows Linux
Intel & Apple Silicon x64 & ARM64 x64 & ARM64
.dmg / .app.zip .exe / .msi .deb

macOS: First Launch

macOS may show a warning because the app is not signed with an Apple Developer certificate. To open it:

Option 1: Right-click the app → Open → Click Open in the dialog

Option 2: Run in Terminal:

xattr -cr "/Applications/Armbian Imager.app"

This only needs to be done once.

How It Works

  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

Platform Support

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

Supported Languages

English, Italian, German, French, Spanish, Portuguese, Dutch, Polish, Russian, Chinese, Japanese, Korean, Ukrainian, Turkish, Slovenian

Development

Prerequisites

  • Node.js 20+nodejs.org
  • Rust 1.77+rustup.rs
  • Platform tools — Xcode (macOS), Visual Studio Build Tools (Windows), build-essential (Linux)

Quick Start

git clone https://github.com/armbian/imager.git armbian-imager
cd armbian-imager
npm install
npm run tauri:dev

Scripts

npm run dev              # Frontend only (Vite)
npm run tauri:dev        # Full app with hot reload
npm run build            # Build frontend
npm run tauri:build      # Build distributable
npm run lint             # ESLint
npm run clean            # Clean all build artifacts

Build Scripts

./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

Tech Stack

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

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

Project Structure

Click to expand
armbian-imager/
├── src/                          # React Frontend
│   ├── components/               # UI Components
│   ├── hooks/                    # React Hooks
│   ├── config/                   # Configuration
│   ├── locales/                  # i18n translations (15 languages)
│   ├── styles/                   # Modular CSS
│   ├── types/                    # TypeScript interfaces
│   └── assets/                   # Images, logos, OS icons
│
├── src-tauri/                    # Rust Backend
│   ├── src/
│   │   ├── commands/             # Tauri IPC handlers
│   │   ├── devices/              # Platform device detection
│   │   ├── flash/                # Platform flash implementation
│   │   ├── images/               # Image management and filtering
│   │   ├── download.rs           # HTTP streaming downloads
│   │   ├── decompress.rs         # XZ/GZ/BZ2/ZST decompression
│   │   └── paste/                # Log upload
│   └── icons/                    # App icons (all platforms)
│
├── scripts/                      # Build scripts
└── .github/workflows/            # CI/CD

Data Sources

Data Source
Board List github.armbian.com/all-images.json
Board Photos cache.armbian.com
Checksums Embedded in image metadata (SHA256)
Log Upload paste.armbian.com

Contributing

We welcome contributions!

  • Bug reportsOpen an issue
  • Feature requests — Let's discuss it
  • Pull requests — Code improvements are always welcome
  • Translations — Add or improve in src/locales/
  • 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

GPLv2 — Part of the Armbian ecosystem.

Acknowledgments


Made with ❤️ by the Armbian community

About

The official Armbian flashing tool. Browse 307+ boards, download images, and flash SD cards with verified writes. Built with Tauri + Rust for native performance. Supports macOS (Touch ID), Windows, and Linux. 15 languages.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •