This Thermal Printer has Serious Game

[Dhole], like the fox, isn’t the first to connect his computer to a Game Boy printer but he has done a remarkable job of documenting the process so well that anyone can follow. The operation is described well enough that it isn’t necessary to scrutinize his code, so don’t be put off if C and Rust are not your first choices. The whole thing is written like a story in three chapters.

The first chapter is about hacking a link cable between two Game Boys. First, he explains the necessity and process of setting the speed of his microcontroller, a NUCLEO-F411RE development board by STMicroelectronics. Once the rate is set, he builds a sniffer by observing the traffic on the cable and listens in on two Game Boys playing Tetris in competition mode. We can’t help but think that some 8-bit cheating would be possible if Tetris thought your opponent instantly had a screen overflowing with tetrominoes. Spying on a couple of Game Boys meant that no undue stress was put on the printer.

Chapter two built on the first chapter by using the protocol to understand how the printer expects to be spoken to. There is plenty of documentation about this already, and it is thoughtfully referenced. It becomes possible to convince a Game Boy that the connected microcontroller is a printer so it will oblige by sending an image. Since there isn’t a reason to wait for printing hardware, the transfer is nearly instantaneous. In the image above, you can see a picture of [Dhole] taken by a Game Boy camera.

The final chapter, now that all the protocols are understood, is also the climax where the computer and microcontroller convince the printer they are a Game Boy that wants to print an image. In the finale, we get another lesson about measuring controller frequency without an oscilloscope. If you are looking for the hack, there it is. There is a handful of success in the form of old receipts with superimposed grayscale images since virgin thermal printer paper by Nintendo costs as much as a used printer.

This story had a happy ending but grab your reading glasses for the smallest Game Boy and here’s someone who wrote their own Game Boy color game.

Function Generator Gets DIY Frequency Standard

For those of us who like to wrangle electrons from time to time, there are some exceptional deals out there for low (or at least lower) cost imported test equipment. If you’re willing to part with a few hundred dollars US, you can get some serious hardware that a decade ago would have been effectively outside the reach of the hobbyist. Right now you can order a four channel oscilloscope for less than what a new Xbox costs; but which one you’ll rack up more hours staring at slack-jawed is up to you.

10 MHz output from DIY frequency standard

Of course, these “cheap” pieces of equipment aren’t always perfect. [Paul Lutus] was pretty happy with his relatively affordable Siglent SDG 1025 Arbitrary Function Generator, but found its accuracy to be a bit lacking. Fortunately, the function generator accepts an external clock which can be used to increase its accuracy, so he decided to build one.

[Paul] starts off by going over the different options he considered for this project, essentially boiling down to whether or not he wanted to jump through the extra hoops required for an oven-controlled crystal oscillator (OCXO). But the decision was effectively made for him when his first attempt at using a more simplistic temperature controlled oscillator failed due to an unfortunate misjudgment in terms of package size.

In the end, he decided to spring for the OCXO, and was able to use the USB port on the front panel of the SDG 1025 to provide the power necessary for the crystal to warm up and remain at operating temperature. After he got the oscillator powered, he just needed to put it in a suitable metal enclosure (to cut down external interference) and calibrate it. [Paul] cleverly used the NIST WWV broadcast and his ears to find when his frequency standard overlapped that of the source, therefore verifying it was at 10 MHz.

Hackers love accuracy, and accordingly, we’ve seen a number of frequency standard builds ranging from extremely cheap to luxuriously overkill.

Cracking an Encrypted External Hard Drive

As far as hobbies go, auditing high security external hard drives is not terribly popular. But it’s what [Raphaël Rigo] is into, and truth be told, we’re glad it’s how he gets his kicks. Not only does it make for fascinating content for us to salivate over, but it’s nice to know there’s somebody with his particular skill set out there keeping an eye out for dodgy hardware.

No word on how the “Secret Wang” performs

