tobozo edited this page Apr 25, 2018 · 14 revisions



Online interactive step by step tutorial by @jLynx:

$3 WiFi Jammer/Deauther using ESP8266 | Deauther 2.0 Flashing/Installation by @PwnKitteh:

Flashing the firmware bin file

You can find precompiled .bin files on the release page. Be sure to download the latest version. The 1 MB file should be good for most devices. If you have a NodeMCU with an ESP-12 you can also use the 4MB file. But all in all, it shouldn't matter that much.
Use one of the following software to flash your ESP8266 with the .bin file.


Using the NodeMCU (or any similar development board), the flash location is 0x0000 and the mode is qio. -p /dev/ttyUSB0 write_flash -fm qio 0x0000 esp8266_deauther.ino.nodemcu.bin
Where /dev/ttyUSB0 is the COM port of your device, write_flash is telling the program to write to flash memory, -fm qio is mode qio, which is the mode for chips with 4MB or more, and esp8266_deather.ino.nodemcu.bin is the name of your .bin file.

Flash Download Tools

Espressif has an official GUI tool for Windows.
It has a lot of options and can be used for the ESP8266, ESP8285 and ESP32.
You can find it on Espressif's download page here:
(if the link changed, just search for esp flash download tool)


An easy to use GUI flasher for Windows and Mac: esptool-gui.
Select the COM Port and the .bin file (firmware), then just press upload.


Another easy to use GUI flasher, but this time only for Windows: nodemcu-flasher.
Select the COM port, go to config and select your .bin file at 0x000000.
Go back to Operation and click Flash.
Recommended Flash settings NodeMCU Flasher

⚠️ The NodeMCU Flasher is outdated and can be buggy. If it doesn't work, just try flashing it again and see the Installation tips and tricks.

Compiling using Arduino IDE

  1. First you have to install and open the Arduino IDE.

  2. In Arduino go to File -> Preferences add both URLs in Additional Boards Manager URLs


External PICTURE adding board url

  1. Go to Tools -> Board -> Boards Manager, search "esp8266" and install esp8266 first, then arduino-esp8266-deauther
    External PICTURE installing sdk

  2. Select your board at Tools -> Board and be sure it is at ESP8266 Deauther Modules (and not at ESP8266 Modules)!
    External PICTURE select board

  3. Download the source code for this project from the releases page. You can also clone the project to get the latest changes, but you will also get the latest bugs ;)

  4. Extract the whole .zip file, navigate to esp8266_deauther and open esp8266_deauther.ino with Arduino.

  5. Check your upload settings and press upload!

  6. You might want to adjust the display, LED and button configurations. You can do that in the A_config.h file (second tab in Arduino). You can also find predefined config files for certain boards in the configs folder.

Installation tips and tricks

These are some small tips that are beneficial for first time users of this software, and hopefully will make it more accessible and cause less headache when flashing the board.
We recommend the esptool for flashing .bin files, because it works on all platforms. You can read more about how esptool works on their github page.
For customized versions, we highly recommend using Arduino IDE and our Deauther SDK (see Compiling using Arduino IDE).

Flash Button and espcomm_open error

💥❗️❓❗️❗️💢 Sometimes everything is right but it won't upload and you may get an error like error: espcomm_open failed.
What you have to do is hold the flash button down, start uploading and only release it when you see that it's started uploading.
PICTURE nodemcu flash button

Most development boards feature a auto-reset method and sometimes it doesn't work properly and it fails to go into flashing mode automatically. To manully force it into the flashing mode, you have to hold down the button.

Drivers and COM Port

In order to upload successfully, you must select the correct COM port. You can think of it as the address with that your computer accesses the ESP8266. The best way to find the correct port is to open the Arduino IDE and see what ports are listed there. This looks the same for every OS, including Linux. On Windows, COM1 is usually never the correct port. On Windows you can also have a look at your device manager, there you can also see if a device is not recognized.

If none of the COM ports work correctly or you can't find any COM Port, you might need to install the drivers.
The driver you need depends on the UART (USB to Serial) chip that is used on your development board.
Those are the drivers of the most used chips:

PICTURE serial chips

If you're not sure which chip your board is using, just try both.

If this doesn't help, try out different cables (some USB cables are only for charging and don't have data lines) or plug it to a different USB port.

Upload Settings

Those are the recommended upload/compile settings for Arduino:

Board: Generic ESP8266 Module  
Flash Mode: DIO
Flash Frequency: 80 MHZ
CPU Frequency: 160 MHz
Flash Size: 1M (256K SPIFFS)
Reset Method: nodemcu
Upload Speed: 115200
Port: <com port of your device>

Most NodeMCUs and other development boards have 4MB Flash so you can set the Flash Size to 4M (3M SPIFFS) or select NodeMCU 1.0 as the board.
A bigger Flash size can give you more memory in the SPIFFS for saving data, scripts or other files. Increasing the SPIFFS can also make it a bit slower, as the ESP8266 has to maintain a bigger file system.
If you have a board with the ESP-07 (the one with the connector for an external antenna) it probably has only 1MB of flash, so keep the recommended settings above.
Putting the Upload Speed to 921600 (or other baud rates) gives you a higher upload speed but doesn't always work.

Flash Mode

DIO should always work. It means Dual In-/Output.
QIO (quad I/O) uses 4 instead of 2 pins and will make the flash faster. However, you won't be able to use GPIO 9 and 10 (SD2, SD3)! If you flash it with QIO and use those pins, it will crash without a warning.
More details on the different modes are descripted here:

Flash Frequency

A higher flash frequency should increase the speed, but it doesn't always work with every module.
Try out what works the best.

CPU Frequency

We strongly recommend to use 160MHz to get the extra performance out of the chip.

Reset Method

Again, try out what works and use that.

Baud Rate

The recommended baud rate for uploading is 115200. You can try higher baud rates for faster uploading or slower ones if 115200 isn't working very reliable.

Flash Size

The flash size is an important factor!
PICTURE different esp8266 modules
The ESP-12 (which is used on most development boards like the NodeMCU) has 4MB of flash memory.
Other Modules like the ESP-01 and ESP-07 (the one with the antenna connector) come with only 1MB of memory.
You have to change your upload settings depending on the module you're using.

For compiling we recommend to use either 1M (256K SPIFFS) or 4M (3M SPIFFS).
It is also very important to note, that you must give the SPIFFS some memory. This software will only work with the SPIFFS enabled, otherwise you will see something like Initializing SPIFFS...ERROR on startup.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.