KVM Uses Many Arduinos

The Arduino platform is one of the most versatile microcontroller boards available, coming in a wide variety of shapes and sizes perfect for everything from blinking a few LEDs to robotics to entire home automation systems. One of its more subtle features is the ability to use its serial libraries to handle keyboard and mouse duties. While this can be used for basic HID implementations, [Nathalis] takes it a step further by using a series of Arduinos as a KVM switch; although admittedly without the video and mouse functionality yet.

To start, an Arduino Uno accepts inputs from a keyboard which handles the incoming serial signals from the keyboard. From there, two Arduino Pro Micros are attached in parallel and receive signals from the Uno to send to their respective computers. The scroll lock key, which doesn’t do much of anything in modern times except upset Excel spreadsheeting, is the toggle switch between the two outputs. Everything is standard USB HID, so it should be compatible with pretty much everything out there. All of the source code and schematics are available in the project’s repository for anyone who wants to play along at home.

Using an Arduino to emulate a USB input device doesn’t have to be all work and no play, the same basic concept can also be used to build custom gaming controllers.

Reverse Engineering An RGB Keyboard Under Linux

Hardware support under Linux is far better than it ever has been in the past. These days, most things “just work” out of the box, and you probably won’t have to compile any custom kernel modules. Certainly a far cry from where things were a decade ago. But that doesn’t mean everything will work to 100% of its abilities. Take for example, the Duck keyboard that [Cynthia Revström] has. Sure it works as a basic keyboard under any OS, but getting those fancy RGB LEDs working is another story entirely.

Don’t get the wrong idea here, [Cynthia] isn’t just trying to get the keyboard to flash along to music; the goal was to use the RGB lighting of the Ducky keyboard for notifications that the user can’t possibly ignore. Even the most laser-focused among us would have a hard time not noticing that the entire keyboard is blinking red. But the “DuckyRGB” software that you need to do something like that is Windows-only and apparently distributed via a sketchy Google Drive link. Yikes.

The first step to creating an alternative was to spin up a Windows VM and install DuckyRGB. From there, Wireshark could listen in between the virtual computer and the Ducky keyboard to see what the software was sending over the wire. After identifying a version number being sent in the clear, [Cynthia] was able to isolate the LED commands by searching for the hex color codes. From there, it was a relatively simple matter of writing some glue code to connect it up to an alert service and get notifications going.

There was only one problem; the keyboard didn’t work anymore. Turns out the tool that [Cynthia] wrote to control the keyboard’s LEDs was claiming the device so the kernel couldn’t access it for normal input. It took a detour with HIDAPI to get everyone playing together nicely, and now changing the color of your Ducky keyboard on Linux doesn’t turn it into a paperweight.

Even if you don’t have a Ducky keyboard, or aren’t particularly interested in having its LEDs blinked at you if you do, this project is a phenomenal example of practical USB reverse engineering. [Cynthia] says the inspiration for this project came from friend [Ben Cox], who’s write-up on creating USB userspace drivers we covered last year. If you’ve got and old USB gadget with Windows-only drivers, maybe it’s time you take a crack at unlocking it.

Can You Print With Highlighter Ink?

With huge swathes of people either out of work or working from home, many are now attempting all manner of exciting or silly projects in their downtime. [Emily Velasco] is no exception. She decided to explore the feasability of printing with highlighter ink.

It’s a messy business. Wear gloves.

The hack starts with a rather ancient inkjet printer, so old that it works with tractor feed paper. [Emily] set about gutting several highlighter pens and squeezed out the ink reservoirs into a ladle. The printer’s ink cartridge was then filled with the fluid, and a test print was fired off. Upon initial extraction, it appears blank. However, with the aid of a UV light, the printed pattern is revealed. It appears that the inkjet is printing a very faint image, such that the system almost works as an “invisible ink”.

It’s a fun little hack with an old printer, made easier as it lacks the DRM of newer models. It’d probably be quite achievable with a dot-matrix, too. If you’re similarly tinkering in the innards of your peripherals, be sure to let us know. Video after the break.

Continue reading “Can You Print With Highlighter Ink?”

Faking Your Way To USB-C Support On Laptops Without It

Is there no end to the dongle problem? We thought the issue was with all of those non-USB-C devices that want to play nicely with the new Macbooks that only have USB-C ports. But what about all those USB-C devices that want to work with legacy equipment?

Now some would say just grab yourself a USB-C to USB-A cable and be done with it. But that defeats the purpose of USB-C which is One-Cable-To-Rule-Them-All[1]. [Marcel Varallo] decided to keep his 2011 Macbook free of dongles and adapter cables by soldering a USB-C port onto a USB 2.0 footprint on the motherboard.

