Introduction: Wifi Ducky (*build for Mac Users)
Take control of a computer by plugging this device into the usb port.
This tutorial is focused on Mac users. There are plenty of tutorials to make this and similar devices but all geared towards Windows and Linux users. So this will help Mac user get through some of the hurdles that pop up when trying to flash the software.
Step 1: Grab the Software
First we'll grab the source code and bin file. We'll get this from Github user spacehuhn. Click HERE and then click the folder arduino_wifi_duck. Download the arduino_wifi_duck.ino file. This is what we will flash to our Arduino.
After your Arduino code is downloaded, click back to the Wi-Fi Ducky Git page and click on the releases tab. Download the esp8266_wifi_duck_4mb.bin link to download the bin file we will flash to our D1 Mini.
Step 2: Set Up the Arduino
Now that we have the software, lets set up our Arduino IDE to recognize the Pro Micro
Make sure You're using the latest version of the Arduino IDE.
First we'll add the spark fun IDE board manager to your Arduino IDE.
Open up Arduino, then go to the Preferences (File > Preferences). Then, towards the bottom of the window, paste this URL into the “Additional Board Manager URLs” text box:
Then we need to add it in our Boards Manager.
Go to Tools, scroll down to Board: and scroll to the top and click Boards Manager. In the search box search "Sparkfun" and Select the SparkFun AVR Boards to install. After it is done, restart your Arduino IDE.
Open the arduino_wifi_duck.ino file in your Arduino IDE, set your SparkFun Pro Micro for your board and select your port and flash the Arduino.
Step 3: Download Drivers and Software for the D1 Mini
Now you can sit the Arduino aside and grap you D1 mini.
Before we can flash this, we have to download the CH34x driver. There is a serial adapter built into the D1 that is not recognized by OS X.
Download the CH34x driver for your OS version-
After you Install the CH34x driver, plug your D1 Mini into a usb, open up Terminal, and San for port in use by typing in this command:
Find the one that says /dev/cu.wchusbserial1420 or something similar, that is the port your D1 Mini is connected to.
It's almost time to flash the D1 Mini but first we need to install a flasher. We are going to download the esptool into our Documents folder Move into your Documents directory by typing
Now you can download the tool by typing:
git clone <a href="https://github.com/themadinventor/esptool.git" rel="nofollow"> https://github.com/themadinventor/esptool.git</a>
After the download is complete, move into the esptool directory by typing:
Install esptool by typing
sudo python setup.py install
Step 4: Flash the D1 Mini
It's time to flash the esp8266_wifi_duck_4mb.bin file to the D1 mini.
In Terminal type or paste in the command:
sudo python esptool.py --baud 115200 --port /dev/cu.wchusbserial1420 write_flash -fm dio 0x00000 ~/Desktop/PATH_TO_FILE/esp8266_wifi_duck_4mb.bin
Make sure you fill in the port name from your scan you just did and the file path to your esp8266_wifi_duck_4mb.bin file.
Now your D1 Mini should be flashed.
A few solder connections and we're done.
I recommend testing this on a breadboard before soldering everything up.
Step 5: Wire It Up
For the connection, Connect The Arduino TX to the D1 Mini RX. Arduino RX to the D1 Mini TX. Arduino RAW to D1 Mini 5V. Arduino Ground to D1 Mini Ground. Thats it!
At this point, you can plug it in to your target computer with a USB cable or use a Micro USB Male to USB Female OTG Adapter Converter. If you use the converter, put a piece of electrical tap on the bottom to prevent it from possibly shorting out.
With your wifi ducky plugged in, you should now see a Wifi connection called Wifi Ducky on your mobile device. Click to connect to it. The default password for this connection is quackquack .
Once connected, open your web browser and go to
This is the dashboard where you can run live commands or execute saved commands.
Here's a quick Ducky Script I wrote for a wifi ducky Rick Roll.
DELAY 1000 GUI SPACE DELAY 1000 STRING chrome DELAY 1000 ENTER DELAY 1000 STRING http://tinyurl.com/4poyc6x
DELAY 1000 ENTER DELAY 3000 STRING f
This project is provided for education only. Only replicate this at your own risk. I am not responsible if you go to jail or die!