{"product_id":"dstike-white-ducky-s3-esp32-s3-wi-fi-usb-automation-board","title":"DSTIKE White Ducky S3 – ESP32-S3 Wi-Fi USB Automation Board","description":"\u003cdiv\u003e\n  \u003cp\u003e\u003cstrong\u003eManage scripts over Wi-Fi. Run keyboard automation over USB.\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eThe \u003cstrong\u003eDSTIKE White Ducky S3\u003c\/strong\u003e is a compact ESP32-S3 development board for programmable USB keyboard automation, hands-on learning, workflow demonstrations and authorized security testing.\u003c\/p\u003e\n  \u003cp\u003eBuilt around an \u003cstrong\u003eESP32-S3 N16R8\u003c\/strong\u003e module with \u003cstrong\u003e16 MB Flash and 8 MB OPI PSRAM\u003c\/strong\u003e, it combines a USB-A connector, a six-position DIP switch and a front-facing WS2812B RGB status LED. The board comes with a \u003cstrong\u003ewhite enclosure and removable USB connector cap\u003c\/strong\u003e for convenient handling and storage.\u003c\/p\u003e\n  \u003cp\u003eWith the DSTIKE Wi-Fi Payload Manager firmware, you can upload a \u003ccode\u003epayload.txt\u003c\/code\u003e script from a phone or computer, store it on the board and trigger execution from your browser.\u003c\/p\u003e\n  \u003cp\u003eProject source code and documentation: \u003ca href=\"https:\/\/github.com\/lspoplove\/WhiteDuckyS3\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eWhite Ducky S3 on GitHub\u003c\/a\u003e.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eWireless script management\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eThe firmware creates a password-protected local Wi-Fi hotspot after startup. Connect a phone or computer using the following details:\u003c\/p\u003e\n  \u003ctable\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eDefault Wi-Fi name\u003c\/th\u003e\n\u003ctd\u003e\u003ccode\u003eDSTIKE-DUCKY-XXXXXX\u003c\/code\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eDefault Wi-Fi password\u003c\/th\u003e\n\u003ctd\u003e\u003ccode\u003edstike123\u003c\/code\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eManagement address\u003c\/th\u003e\n\u003ctd\u003e\u003ccode\u003ehttp:\/\/192.168.4.1\u003c\/code\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eInterface language\u003c\/th\u003e\n\u003ctd\u003eEnglish\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n  \u003cp\u003e\u003ccode\u003eXXXXXX\u003c\/code\u003e represents the suffix displayed in your device's network name. Enter the password exactly as shown, using lowercase letters.\u003c\/p\u003e\n  \u003cp\u003eThe browser interface manages one active \u003ccode\u003epayload.txt\u003c\/code\u003e file at a time. It lets you:\u003c\/p\u003e\n  \u003cul\u003e\n    \u003cli\u003eUpload or replace \u003ccode\u003epayload.txt\u003c\/code\u003e.\u003c\/li\u003e\n    \u003cli\u003eView, download or delete the stored script.\u003c\/li\u003e\n    \u003cli\u003eStart execution with the \u003cstrong\u003eRun Manually\u003c\/strong\u003e button.\u003c\/li\u003e\n    \u003cli\u003eCheck storage usage, connected client count and execution status.\u003c\/li\u003e\n  \u003c\/ul\u003e\n  \u003cp\u003eThe 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.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003ePersistent onboard script storage\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eScripts 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.\u003c\/p\u003e\n  \u003cp\u003eThe supplied partition layout allocates approximately \u003cstrong\u003e11.94 MiB to LittleFS\u003c\/strong\u003e. The current interpreter supports a maximum of \u003cstrong\u003e128 KiB per payload file\u003c\/strong\u003e. Reformatting storage, changing the partition layout or erasing Flash can remove saved scripts.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eUSB keyboard automation\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eIn 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.\u003c\/p\u003e\n  \u003cp\u003eUse it to demonstrate text entry, keyboard shortcuts, application launching and repeatable desktop workflows. For example, a Windows script can open Notepad, type \u003cstrong\u003eHello from DSTIKE!\u003c\/strong\u003e, pause briefly and open the DSTIKE website in the default browser.\u003c\/p\u003e\n  \u003cp\u003eWith the current firmware defaults, uploading a script or powering on the board does not automatically execute it. Execution starts when you select \u003cstrong\u003eRun Manually\u003c\/strong\u003e. Developers can enable execution after upload or at startup by changing the firmware settings.\u003c\/p\u003e\n  \u003cp\u003eThe management page may temporarily stop responding while a script runs. Wait for execution to finish before using the page again.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eTwo modes, selected on the board\u003c\/strong\u003e\u003c\/p\u003e\n  \u003ctable\u003e\n    \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eDIP switch code\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eMode\u003c\/th\u003e\n\u003cth scope=\"col\"\u003ePurpose\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e001111\u003c\/code\u003e\u003c\/td\u003e\n\u003ctd\u003eUART\u003c\/td\u003e\n\u003ctd\u003eUpload firmware to the ESP32-S3.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e110010\u003c\/code\u003e\u003c\/td\u003e\n\u003ctd\u003eUSB\u003c\/td\u003e\n\u003ctd\u003eRun supported DuckyScript scripts as a USB HID keyboard.\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n  \u003cp\u003eThe 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.\u003c\/p\u003e\n  \u003cp\u003eWi-Fi file uploads replace the script. Full firmware updates use UART mode; wireless firmware OTA is not configured in the supplied firmware layout.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eVisible RGB status\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eThe front-facing \u003cstrong\u003eWS2812B RGB LED is controlled by GPIO21\u003c\/strong\u003e. With the current Wi-Fi manager firmware:\u003c\/p\u003e\n  \u003ctable\u003e\n    \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eLED\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eMeaning\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003ctd\u003eRed\u003c\/td\u003e\n\u003ctd\u003eExecution 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.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd\u003eGreen\u003c\/td\u003e\n\u003ctd\u003eExecution has been triggered. The LED stays green during and after execution until a reset condition occurs.\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n  \u003cp\u003eGreen 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.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eDuckyScript support and development\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eThe project's DuckyScript 3.x core interpreter reads plain-text \u003ccode\u003epayload.txt\u003c\/code\u003e files. Supported commands include text entry, delays, key combinations, variables, conditions, loops and basic functions.\u003c\/p\u003e\n  \u003cp\u003eCompatibility is limited to the commands implemented by the installed firmware. Full Hak5 Rubber Ducky hardware compatibility, all DuckyScript 3.0 extensions and compiled \u003ccode\u003einject.bin\u003c\/code\u003e files are not supported by this workflow.\u003c\/p\u003e\n  \u003cp\u003eThe board is programmable with Arduino for custom USB HID applications and Wi-Fi-controlled projects.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eProject source code and documentation\u003c\/strong\u003e\u003c\/p\u003e\n  \u003cp\u003eThe 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.\u003c\/p\u003e\n  \u003cp\u003e\u003ca href=\"https:\/\/github.com\/lspoplove\/WhiteDuckyS3\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cstrong\u003eView the White Ducky S3 project on GitHub\u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n  \u003cp\u003eUse the project as a starting point for your own USB keyboard workflows, script experiments and firmware customization. When compiling the supplied project, keep \u003ccode\u003epartitions.csv\u003c\/code\u003e in the same sketch folder as the \u003ccode\u003e.ino\u003c\/code\u003e file.\u003c\/p\u003e\n\n  \u003cp\u003e\u003cstrong\u003eHardware at a glance\u003c\/strong\u003e\u003c\/p\u003e\n  \u003ctable\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eModel\u003c\/th\u003e\n\u003ctd\u003eDSTIKE White Ducky S3\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eModule\u003c\/th\u003e\n\u003ctd\u003eESP32-S3 N16R8\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eFlash \/ PSRAM\u003c\/th\u003e\n\u003ctd\u003e16 MB Flash \/ 8 MB OPI PSRAM\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eEnclosure\u003c\/th\u003e\n\u003ctd\u003eWhite enclosure with removable USB connector cap\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eHost connection and power\u003c\/th\u003e\n\u003ctd\u003eUSB-A\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMode selection\u003c\/th\u003e\n\u003ctd\u003eSix-position DIP switch: UART \/ USB\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eStatus indicator\u003c\/th\u003e\n\u003ctd\u003eWS2812B RGB LED on GPIO21\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eScript storage\u003c\/th\u003e\n\u003ctd\u003eLittleFS in onboard Flash\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaximum payload size\u003c\/th\u003e\n\u003ctd\u003e128 KiB with the current firmware\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eManagement interface\u003c\/th\u003e\n\u003ctd\u003eLocal Wi-Fi browser interface, in English\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n\n  \u003cp\u003e\u003cstrong\u003eGetting started\u003c\/strong\u003e\u003c\/p\u003e\n  \u003col\u003e\n    \u003cli\u003eIf firmware installation is needed, download the project from the \u003ca href=\"https:\/\/github.com\/lspoplove\/WhiteDuckyS3\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eGitHub repository\u003c\/a\u003e and follow its README. Set the switch to \u003ccode\u003e001111\u003c\/code\u003e to upload the firmware in UART mode.\u003c\/li\u003e\n    \u003cli\u003eDisconnect the board, set the switch to \u003ccode\u003e110010\u003c\/code\u003e and reconnect it to your computer.\u003c\/li\u003e\n    \u003cli\u003eConnect your phone to \u003ccode\u003eDSTIKE-DUCKY-XXXXXX\u003c\/code\u003e using the password \u003ccode\u003edstike123\u003c\/code\u003e.\u003c\/li\u003e\n    \u003cli\u003eOpen \u003ccode\u003ehttp:\/\/192.168.4.1\u003c\/code\u003e in your browser and upload your \u003ccode\u003epayload.txt\u003c\/code\u003e file.\u003c\/li\u003e\n    \u003cli\u003ePrepare the computer and select \u003cstrong\u003eRun Manually\u003c\/strong\u003e. The status LED changes from red to green when execution is triggered.\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cp\u003eScripts must match the computer's operating system, keyboard layout and application timing. The current firmware uses a \u003cstrong\u003eUS English keyboard layout\u003c\/strong\u003e; use a matching host layout and English input mode so punctuation and symbols are entered correctly. The Notepad demonstration is designed for Windows.\u003c\/p\u003e\n  \u003cp\u003eKeep 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.\u003c\/p\u003e\n  \u003cp\u003eUse only on devices you own or have explicit permission to test.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"DSTIKE","offers":[{"title":"Default Title","offer_id":49178945093815,"sku":null,"price":39.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0136\/5245\/9584\/files\/ChatGPT_Image_2026_9_14_15_52_07.png?v=1789372344","url":"https:\/\/dstike.com\/products\/dstike-white-ducky-s3-esp32-s3-wi-fi-usb-automation-board","provider":"DSTIKE","version":"1.0","type":"link"}