Skip to product information
DSTIKE White Ducky S3 – ESP32-S3 Wi-Fi USB Automation Board

DSTIKE White Ducky S3 – ESP32-S3 Wi-Fi USB Automation Board

$39.00

Tracked worldwide shipping

Ships daily except Saturday

Estimated delivery 7–14 days

Lost parcel protection

Manage scripts over Wi-Fi. Run keyboard automation over USB.

The DSTIKE White Ducky S3 is a compact ESP32-S3 development board for programmable USB keyboard automation, hands-on learning, workflow demonstrations and authorized security testing.

Built around an ESP32-S3 N16R8 module with 16 MB Flash and 8 MB OPI PSRAM, it combines a USB-A connector, a six-position DIP switch and a front-facing WS2812B RGB status LED. The board comes with a white enclosure and removable USB connector cap for convenient handling and storage.

With the DSTIKE Wi-Fi Payload Manager firmware, you can upload a payload.txt script from a phone or computer, store it on the board and trigger execution from your browser.

Project source code and documentation: White Ducky S3 on GitHub.

Wireless script management

The firmware creates a password-protected local Wi-Fi hotspot after startup. Connect a phone or computer using the following details:

Default Wi-Fi name DSTIKE-DUCKY-XXXXXX
Default Wi-Fi password dstike123
Management address http://192.168.4.1
Interface language English

XXXXXX represents the suffix displayed in your device's network name. Enter the password exactly as shown, using lowercase letters.

The browser interface manages one active payload.txt file at a time. It lets you:

  • Upload or replace payload.txt.
  • View, download or delete the stored script.
  • Start execution with the Run Manually button.
  • Check storage usage, connected client count and execution status.

The Wi-Fi password controls access to the manager; the current firmware has no separate web login. You can change the hotspot password in the firmware configuration before reflashing.

Persistent onboard script storage

Scripts are stored in the board's Flash using LittleFS and remain available after normal power cycles. Updating a script does not require reflashing the firmware or using a microSD card. PSRAM serves as working memory rather than permanent file storage.

The supplied partition layout allocates approximately 11.94 MiB to LittleFS. The current interpreter supports a maximum of 128 KiB per payload file. Reformatting storage, changing the partition layout or erasing Flash can remove saved scripts.

USB keyboard automation

In USB mode, the board sends keyboard input to the physically connected computer. Wi-Fi provides access to the script manager; USB carries the keyboard actions. The local management page does not require internet access.

Use it to demonstrate text entry, keyboard shortcuts, application launching and repeatable desktop workflows. For example, a Windows script can open Notepad, type Hello from DSTIKE!, pause briefly and open the DSTIKE website in the default browser.

With the current firmware defaults, uploading a script or powering on the board does not automatically execute it. Execution starts when you select Run Manually. Developers can enable execution after upload or at startup by changing the firmware settings.

The management page may temporarily stop responding while a script runs. Wait for execution to finish before using the page again.

Two modes, selected on the board

DIP switch code Mode Purpose
001111 UART Upload firmware to the ESP32-S3.
110010 USB Run supported DuckyScript scripts as a USB HID keyboard.

The mode codes are printed on the back of the PCB. Disconnect USB power before changing the switch settings, then reconnect the board. After uploading firmware in UART mode, change to USB mode before running keyboard scripts.

Wi-Fi file uploads replace the script. Full firmware updates use UART mode; wireless firmware OTA is not configured in the supplied firmware layout.

Visible RGB status

The front-facing WS2812B RGB LED is controlled by GPIO21. With the current Wi-Fi manager firmware:

LED Meaning
Red Execution has not been triggered since startup or the latest script upload. The LED also returns to red after script deletion or a script-loading failure.
Green Execution has been triggered. The LED stays green during and after execution until a reset condition occurs.

Green indicates that the board has triggered the script; it does not confirm that every action succeeded on the computer. LED behavior can be customized in your own firmware.

DuckyScript support and development

The project's DuckyScript 3.x core interpreter reads plain-text payload.txt files. Supported commands include text entry, delays, key combinations, variables, conditions, loops and basic functions.

Compatibility is limited to the commands implemented by the installed firmware. Full Hak5 Rubber Ducky hardware compatibility, all DuckyScript 3.0 extensions and compiled inject.bin files are not supported by this workflow.

The board is programmable with Arduino for custom USB HID applications and Wi-Fi-controlled projects.

Project source code and documentation

The White Ducky S3 project is available on GitHub. Visit the repository to download the project files and refer to the included README for hardware connections, Arduino settings, firmware installation and script management instructions.

View the White Ducky S3 project on GitHub

Use the project as a starting point for your own USB keyboard workflows, script experiments and firmware customization. When compiling the supplied project, keep partitions.csv in the same sketch folder as the .ino file.

Hardware at a glance

Model DSTIKE White Ducky S3
Module ESP32-S3 N16R8
Flash / PSRAM 16 MB Flash / 8 MB OPI PSRAM
Enclosure White enclosure with removable USB connector cap
Host connection and power USB-A
Mode selection Six-position DIP switch: UART / USB
Status indicator WS2812B RGB LED on GPIO21
Script storage LittleFS in onboard Flash
Maximum payload size 128 KiB with the current firmware
Management interface Local Wi-Fi browser interface, in English

Getting started

  1. If firmware installation is needed, download the project from the GitHub repository and follow its README. Set the switch to 001111 to upload the firmware in UART mode.
  2. Disconnect the board, set the switch to 110010 and reconnect it to your computer.
  3. Connect your phone to DSTIKE-DUCKY-XXXXXX using the password dstike123.
  4. Open http://192.168.4.1 in your browser and upload your payload.txt file.
  5. Prepare the computer and select Run Manually. The status LED changes from red to green when execution is triggered.

Scripts must match the computer's operating system, keyboard layout and application timing. The current firmware uses a US English keyboard layout; use a matching host layout and English input mode so punctuation and symbols are entered correctly. The Notepad demonstration is designed for Windows.

Keep the computer unlocked, and allow enough delay for applications to open. To demonstrate opening a website, keep the computer online while using a phone to manage the board. If your phone reports that the board's hotspot has no internet access, stay connected to use the local management page.

Use only on devices you own or have explicit permission to test.

You may also like