# 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