Make a Rubber Ducky That Spreads the Instructables Robot With Raspberry Pi Pico
by 1ComputerL in Circuits > Gadgets
103 Views, 0 Favorites, 0 Comments
Make a Rubber Ducky That Spreads the Instructables Robot With Raspberry Pi Pico
USB Rubber Ducky? Um... what? Yes, many of you may be curious why rubber ducks come up in the world of tech. Like, you thought you had escaped from these things: https://www.youtube.com/watch?v=Mh85R-S-dh8.
USB Rubber Duckies are programmable devices that, when plugged into computers, pretend to be keyboard input and wildly start typing commands to take over those computers. Most are made out of maker boards that can easily be disguised in thumb drive casing. USB devices designed to cause damage and steal data are known as 'Bad USBs'.
Hackers take opportunity of the nature of most humans: to trust even strangers. They can simply leave the ducky device somewhere and wait. Eventually, someone will come along and plug it into their computer out of curiosity. The computer will then in most cases become infected and the hacker will steal the victim's data.
This and actions similar are known as Social Engineering: 'Any act that influences a person to take an action that may or may not be in their best interest' (Christopher Hadnagy, Social Engineering: The Science of Human Hacking. 2nd ed. Hoboken, NJ: Wiley Publishing, 2018). Social Engineering takes advantage of regular, human people for the benefit of irregular, usually human, hackers. See https://www.social-engineer.org/ for more information.
Interested? In this instructable, you will be exploring the art of making your own USB rubber ducky - but not to steal data or breach networks. You'll be using it to spread the instructables robot EVERYWHERE in honor of Instructables.com and the wide community that has supported and used Instructables for 20 years!
In the end, you'll have a device that, when plugged into a Windows device, can display the Instructable robot's face within about 15 seconds! Please note that although this Instructable is targeted at those using the Windows operating systems, the programs can be changed for use with Linux and other OSes.
Supplies
- Raspberry Pi Pico (any)
- micro USB data cable (micro USB to the regular USB connector, must be able to transfer data too)
- Computer running the Windows operating system
Flash Your Pico With Circuitpython
- Visit https://circuitpython.org/downloads and click on your Pico board
- Press the 'download UF2 button'. Wait for the download to complete.
- Press the BOOTSEL button on the Pico down, and at the same time, connect the Pico to your computer with the USB data cable
- There will be a pop-up about a drive being connected, 'RPI-RP2'. Go to File Manager, and drag and drop the UF2 file you downloaded straight into the 'RPI-RP2' drive.
- The drive will disconnect, and then a new drive will appear in a few seconds named 'CIRCUITPYTHON'
Download Libraries
Next, you will need to download the USB HID library that enables the pico to send keyboard input to computers.
- Click on this link to download the full CircuitPython library bundle https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/download/20250926/adafruit-circuitpython-bundle-py-20250926.zip
- Unzip the CircuitPython bundle, and navigate through the folders until you find a folder labeled 'lib'.
- Enter the lib folder, and search for 'adafruit_hid'
- Copy the 'adafruit_hid' folder into the CIRCUITPYTHON drive
- Enter the CIRCUITPYTHON drive, and copy the 'adafruit_hid' folder into 'lib'
So now the 'adafruit_hid' folder should be at this location: 'D:\lib\adafruit_hid'.
Download Code From Github
Next, you will need to get my code for the Pico from Github.
- The following link will download the latest release of pico_something: https://github.com/1ComputerL/pico-something/archive/refs/heads/main.zip
- Unzip the folder and copy its contents to the CIRCUITPYTHON drive
That's it!
Prank a Friend
Now you can sneak up to a busily browsing friend, plug this into their computer, and wait for the robot to pop up! Hopefully now you understand the power of even simple USB devices and better comprehend the varied dangers we face in this information age.
Further Use
You can customize the HTML file and the Circuitpython code if you want to make something even better. I suggest using the Thonny Python IDE, which is free for all operating systems. https://docs.circuitpython.org/en/latest/shared-bindings/usb_hid/
It is NOT OK to go around trying to hack into people's computers and steal personal information. Please use your new knowledge for good.
Conclusion
I hope you enjoyed learning a little bit about rubber duckies and what they can do. Enjoy pranking your friends and family!