Image: front.png Image: back.png
pic pic pic pic
Select device type
Bluetooth name
Bluetooth pin (4 digits)

Due to low stock the sale is limited for 1 device per person (regardless of the device type). Also please check the "About service" section of this site before purchasing the device. Especially the "Quality" part of it which highlights its aesthetic imperfections.

Delivery time

As you can see the supremeDuck project is open source. The tutorial with all the instructions is provided. Because the project requires some prerequisites that people often don't have (e.g. soldering equipment) and because production of these devices is much more entertaining than my current job I decided to provide an option to buy the device directly from me. So far I accepted only bitcoin payments, however paypal and banking cards payments are available now and they're authorized through the official paypal payment processing system. The shipments are made from Morecambe in UK for £3 worldwide regardless of the destination.


If you take a look at the purchase section of this website there are few different types of the device. The picture above presents the following options:
-with OTG, without USB type A
-with OTG and USB type A
-with OTG and USB type A (taped up)
-hard-cased with USB type A

Each device is unique so potentially the quality of it may be different. The device comes bubble-wrapped in an antistatic bag. There's a layer of plastic wrap between the tape and the device (in taped up version) to prevent it from sticking to the cables. (So unwrapping the tape won't put pressure on them.) The parts used to create the device were ordered from China/Malasya using ebay. It doesn't affect the functionality of the supremeDuck, however potentially it could have impact on how extendable it is for electronics and programming enthusiasts (I'm not sure about analog pins reliability). I'd risk a statement that as long as the device is handled in appropriate way it should stay in working order for a very long time. The Achilles' heel of the construction is definately the micro USB socket which could detach from the board if excessive pressure is applied on the connector or the socket itself. I'd recommend to handle it with care, away from water and static electricity. Please be aware that the devices may contain signs of obscurity like slightly damaged cable jumpers around their insertions (also because of soldering), slightly askew direction of the connector in the hard-cased type (potential human error when hotgluing the device to the inner case). The hard-cased type also has screws on the bottom side of it. That's the kind of box which is used.

pic pic

If you take a look at the "Purchase" section of this website you may find the "Bluetooth name" and "Bluetooth pin" inputs over the "Buy now" button. These inputs allow you to adjust how the bluetooth device will be seen by your mobile phone and other bluetooth devices. The 4 digit pin code is required for pairing. It is possible to change name and pin at any time using Arduino IDE. The tutorial is available here. If you have some special request or a simple enquiry don't hesitate to contact me.

The devices are homemade by me more as a hobby rather than profession hence the stock probably won't exceed 10-20 devices per month. The "Buy now" option gets disabled by paypal's stock control if there's no devices left so it's not possible to purchase the devices when I simply don't have them. That's because I am aiming to dispatch the devices on the next working day or even on the same day if there's such possibility. Anyway even if it's out of stock you can always contact me to make sure that it will be made, available and delivered.

The graph below presents the delivery time of previous orders (time between dispatch and arrival). It's based on the feedback so I'd like to invite everyone who orders the device to let me know when it arrives, thanks.

You can contact me through:
1. Discord -
2. Email -
3. The envelope below.

pic pic pic

Your email address:

Price decrease

The prices were decreased by 50%, I still have 11 devices but will not produce any more. That's because I'm designing open source PCBs for it, possibly someone will manufacture them for relatively low price soon. For more info see: github - Future.

New release - version 1.1

what's new:
-os detection
-adapted functions to work with linux and macos
-added "delay after opening terminal" setting
-minor app improvements / bug fixes

-improved encoding for different languages (now more characters can be correctly typed when "multilang" method is off)
-decreased arduino code memory (from 75% to 46%)
-added preview feature for "youtube", "website" and "set wallpaper" categories

16/01/2019 - 13:07
fixed what i messed up with last update... (ducky script not working properly)

fixed ducky script bug (e.g. "alt tab" not doing what it supposed to)

