supremeDuck - pranking device


What is it? It's an arduino based device which can be connected to a PC and pretend to be "Human Interface Device" like keyboard and mouse. This project utilizes a smartphone with an android to trigger specific actions. The android application was made using "MIT app inventor 2" and is open source as well as the arduino sketch so the user can adjust its functionality.

What can you do with it? Plug it in to your friend's PC and by pressing a button on your android smartphone: -access a website -play a youtube video -type pre-defined text of your choice -download and execute file -move mouse cursor -and much more...

Review and presentation - Youtube video

Functionality - Youtube video

Dynamic language encoding - Youtube video

Early version - Youtube video

Setting custom bluetooth name - Youtube video

Is it going to work on any PC and work work instantly? Idk, it's based on arduino, after connecting it to the PC it's recognised as "USB input device" and "Arduino", it worked instantly on my freshly re-installed windows 8 and also on windows 10 where I deleted arduino drivers. But for example at my college (win 7) it pops up "Installing drivers" in the bottom right corner, it works in both scenarios if the installation is finished or cancelled, however it doesn't work until it's ended in some way. It's recognised by PC the same as "Malduino" by Seytonic:

Will the MalDuino work on computer X? The MalDuino works just like an arduino leonardo, so if a leonoardo can do it on a certain computer, so can a MalDuino. It should be noted that I have had some reports of people having difficulty running scripts on windows 7, however this is not widespread as far as I know and I am looking into this.

What makes it stand out from other similar projects? Keyboard simulating devices work differently depending on the system language setting. At the moment (25/7/17) the original HAK5 "rubber ducky", "Malduino" and other arduino based HID projects require the user to pick a keyboard language setting before uploading the code. It means that device has to be re-programmed before using it with different PCs if they have different language settings. That's not the case with supremeDuck, it handles the aforementioned problem in 2 ways:

  • It gives an ability to dynamically change the desired language settings by using the android app whenever needed (the device must be turned on while changing it).
  • It takes advantage of the fact that Windows allows a tricky method of typing characters (by using ALT + NUMPAD keys it is possible to type the ASCII code and the desired character will be typed). As a result the device can be set to work with all of the most frequently used language settings without the need to change anything (as long as it's used on Windows). In the options of the android app it's possible to dynamically enable and disable it (it's called "MultiLang - Windows only" in the categories list).

DIY tutorial: Github supremeDuck wiki diy tutorial

Usage/setup: (quick and easy setup assuming that the device is already made or purchased) Github supremeDuck wiki usage

Sale (limited to 1 device per person): Monday electronics

I did the same thing.. except I swapped out my BT/App inventor stuff and chnaged it to use an ESP8266 module instead of broadcast an SSID and have a captive portal page with all my 'pre-set' actions..

it looks like we have similar interests because I just ordered esp8266:P

:smiling_imp: :thumbs-up:

these are fun little devices! ;)

Haha, love this. Think you'll try to go bigger next time?

Now it's available to buy on:

I also made a tutorial on how to set custom bluetooth name and pin:

And described usage/setup (assuming that the device is already made or just purchased)


the application for Android is now available on Google Play Store:

I updated it a little bit too:

-implemented 2-way communication so now the arduino tells the mobile app about its current language setting and whether it uses "MultiLang" method -added built in web browser so it's possible to search funny images around the internet and copy url by a button (there's also a button to extract Youtube video ID that is currently in the browser) -fixed small bug regarding "MultiLang" method (upper case were not affected by it till now)