DeautherX


Before you continue

Using the display interface is entirely optional. You can also control the Deauther via serial or the web interface.

We cannot start at 0 for this tutorial, so if you find this too tricky, get an Arduino starter kit with good documentation to get a feeling for tinkering with electronics. 😊

I focused on the NodeMCU in this tutorial since it is one of the most popular dev-boards. But every other ESP8266-based board should work just the same.

What you need

Wire everything up

Look up the pinout references for your board. Here's one for the NodeMCU:

NodeMCU pinout

We have a limited amount of pins, and not every pin can be used for everything:

NodeMCU Pin GPIO Note
D0 GPIO 16 No I2C or PWM. Don't use this pin for the RGB LED or Display.
D1 GPIO 5 OK
D2 GPIO 4 OK
D3 GPIO 0 Connected to flash button.
D4 GPIO 2 Needs pull-up resistor.
D5 GPIO 14 OK
D6 GPIO 12 OK
D7 GPIO 13 OK
D8 GPIO 15 Needs pull-down resistor
D9 GPIO 3 RX (Serial). Avoid this pin.
D10 GPIO 1 TX (Serial). Avoid this pin.
SD2 GPIO 9 Used for Flash. Avoid this pin in QIO mode.
SD3 GPIO 10 Used for Flash. Avoid this pin in QIO mode.

Buttons

Connect each button to a GPIO and GND. Like in this Arduino tutorial: Input Pullup Serial Tutorial.

LED

The LED is used as an optional indicator. For example, Green = idle, Blue = scanning, and RED = deauth attack detected (when scanning). You can use single digital LEDs, an RGB LED, or a Neopixel LED (WS2812b).

By default, the LED on GPIO 16 (NodeMCU onboard LED) and the LED on GPIO 2 (ESP-12 and ESP-07 on-module LED) are used.

Setup with I2C OLED

Display GPIO
GND GND
VCC/VDD VCC / 3.3V
SCL/CLK/SCK GPIO 4 (D2)
SDA GPIO 5 (D1)
Button GPIO
UP GPIO 14 (D5)
Down GPIO 12 (D6)
A GPIO 13 (D7)
B GPIO 2 (D4)
NEOPIXEL LED GPIO
GND GND
VCC VCC/3.3V
DIN GPIO 15 (D8)
Light GPIO
GND GND
VCC GPIO 16 (D0)

Testing everything

When everything is correctly set up and uploaded, open the serial monitor with Arduino (Tools > Serial Monitor).

If you still have problems with the display, try running an example to test if it's a software or a hardware problem. This is the display library used in the Deauther: esp8266-oled-ssd1306. You can find examples there. Try to get those running.