WiFi Nugget | ESP8266 | WiFi Deauther

Table of contents :

What is the ESP8266?

The ESP8266 is an integrated circuit with a microcontroller developed by Espressif. chip

It allows WiFi connectivity at a lower cost, with relatively easy and accessible programming.

It supports C++ (Arduino IDE), C with the SDK esp-open-sdk (GCC), or even MicroPython (Python for microcontrollers).

What is the WiFi Nugget?

he WiFi Nugget is a small printed circuit board containing an ESP8266 as well as a small neopixel screen shaped like a cat.

cat nugget

In addition to being aesthetically cute, it allows for a pre-assembled ESP8266 (or ESP32S2 for the USB Nugget.) with pre-flashed firmware WiFi Deauth Detector. This project is open-source and semi-home made. It’s perfect for those looking to delve into WiFi attacks. You’re by no means required to use the WiFi nugget to utilize an ESP8266, and you’re free to complement its use with an Arduino/MicroPython.

Getting started with ESPtool

ESPtool is an open-source tool developed in python by Espressif to communicate with the ROM bootloader (Read Only Memory); it’s the first thing executed when the chip is powered on. You can find this tool on their github with pip install esptool or even in the AUR.

Once the download of ESPtool is complete, we can use it to push the desired firmware.

download For instance, you can find the deauther firmware here, which allows you to easily monitor attacks.

Determining your serial port

To push our firmware onto our chip, we need to know the serial port of our device. To do this, we simply need to list all the serial ports:


Deleting the old firmware

Before even starting the firmware writing process, we need to delete the old one (if present). We will use the erase_flash option of esptool to perform this action. We’ll need to input the --chip parameter specifying the exact version of our ESP and -p followed by the SERIAL_PORT. If you don’t know it/aren’t sure about it, entering an incorrect version will result in an error containing the correct one. When executing the command, if the SERIAL_PORT is not found/is listed as non-existent, switch to root.


Writing the firmware

We can now flash the firmware using the write_flash option. The -z option determines the address where the firmware will be written. Here, we have 0x000000 representing the first byte. We could also use the parameter -z 0x0; this alternative is preferable as it avoids specifying the interface (8bit, 16bit, 32bit, etc.).


I personally use the firmware from HakCat-Tech in this example, but feel free to use whichever one you’d like. If you don’t have a WiFi Nugget, you can simply use the firmware from deauther.

Accessing the deauther graphical interface

As you can see, I’ve pushed the article even though I haven’t finished it, like 90% of what I have on this web server, sorry.