The latest device to catch his watchful eye is the Aigo “Patriot” SK8671. In a series of posts on his blog, [Raphaël] tears down the drive and proceeds to launch several attacks against it until he finally stumbles upon the trick to dump the user’s encryption PIN. It’s not exactly easy, it did take him about a week of work to sort it all out, but it’s bad enough that you should probably take this particular item off the wishlist on your favorite overseas importer.

[Raphaël] treats us to a proper teardown, including gratuitous images of chips under the microscope. He’s able to identify a number of components on the board, including a PM25LD010 SPI flash chip, Jmicron JMS539 USB-SATA controller, and Cypress CY8C21434 microcontroller. By hooking his logic analyzer up to the SPI chip he was able to dump its contents, but didn’t find anything that seemed particularly useful.

The second post in the series has all the gory details on how he eventually gained access to the CY8C21434 microcontroller, including a description of the methods which didn’t work (something we always love to see). [Raphaël] goes into great detail about the attack that eventually busted the device open: “cold boot stepping”. This method allowed him to painstakingly copy the contents of the chip’s flash; pulling 8192 bytes from the microcontroller took approximately 48 hours. By comparing flash dumps he was able to eventually discover where the PIN was being stored, and as an added bonus, found it was in plaintext. A bit of Python later, and he had a tool to pull the PIN from the drive’s chip.

This isn’t the first time we’ve seen a “secure” hard drive that ended up being anything but. We’ve even been witness to a safe being opened over Bluetooth. Seems like this whole “Security by Obscurity” thing might not be such a hot idea after all…

On a Quest for the Perfect Numpad

Often times, the only way to get exactly what you want in a device is to just build it yourself. Well, maybe not the only way, but we’ve all certainly told ourselves it was the only way enough that it might as well be true. We don’t know if the DIY imperative felt by [Olav Vatne] to construct his own Bluetooth mechanical number pad was genuine or self-imposed, but in either event, we’re glad he documented the process for our viewing pleasure.

Broken up into three separate posts on his blog, the construction of his custom numpad starts innocently enough with buying a kit from AliExpress. In a rather bizarre twist, the kit arrived assembled, which lead to an arduous period of desoldering to separate all the principle parts [Olav] wanted in the first place. So much for saving time.

Once he freed all the mechanical keys from the kit’s PCB, he went to town hand-wiring the matrix. After testing to make sure all the keys were wired correctly, the matrix got connected to an Adafruit Feather 32u4 Bluefruit. With the electronics sorted, [Olav] moved on to the software side. Here he was able to accomplish one of his primary goals, having a numpad that works over both USB and Bluetooth.

The last step of the process was creating the wooden enclosure. It basically goes together like a picture frame, with special care given to make sure there are appropriate openings in the case for the switches and USB port to pop through without ruining the overall look of the device.

Thanks to cheap USB-capable microcontrollers, hand-made artisan keyboards are now a thing. This project is a nice way to get started with custom input devices, and it only gets better from here.

Customizing STLs for Off-Brand Devices

[Rob Clarke] needed a mount for his off-brand action camera, but it’s not exactly the kind of thing with a bustling accessory market. To make matters worse, it turns out the camera is so low-key that he couldn’t find a 3D printable mount for it either. Luckily, a check with his calipers confirmed his camera is just about the same size as an old GoPro Hero 3, so all he had to do was modify an existing design to fit his needs.

As anyone who’s worked with STL files will tell you, they are a pain to modify. An STL is essentially a completed solid model, and not really meant to be fiddled around with. It’s a bit like trying to take an edited image and get back to the layers that were used to create it in Photoshop or GIMP. The final output has been “flattened”, so that granular control is lost.

That being said, [Rob] got rather lucky in this case. He found a GoPro mount that was about 90% there, he just needed to adjust the depth and change the positioning of the holes on the side. He loaded the STL into SketchUp, deleted the two sides, and replaced them with new surfaces. This gave him a clean slate to add the appropriate openings for his camera’s USB port and microSD card. To adjust the depth of the mount, he simply stretched the model out on the Z axis.