-increased baud rate of esp8266 version to 115200 (it's necessary to upload both: esp8266 and arduino code for the change to take place)

-fixed critical bug (bluetooth version froze the device if "log_serial" was enabled)

New release - version 1.06

What's new:
-wifi support (Esp8266 module) as an alternative to HC-06 bluetooth module (user can control 2 devices simultaneously, 1 using bluetooth, 1 using wi-fi)

You could check out video to see how it is implemented. So far I did not make any step by step guide that would explain how to connect and flash the parts but to make it work you need the same hardware as the one used in wifi_ducky project by spacehuhn (You could check out Seytonic's video about it). Just flash the Esp8266 with this code. Arduino code should be modified by uncommenting the following line:
//#define USE_TX_RX_PINS

If you'd like to complete this project but something seems unclear then just contact me through discord.

Here is How to make wifi based version guide.

New release - version 1.05

What's new:
-ability to change bluetooth name and pin from user interface (Categories -> Settings)
-added ctrl+alt+del, right mouse click (RMB) and backspace button (available in "Plain text" and "Execute program" categories)
-added "Live text execution" checkbox, if it's checked then any letters typed into text box will be automatically typed on the target PC (available in "Plain text" and "Execute program" categories)

New guide (making supremeDuck more stealthy)

From my observations when you plug supremeDuck or any other Arduino based BadUSB (e.g. Malduino) into PC it gets recognized by it as:
1. Human Interface Device
2. Arduino Leonardo x 2
The point of this guide is to make it recognized as Human Interface Device only.

If you purchased the cased version of the device (or planning to buy) and are interested in following that guide then please let me know (preferably using discord, see the "Contact" section of this website).

New release - version 1.04

What's new:
-local file system (/supremeDuck_data)
-adding/editing/removing presets
-adding ducky scripts by placing them in "/supremeDuck/ducky_scripts/"
-added Alt+Tab button
-added arrow keys in "Plain text" and "Execute program" categories
-fixed Enter button bug

I made small update of the android app (version 1.041), it does not require reflashing of supremeDuck device if its version is 1.04. It fixed vertical order for "Manage presets" panel because it was too low and while editing the "Content" textbox it was hidden behind keypad.
tldr: fixed bug

Stock update

Currently there are 18 devices in stock.


Hi, I'll be on holiday in Poland from today to 22/02/2018. Any orders made during that time will be posted after 22/02/2018.

Alternative projects

There are few other projects having similar functionality if anyone was interested, projects such as:
1. wifi_ducky by spacehuhn - It's smaller, works through browser instead of an app so can be used on Iphones unlike supremeDuck. The website design is more comfortable to use in the forked version of it completely modified by samdenty99. Comparing to supremeDuck the disadvantages are less intuitive user interface and lack of dynamic keyboard language setting.
2. WHID by Luca Bongiorni - It's a single and relatively cheap board which is able to run the aforementioned wifi_ducky project without the need to assembly hardware yourself.
3. Bluetooth Rubber Duck by Shoebox - The project which uses Digispark instead of Arduino Pro Micro and allows the user to load and use "ducky script". The Android application for it is made using Gradle from what I see.
4. The Darkwing Duck by Amateur Security Research Group - It's also based on MIT App Inventor and similar hardware setup but with less features.

New guide (editing and adding your own presets)

I created a small guide on how to edit presets or add your own. It's written but I also uploaded a short presentation video about it.


Hi, another year of education started for me therefore the software won't be updated as frequently. The devices are still available to buy though, currently there are 40 in stock. (on 27/09/2017)

Small bug fix

The 1.03 version of the Arduino code has been updated, several language settings (e.g. German) typed some character instead of pressing "Enter". Thanks to HydrexHD for reporting the bug. If you encounter it then make sure to update the device with the new code. This guide describes how to do it.

New batch

A lot of new parts arrived (including black connectors for the hard-cased type). All of the types are now available to buy. The amount of devices available is 23 (on 01/09/2017 - 16:30).


New batch - progress update

I'm still waiting for the parts to arrive but as you can see there is some progress on it. The cases and cables are prepared so when the required parts arrive it will be quicker to assemble them together. Eight devices are actually ready so they're available to buy. In order to build the hard-cased types I'll have to wait till the black connectors arrive (which shouldn't take long) so that's why they're not available to buy at the moment.


New release - version 1.03

What's new:
-added new presets, ducky scripts (also moved them from pastebin into github), youtube videos (songs + bunch of "one liners") and websites (bunch of gifs)
-removed few not working presets (kind of dead links)
-added "Settings" category in the mobile app
-added version check. After picking the bluetooth device and connecting to it the version check will be performed to make sure that the mobile app version is the same as the Arduino code version. Notification will be displayed if these don't match. (This feature will work only from version 1.03 and newer)
-further simplified the MIT app inventor 2 project (supremeDuck.aia)

Hard-cased type orders update

The cases arrived today so I fitted the devices into them and dispatched all :) To be honest before these orders were placed I've built only 2 prototypes using the hard-case and both had signs of obscurity which I explained in the "About service -> Quality" section of this website. I was worried whether people will be satisfied with these especially that it has been reffered to as the "stealthy one". Luckily I've found a more aesthetic way of fitting the connector to the case which is presented on the image below. (Click to enlarge)


Currently I'm waiting for the parts to build more of these, if anyone would like to be notified when the new batch is available then just leave me a message (see "Contact" section) and I'll let you know when they're ready.

Update - what's going on

Following the presentation video created by JackkTutorials all the devices (6) has been sold. The 2 without the case has been dispatched today. The remaining 4 ordered with the hard-case will be dispatched as soon as I get the cases (I ordered them from UK so it's quicker), it should probably take up to 1 week (or 2 in unfortunate circumstances). I also ordered parts to make more of the devices (approximately 30 of them), I estimate they will arrive within a month but it's difficult to say.

New release - version 1.02

-added ability to use "ducky script" ("PAUSE", "BREAK", "DEFAULTDELAY", "PRINTSCREEN", "SCROLLLOCK" are not implemented though)
-fixed minor bugs
-simplified some of the MIT app inventor 2 components (implemented global lists variables instead of using countless "if then else" statements, the lists are located around the bottom of the project "block canvas" and can be easily edited/expanded). The lists presented on the image below consist of items that define presets. To modify them just click on the text and edit it to your needs (the convention I used was: name|comma|value). Let's assume that you'd like to edit the preset of youtube video called "Cyka drunk dance", find the location of the block called "Youtube_Videos" and find the item called: "Cyka drunk dance,h9MB3_KzQa4" and replace the first part with the desired name of your preset and the second part with the ID of youtube video. After changing it, it should look something like: "Your_Vid_Name,s5d0h90115b".


Written overview

What this project is all about. What it is, how it works and what makes it special.

Usage info

Quick guide on how to use already made or purchased device.

DIY tutorial

Step by step guide on how to create the project yourself.