# OpenFlash Wiki **[πŸ‡·πŸ‡Ί Русская вСрсия](Home-RU.md)** ---
``` β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•”β•β•β• β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β• β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•šβ•β•β•β•β•β• β•šβ•β• β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β•β•β•β•šβ•β• β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β• ``` **$4 hardware. Free software. Read any flash chip.**
--- ## πŸ“š Documentation | Guide | Description | |-------|-------------| | **[πŸ†• Complete Beginner's Guide](Beginners-Guide.md)** | Never used a flash programmer? Start here! | | [Getting Started](Getting-Started.md) | Installation and first steps | | [Hardware Setup](Hardware-Setup.md) | Wiring diagrams for all platforms | | [Supported Chips](Supported-Chips.md) | 230+ supported flash chips | | [Troubleshooting](Troubleshooting.md) | Common problems and solutions | | [FAQ](FAQ.md) | Frequently asked questions | --- ## πŸ€” What is OpenFlash? OpenFlash reads data from flash memory chips β€” the storage inside routers, IoT devices, game consoles, SSDs, and basically any electronic device. **Commercial programmers cost $200-2000.** OpenFlash uses a $4 microcontroller. ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Your Computer $4 Microcontroller Flash Chip β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ OpenFlash│◄── USB ──►│ Raspberry Pi │◄─wires─►│ NAND β”‚ β”‚ β”‚ β”‚ App β”‚ β”‚ Pico β”‚ β”‚ Memory β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ All the brains Dumb pipe Your secrets β”‚ β”‚ (ECC, analysis, AI) (just GPIO) live here β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## ⚑ Quick Start ### No hardware? Try it now! 1. [Download OpenFlash](https://github.com/openflash/openflash/releases) 2. Click **Mock** β†’ **Scan** β†’ **Connect** 3. Click **Dump NAND** 4. Explore: Hex View, Bitmap, Analysis, AI ### Got a Raspberry Pi Pico? 1. Download firmware: `openflash-rp2040.uf2` 2. Hold BOOTSEL, plug USB, drop file 3. Wire to your chip ([see diagrams](Hardware-Setup.md)) 4. Open app β†’ Scan β†’ Connect β†’ Dump --- ## πŸ”§ Supported Hardware ### Microcontrollers | Platform | Price | Speed | USB | Best For | |----------|-------|-------|-----|----------| | **Raspberry Pi Pico** | ~$4 | ⭐⭐ | Full Speed | Beginners | | **Raspberry Pi Pico 2** | ~$5 | ⭐⭐⭐ | Full Speed | NV-DDR NAND | | **STM32F4 Black Pill** | ~$5 | ⭐⭐⭐ | Full Speed | Best MCU value | | **Teensy 4.0/4.1** | ~$20-30 | ⭐⭐⭐⭐⭐ | **High Speed** | Speed demons ⚑ | | **Arduino GIGA R1** | ~$60 | ⭐⭐⭐⭐ | High Speed | Enterprise + WiFi | | **ESP32** | ~$4 | ⭐⭐ | UART/USB | Wireless | ### Single Board Computers | Platform | Price | Speed | Best For | |----------|-------|-------|----------| | **Raspberry Pi 4/5** | ~$35-75 | ⭐⭐⭐⭐ | Headless server | | **Orange Pi** | ~$15-50 | ⭐⭐⭐ | Budget SBC | | **Banana Pi** | ~$15-35 | ⭐⭐⭐ | RISC-V option 🍌 | ### Flash Types | Type | Chips | Interface | |------|-------|-----------| | Parallel NAND | 60+ | 8-bit bus, 14 wires | | SPI NAND | 55+ | 4 wires | | SPI NOR | 75+ | 4 wires | | eMMC | 40+ | 4 wires (SPI mode) | | UFS | 10+ | Detection only | --- ## 🎯 Use Cases | Use Case | Description | |----------|-------------| | **Firmware extraction** | Dump firmware from routers, cameras, IoT devices | | **Data recovery** | Recover data from damaged flash storage | | **Security research** | Analyze firmware for vulnerabilities | | **Reverse engineering** | Understand how devices work | | **Embedded development** | Debug and test flash operations | | **Forensics** | Extract evidence from devices | | **Education** | Learn how flash memory works | --- ## 🧠 Key Features ### Reading & Writing - Read any supported flash chip - Write/program chips with verification - Bad block management - Wear leveling tracking ### Analysis - **AI-powered pattern detection** β€” finds encrypted, compressed, executable regions - **Filesystem detection** β€” SquashFS, UBIFS, JFFS2, ext4, FAT - **ECC correction** β€” Hamming, BCH-4/8/16 - **Encryption key search** β€” finds AES keys in dumps - **Wear analysis** β€” estimates remaining chip life ### Automation - **Python API** β€” `pip install pyopenflash` - **CLI tool** β€” `openflash read -o dump.bin` - **Batch processing** β€” process multiple chips - **REST API** β€” integrate with your tools ### Cloud (v3.0+) - Sync dumps across devices - Team collaboration - Community chip database - AI model updates --- ## πŸ“Š Speed Comparison | Platform | 1GB Dump Time | Transfer Speed | |----------|---------------|----------------| | Teensy 4.1 | **3-5 min** | ~3-5 MB/s | | Arduino GIGA | ~10 min | ~1.5 MB/s | | Raspberry Pi 4 | ~12 min | ~1.3 MB/s | | STM32F4 | ~25 min | ~650 KB/s | | RP2350 | ~30 min | ~550 KB/s | | RP2040 | ~45 min | ~370 KB/s | | ESP32 | ~50 min | ~330 KB/s | **Teensy 4.x uses USB High Speed (480 Mbit/s) β€” 10-20x faster than other MCUs!** --- ## πŸ†˜ Getting Help | Resource | Link | |----------|------| | πŸ“– This wiki | You're here! | | πŸ’¬ Discussions | [GitHub Discussions](https://github.com/openflash/openflash/discussions) | | πŸ› Bug reports | [GitHub Issues](https://github.com/openflash/openflash/issues) | | πŸ“§ Email | support@openflash.io | --- ## 🀝 Contributing We welcome contributions! - **Test chips** β€” Report working/non-working chips - **Fix bugs** β€” Submit pull requests - **Improve docs** β€” Help others learn - **Translate** β€” Add your language See [CONTRIBUTING.md](https://github.com/openflash/openflash/blob/main/CONTRIBUTING.md) ---
**OpenFlash v3.0** · MIT License · Made with ❀️ by the community