[Rob] event went ahead and released his modified STLs as a remix of the original case he found on Thingiverse for anyone else that has the same camera. That’s what we love to see.

If you’re interested in learning more about using SketchUp for designing 3D printed parts, check out this excellent guide by our very own [Brian Benchoff].

Continue reading “Customizing STLs for Off-Brand Devices”

Rejecting Microsoft’s Phaseout of the Kinect

You might not be aware unless you’re up on the latest gaming hardware, but Microsoft is trying to kill the Kinect. While the Xbox One famously included it as a mandatory pack-in accessory at launch (this was later abandoned to get the cost down), the latest versions of the system don’t even have the proprietary port to plug it in. For a while Microsoft was offering an adapter that would let you plug it into one of the console’s USB ports, but now even that has been discontinued. Owners of the latest Xbox One consoles who still want to use the Kinect are left to find an adapter on eBay, where the prices have naturally skyrocketed.

Recently [Eagle115] decided to open up his Kinect and see if he couldn’t figure out a way to hook it up to his new Xbox One. The port on the Kinect is a USB 3.0 B female, but it requires 12V to operate. The official Kinect adapter took the form of a separate AC adapter and a “tap” that provided the Kinect with 12V over USB, so he reasoned he could pop open the device and provide power directly to the pads on the PCB.

[Eagle115] bought a 12V wall adapter and a USB 3.0 B cable and got to work. Once the Kinect was popped open, he found that he needed to supply power on pin 10 (which is helpfully labeled on the PCB). There’s just enough room to snake the cable from the AC adapter through the same hole in the case where the the USB cable connects.

With the Kinect getting 12V from the AC adapter, the Xbox has no problem detecting it as if you were using the official adapter. At least for now, they haven’t removed support for the Kinect in the Xbox’s operating system.

The Kinect has always been extremely popular with hackers (it even has its own category here on Hackaday), so it’s definitely sad to see that Microsoft is walking away from the product. The community will no doubt continue pulling off awesome hacks with it; but it’s looking increasingly likely we won’t be getting a next generation Kinect.

[via /r/DIY]

Arduino Keyboard is Gorgeous Inside and Out

While the vast majority of us are content to plod along with the squishy chiclet keyboards on our laptops, or the cheapest USB membrane keyboard we could find on Amazon, there’s a special breed out there who demand something more. To them, nothing beats a good old-fashioned mechanical keyboard, where each key-press sounds like a footfall of Zeus himself. They are truly the “Chad” of the input device world.

But what if even the most high end of mechanical keyboards doesn’t quench your thirst for spring-loaded perfection? In that case, the only thing left to do is design and build your own. [Matthew Cordier] recently unveiled the custom mechanical keyboard he’s been working on, and to say it’s an elegant piece of engineering is something of an understatement. It may even better inside than it does on the outside.

The keyboard, which he is calling z.48, is based around the Arduino Pro Micro running a firmware generated on kbfirmware.com, and features some absolutely fantastic hand-wiring. No PCBs here, just a rainbow assortment of wire and the patience of a Buddhist monk. The particularly attentive reader may notice that [Matthew] used his soldering iron to melt away the insulation on his wires where they meet up with the keys, giving the final wiring job a very clean look.

Speaking of the keys, they are Gateron switches with DSA Hana caps. If none of those words mean anything to you, don’t worry. We’re through the Looking Glass and into the world of the keyboard aficionado now.

Finally, the case itself is printed on a CR-10 with a 0.3 mm nozzle and 0.2 mm layers giving it a very fine finish. At 70% infill, we imagine it’s got a good deal of heft as well. [Matthew] mentions that a production case and a PCB are in the cards for the future as he hopes to do a small commercial run of these boards. In the meantime we can all bask in the glory of what passes for a prototype in his world.

We’ve seen some exceptionally impressive mechanical keyboards over the years, including the occasional oddity like the fully 3D printed one and even one that inexplicably moves around. But this build by [Matthew] has to be one of the most elegant we’ve ever come across.

[Thanks to DarkSim905 for the tip]