DIY Rubber Ducky is as Cheap as its Namesake

The “Rubber Ducky” by Hak5 is a very powerful tool that lets the user perform rapid keystroke injection attacks, which is basically a fancy way of saying the device can type fast. Capable of entering text at over 1000 WPM, Mavis Beacon’s got nothing on this $45 gadget. Within just a few seconds of plugging it in, a properly programmed script can do all sorts of damage. Just think of all the havoc that can be caused by an attacker typing in commands on the local machine, and now image they are also the Flash.

But unless you’re a professional pentester, $45 might be a bit more than you’re looking to spend. Luckily for the budget conscious hackers out there, [Tomas C] has posted a guide on using open source software to create a DIY version of Hak5’s tool for $3 a pop. At that cost, you don’t even have to bother recovering the things when you deploy them; just hold on tight to your balaclava and make a run for it.

The hardware side of this hack is the Attiny85-based Digispark, clones of which can be had for as low as $1.50 USD depending on how long your willing to wait on the shipping from China. Even the official ones are only $8, though as of the time of this writing are not currently available. Encapsulating the thing in black shrink tubing prevents it from shorting out, and as an added bonus, gives it that legit hacker look. Of course, it wouldn’t be much of a hack if you could just buy one of these little guys and install the Rubber Ducky firmware on it.

In an effort to make it easier to use, the official Rubber Ducky runs scripts written in a BASIC-like scripting language. [Tomas C] used a tool called duck2spark by [Marcus Mengs], which lets you take a Rubber Ducky script (which have been released by Hak5 as open source) and compile it into a binary for flashing to the Digispark.

Not quite as convenient as just copying the script to the original Ducky’s microSD card, but what do you want for less than 1/10th the original’s price? Like we’ve seen in previous DIY builds inspired by Hak5 products, the trade-off is often cost for ease of use.

[Thanks to Javier for the tip.]

Simple RC to USB Interface

With the radio control hobby arguably larger now than it ever has been in the past, there’s a growing demand for high-fidelity PC simulators. Whether you want to be able to “fly” when it’s raining out or you just want to practice your moves before taking that expensive quadcopter up for real, a good simulator on your computer is the next best thing. But the simulator won’t do you much good if it doesn’t feel the same; you really need to hook your normal RC transmitter up to the computer for the best experience.

[Patricio] writes in to share with us his simple hack for interfacing his RC hardware to his computer over USB. Rather than plugging the transmitter into the computer, his approach allows the receiver to mimic a USB joystick. Not only is this more convenient since you can use the simulator without wires, but it will make sure that the minutiae of your radio hardware (such as response lag) is represented in the simulation.

The setup is actually very simple. [Patricio] used the ATtiny85 based Digispark development board because it’s what he had on hand, but the principle would be the same on other microcontrollers. Simply connect the various channels from the RC receiver to the digital input pins. RC receivers are 5 VDC and draw very little current, so it’s even possible to power the whole arrangement from the USB port.

On the software side, the Arduino sketch does about what you expect. It loops through listening for PWM signals on the input pins, and maps that to USB joystick position information. The current code only supports three channels for a simple airplane setup (X and Y for joystick, plus throttle), but it should be easy enough to follow along and add more channels if you needed them for more complex aircraft.

For more information on the intricacies of RC transmitter and receiver interaction, check out this fascinating research on receiver latency.

Unlocking 12V Quick Charge on a USB Power Bank

[Robert Nixdorf] frequently needs to use this high-end audio recorder, but it sucks dry a set of eight AA batteries in just a few hours. Obviously a longer lasting solution was required, and he started scouring the web looking for an answer. He bought a Quick Charge power bank and then hacked a Digispark to negotiate with the power bank to provide 12V output to Quick Charge his audio recorder.

Qualcomm’s Quick Charge system is designed to provide increased output voltages to reduce charging time in QC compatible devices such as mobile phones powered by their Snapdragon range of SoC’s. Depending on how the end-point negotiates with the charger, either 5V, 9V or 12V outputs are supported.

You can dig into the details in Qualcomm’s Quick Charge Patent [PDF] which shows how the system works. Quite simply, the voltage provided by the charger depends on the signals set on the D+ and D- data pins during the initial handshaking phase. [Robert] found it easy to get his QC charger to provide the required voltage by using a 3V3 voltage regulator and a resistive divider. But a more permanent solution would be needed if he wanted to use it on the field.

His parts bin revealed a Digispark board and he set about hacking it. He isolated the VUSB from the rest of his board since it would get pulled up to 12V when in use. And then replaced the existing 5V regulator with a 3V3 one. This required several bodges which he has documented on his blog. Some simple code flashed on the ATtiny85 handles all of the handshaking and sets up 12V output to run his audio recorder. A single charge on the power bank now lasts him almost 12 hours, so he’s pretty satisfied with the hack.

