Armbian Imager
The official tool for flashing Armbian OS to your single-board computer
Why? • Features • Download • How it works • Development
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% │ │
│ └─────────┘ └─────────┘ └─────────┘ └───────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
- Select Manufacturer — Choose from 70+ SBC manufacturers or load a custom image
- Select Board — Pick your board with real photos from armbian.com
- Select Image — Choose desktop/server, kernel variant, stable/nightly
- 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is part of the Armbian ecosystem and is licensed under the GPLv2.
Acknowledgments
- Raspberry Pi Imager — The inspiration for this project
- Tauri — The framework that makes native apps accessible
- Armbian Community — For years of amazing work on SBC support
Made with ❤️ by the Armbian community