What is the ESP8266?
ESP8266 is an integrated circuit with a
microcontroller developed by
WiFi connectivity at a lower cost, with relatively easy and accessible programming.
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.
In addition to being aesthetically cute, it allows for a pre-assembled
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
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
Getting started with ESPtool
ESPtool is an
open-source tool developed in
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.
For instance, you can find the deauther firmware here, which allows you to easily monitor
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
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
-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.).
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.