Quick Charge is currently at version 4 and supports USB-C and USB-PD hardware such as cables and connectors. But it seems using USB-C hardware outside of the current USB-C specifications is deprecated, with reports suggesting Google is asking OEM’s not to use Quick Charge but stick to USB-PD. Let’s hope this gets settled one way or another soon.

Thanks, [Frank] for the tip.

Another Desktop LED Xmas Tree!

We love it when someone takes inspiration from one of our posts and comes up with their own twist on it. [Matthew] liked one builds he saw on Hackaday so much, he built his own LED desktop Xmas tree!

[Matthew] was inspired by [designer2k2]’s DIY desktop Xmas tree that was posted in October. To get started, he found a set of concentric WS2812 rings over on Ali Express. The five rings total 93 LEDs, plus a single WS2812 for the top of the tree. He also got a laser cut tree model from Thingiverse and had it cut, combining the LED rings with the tree in the final product

The whole thing running on a Digispark USB Development Board from DigiStump, the same as the original project. There aren’t many details in the video, but [Matthew] has put links to where he got the rings and the tree, the laser cutting service, a link to the DigiStump website as well as a link to [designer2k2]’s original tree project. There’s no source code yet, but [Matthew] says a link to it is coming along with some more pictures.

Continue reading “Another Desktop LED Xmas Tree!”

Just In Time For Christmas! A DIY Desktop LED Tree

Okay, we haven’t even hit Halloween yet, but if you’re planning some kind of holiday project, now’s a good time to start ordering your parts, especially if you’re designing your own PCB. While there’s no PCB involved, [designer2k2] built a desktop “hollow” Christmas tree using some WS2812 RGB LEDs controlled by a microcontroller and powered by USB.

The board running [designer2k2]’s project is a Digispark, a USB powered board by Digistump which contains an ATtiny85. The LEDs, four different sized NeoPixel rings, plus a single pixel for the top, are connected together using some solid wire which makes for a very cool look. The code that runs on the ATtiny is the part that really makes this tree. The code cycles through colors and some light chaser effects, as well as a mode that shows a green tree with some white lights. The whole project is topped off by a routine that spells “XMAS” as you look at the tree from the top down.

We’ve seen some other Christmas tree hacks over the years controlled by various things, but this one is a fairly simple, cool design. [Designer2k2] also released the code for the tree and I’m sure a lot of us could come up with some more light designs.

Check out the video after the break:

Continue reading “Just In Time For Christmas! A DIY Desktop LED Tree”

Hackaday Prize Entry: A Better Way Of Cheating

Believe it or not, some video games are still developed for the PC. With video games come cheat codes, and when they’re on the PC, that means using a keyboard. You can easily program any microcontroller to send a string of characters over a USB port with the touch of a button. Believe it or not, a lot of people haven’t put these two facts together. [danjovic] has, leading him to build a simple and cheap USB keystroke generator for quickly typing in cheat codes.

[danjovic] is basing his build around a Digispark, a cheap, USB-enabled ATtiny85 dev board. This, of course, means there’s not a lot of pins to play with – there are only four I/O pins, and one of them is connected to ground by a LED. That leaves only three I/O pins, but [danjovic] managed to put seven different cheats in his project using diodes and something that is almost charlieplexing.

If you’re wondering, this is a very inexpensive project. [danjovic] is using a Chinese digispark clone, a handful of 1N4148 diodes, and a few tact switches. Anyone with a well-stocked part drawer or a tenner on eBay could build this. If you want the proof of work for this project, you can check out the demo video below.

Continue reading “Hackaday Prize Entry: A Better Way Of Cheating”

Pump Up the Volume with Lead Shot and LEDs

One of the redeeming qualities of many modern cheap keyboards is the built-in volume control buttons. But this is Hackaday, and many of us (and you) have Model Ms or newfangled mechanical keyboards that only have the essential keys. Those multimedia buttons only adjust the system volume anyway. We would bet that a lot of our readers have sweet sound systems as part of their rig but have to get up to change the volume. So, what’s the solution? Build a color-changing remote USB volume knob like [Markus] did.

Much like the Instructable that inspired him, [Markus] used a Digispark board and a rotary encoder. The color comes from a WS2812 LED ring that fits perfectly inside a milky plastic tub that once held some kind of cream. When the volume is adjusted, the ring flashes white at each increment and then slowly returns to whatever color it’s set to. Pushing the button mutes the volume.

The components are pretty lightweight, and [Markus] didn’t want the thing sliding all over the desk. He took an interesting approach here and filled the base with the lead from a shotgun round and some superglue. The rotating part of the button needed some weight too, so he added a couple of washers for a satisfying feel. Be sure to check out the demonstration after the break.

Digispark board not metal enough for you? Here’s a volume knob built around a bare ATtiny85 (which is the same thing anyway).

Continue reading “Pump Up the Volume with Lead Shot and LEDs”