🦀 Modern SPI NAND/NOR Flash programmer written in Rust
A complete rewrite of SNANDer in Rust, designed for maximum portability and reliability.
- Pure Rust USB - No
libusbDLL required - Cross-platform - Windows, Linux, macOS
- Single binary - No runtime dependencies
- Memory safe - Rust's ownership system
- GUI & CLI - Graphical and command-line interfaces
- High Speed - Support for 60MHz SPI (CH347)
- Batch Mode - Automate workflows with simple scripts
cargo install nander-rs# Test programmer connection
nander diagnostic
# Run automated batch operation (Erase -> Write -> Verify)
nander batch --template flash-update --firmware firmware.bin
# Detect flash chip
nander info
# Read flash
nander read -o backup.bin
# Launch GUI
nander gui| English | 中文 |
|---|---|
| Quick Start | 快速入门 |
| CLI Reference | 命令行参考 |
| Troubleshooting | 故障排除 |
- CH341A - USB SPI programmer (Standard)
- CH347 - High-speed USB SPI programmer (up to 60MHz)
- SPI NAND - With OOB and bad block management
- SPI NOR - Standard JEDEC SPI NOR
- I2C EEPROM - 24Cxx series
- SPI EEPROM - 25xxx series
- Microwire EEPROM - 93Cxx series
If you see a driver error, you need to install WinUSB driver using Zadig.
See: Windows Driver Fix
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
Note: This is a clean-room implementation. While inspired by SNANDer's functionality, nander-rs contains no GPL-licensed code.
- SNANDer by McMCC - Original C implementation
- The Rust embedded community
