Title: Manual USB Flashing Description: Flash a downloaded GhostESP release when the web flasher is unavailable. URL: /v2.1/getting-started/manual-flashing/ Version: v2.1 Section: Getting Started Search index: /search-index.json # Manual USB Flashing > Flash a downloaded GhostESP release when the web flasher is unavailable. ## On this page - [What this does](#what-this-does) - [Before you start](#before-you-start) - [On-device steps](#on-device-steps) - [Flashing steps](#flashing-steps) - [Expected result](#expected-result) - [Troubleshooting](#troubleshooting) - [Related tasks](#related-tasks) --- ## What this does Manual USB flashing installs a downloaded release bundle with ESP Huhn Tool. Use it when you need a specific release file or the recommended web flasher is unavailable. ## Before you start - A compatible board and USB data cable. - The firmware .zip for your board from [GhostESP Releases](https://github.com/GhostESP-Revival/GhostESP/releases). - [7-Zip](https://www.7-zip.org/download.html) or another tool that can extract the release archive. - Chrome, Brave, or Edge for [ESP Huhn Tool](https://esp.huhn.me/). ## On-device steps - Hold BOOT, connect USB, then release BOOT. - If that does not work, hold BOOT, tap RESET, wait 1-2 seconds, then release BOOT. ## Flashing steps - Extract the downloaded firmware archive. - Open [ESP Huhn Tool](https://esp.huhn.me/) and click Connect. - Select the board’s serial port. - Add the three release binaries using the offsets below. Chip | bootloader.bin | partitions.bin | firmware.bin | ESP32-S2 | 0x1000 | 0x8000 | 0x10000 | ESP32-S3 / C3 / C6 | 0x0 | 0x8000 | 0x10000 | - Click Flash and wait for it to finish. - Unplug and reconnect the board. ## Expected result GhostESP starts and creates the GhostNet access point. You can verify boot output with a [serial console](https://ghostesp.net/serial) at 115200 baud. ## Troubleshooting - The board is not detected: Use a data-capable cable, close other serial apps, and retry bootloader mode. - Flash fails: Confirm that each binary came from the same release archive and uses the matching offset. - The board loops after flashing: Check that the downloaded release matches the exact board and chip. ## Related tasks - [Installation Guide](/v2.1/getting-started/installation-guide/) - [Flash with Flipper Zero](/v2.1/getting-started/flipper-flashing/) - [Connect to GhostESP](/v2.1/getting-started/control-methods/)