Installation Guide
Flash GhostESP firmware to your ESP32 device
Flash GhostESP firmware to your ESP32 board using the web flasher, manual USB tool, or Flipper Zero app. Choose the method that works best for your setup.
Prerequisites
- A compatible ESP32 board (see Supported Hardware)
- A USB cable (Micro USB or USB-C; must be a data cable, not charge-only)
- A modern web browser (Chrome, Brave, or Edge; Firefox doesn’t support WebSerial)
- 7-Zip or similar tool to extract firmware files
- VPN/firewall disabled (some configurations interfere with the web flasher)
Flashing Methods
Choose one:
Web Flasher Method (Recommended)
Open the flasher
- Go to flasher.ghostesp.net in Chrome, Brave, or Edge.
- Close any apps using the serial port.
Enter bootloader mode
- Hold BOOT, plug in USB, then release BOOT.
- If that doesn’t work: hold BOOT, tap RESET, keep BOOT held for 1โ2 seconds, then release.
Flash the firmware
- Select your ESP32 variant from the dropdown.
- Click Connect and follow the on-screen prompts.
Restart the device
- Unplug and replug the USB cable.
- If the flasher times out, try again.
Note: If the flasher site glitches, clear your browser cache and reload.
USB Connection Method
Use this method if you prefer manual control or the web flasher doesn’t work.
Download the firmware
- Go to GhostESP Releases.
- Download the
.zipfile for your board. - Extract it with 7-Zip or your preferred tool.
Enter bootloader mode
- Hold BOOT, plug in USB, then release BOOT.
- If that doesn’t work: hold BOOT, tap RESET, keep BOOT held for 1โ2 seconds, then release.
Flash using ESP Huhn Tool
- Open ESP Huhn Tool in your browser.
- Click Connect and select your device’s COM port.
- Load the three binary files with the correct offsets:
Chip bootloader.binpartitions.binfirmware.binESP32-S2 0x10000x80000x10000ESP32-S3 / C3 / C6 0x00x80000x10000- Click Flash and wait for completion.
Verify the flash
- Unplug and replug the USB cable.
- Open a serial console to see device logs.
Flipper Zero Method
Flash GhostESP using your Flipper Zero as the programmer. No PC required.
Install the GhostESP app
- Download from the Flipper app store or releases.
- Copy the
.fapfile to your Flipper’s SD card.
Download the firmware
- Go to GhostESP Releases.
- Download the
.zipfile that matches your ESP32 chip (e.g.,esp32-generic.zipfor a generic ESP32). - Extract the
.zipfile.
Copy firmware files to Flipper
- Use qFlipper or pull out the Flipper’s SD card and insert it into your computer.
- Copy the three
.binfiles toSDCard/apps_data/esp_flasher/. - Do not put them in
assets/.
Wire the ESP32 to Flipper
- Connect the ESP32 to the Flipper’s GPIO pins (refer to the GhostESP app for pinout).
- Enter bootloader mode on the ESP32 (hold BOOT, plug USB, release BOOT).
Flash the firmware
- Open the ESP flasher app on your Flipper.
- Select Manual Flash.
- Choose
bootloader.bin,partitions.bin, andGhostESP.bin. - Verify the device variant is correct.
- Start the flash and wait for completion.
- Reset the ESP32 when done.
After Flashing
GhostESP boots automatically and creates a Wi-Fi access point called GhostNet (password: GhostNet). Choose how you want to control it.
Control Methods
Web Interface (Easiest)
- Connect to the
GhostNetWi-Fi network. - Open a browser and go to
ghostesp.localor192.168.4.1. - No authentication required by default. Run
webauth onin the terminal to enable login. - Limitation: Wi-Fi and BLE commands don’t work here (the radio is hosting the AP). Use GhostLink to run attacks remotely.
Serial Terminal (Full Control)
- Connect via USB and open a serial console at 115200 baud.
- Access all CLI commands. See Command Line Reference.
- On Android, use Serial USB Terminal.
Flipper Zero App
- Download from the Flipper app store.
- Control GhostESP directly from your Flipper.
Qt6 Desktop App
- Download and install for advanced features and customization.
Touch Screen (Supported Boards Only)
- Navigate menus with touch gestures.
- Use the on-screen terminal for keyboard input.
Troubleshooting
Device won’t boot or loops
- Verify you flashed the correct firmware for your chip.
- Try a different USB cable (some are charge-only).
- Reboot the device and wait 10 seconds.
Flash fails or times out
- Ensure the chip is in bootloader mode (hold BOOT while plugging in USB).
- Try a different USB port or hub.
- Close other apps using the serial port.
Can’t connect to GhostNet
- Reboot the device.
- Check that you’re using the correct password:
GhostNet. - Move closer to the device.
Web flasher doesn’t work
- Clear your browser cache.
- Try Chrome, Brave, or Edge (Firefox doesn’t support WebSerial).
- Disable VPN or firewall temporarily.
Serial connection issues
- Install the USB-to-UART driver.
- Verify the correct COM port is selected.
Flipper Zero flashing fails
- Double-check GPIO wiring between ESP32 and Flipper.
- Confirm all
.binfiles are inSDCard/apps_data/esp_flasher/(notassets/). - Verify the device variant matches your ESP32 chip.