How is that even possible? The trick is to start with a USB-C to USB 3 adapter. This vintage of Macbook doesn’t have USB 3, but the spec for that protocol maintains backwards compatibility with USB 2. [Marcel] walks through the process of freeing the adapter from its case, slicing off the all-important C portion of it, and locating the proper signals to route to the existing USB port on his motherboard.

[1] Oh my what a statement! As we’ve seen with the Raspberry Pi USB-C debacle, there are actually several different types of USB-C cables which all look pretty much the same on the outside, apart from the cryptic icons molded into the cases of the connectors. But on the bright side, you can plug either end in either orientation so it has that going for it.

Custom Reddit Keyboard Only Needs One Hand

Sometimes you might want to browse your favorite social media site while eating a sandwich, or throwing darts, or fending off an attacker with a sword. You know, normal things that might occupy only one of your hands. If you’ve ever found yourself in such a situation, then this custom Reddit keyboard could be for you.

Built by [jangxx], this little board is about as simple as it gets. Even if you aren’t looking for a way to browse /r/cooking while practicing your single-handed egg cracking technique, the same principles could be used to quickly throw together a macro keyboard for whatever your particular needs might be.

Inside the 3D printed enclosure is nothing more exotic than an Arduino Pro Micro and five Cherry MX Red switches. The switches have been wired directly to the GPIO pins on the Arduino, and a simple Sketch takes care of the rest. [jangxx] has written the code in such a way that you can easily define the mapping of USB HID keys to physical switches right at the top of the file, making it easy to reuse for your own purposes.

As simple as this project is, we really like the trouble that [jangxx] went through on the 3D printed key caps. The white up and down arrows allow you to navigate through the posts, and the center key selects the one you want to view. Since it’s for Reddit, naturally the red and blue buttons for rapid voting. When you want to go back to the list of posts, just hit the center button again.

Back in 2011 we saw a dedicated Reddit voting peripheral, but we think the addition of simple navigation keys makes this project a bit more compelling. Incidentally, if you can think of any other reason you might want a one-handed keyboard for browsing Reddit…we definitely don’t want to hear about it.

Dumpster Finds Combined Into 4K Desktop Monitor

Dumpster diving is a time honored tradition in the hacking community. You can find all sorts of interesting hardware in the trash, and sometimes it’s even fully functional. But even the broken gadgets are worth taking back to your lair to strip for parts. If you’re as lucky as [Jamz], you might be able to mash a few devices together and turn them into something usable.

In this case, [Jamz] scored a LG 27UK650 monitor with a cracked display and a Dell OptiPlex 7440 “All-in-One” computer that was DOA. Separately these two pieces of gear were little more than a pile of spare parts waiting to be liberated. But if the control board could be salvaged from the monitor, and the working LCD pulled from the Dell…

After taking everything apart, [Jamz] made a frame for this new Frankenstein monitor using pieces of aluminum channel from the hardware store and 3D printed side panels. With the Dell LCD mounted in the skeletal frame, the control board from the LG monitor was bolted to the back and wired in. Finally the center section of the LG monitor’s back panel was cut out and mounted to the new hybrid display with a 3D printed frame.

Admittedly, these were some pretty solid finds as far as trash goes. You won’t always be so lucky. But if you can keep an open mind, the curb is littered with possibilities. How about some impressive home lighting that started life as a cracked flat screen TV?

MIL-SPEC Keyboard Now Salutes USB

When [easyjo] picked up this late ’80s Marconi mil-spec keyboard for cheap, he knew it wouldn’t be easy to convert it to USB — just that it would be worth it. Spoiler alert: those LEDs aren’t a mod, they’re native. They get their interesting shape from the key traces, which are in the four corners.

Despite having way-cool buttons such as WPNS HOLD, and the fact that Control is on the home row where it belongs, this keyboard does not look fun to type on at all for any length of time. Of course, the point of this keyboard is not comfort, but a reliable input device that keeps out dust, sweat, liquids, and the enemy.

This is probably why the controller is embedded into the underside of the key switch PCB instead of living on its own board.  [easyjo] tried to analyze the signals from the existing 26-pin connector, but it didn’t work out.

So once he was able to decode the matrix, he removed the controller chip and wired the rows and columns directly to an Arduino Leonardo. Fortunately, the LEDs were just a matter of powering their columns from the front side of the board.

The availability of certain kinds of military surplus can make for really interesting modernization projects, like adding POTS to a field telephone.

Via r/duino