You might think it’s a bit early for us to be running Halloween hacks, but don’t worry. While this microcontroller-equipped doll that mimics a USB keyboard to type out messages in the creepiest way possible might seem like a gag gift you’d get after attending somebody’s bone-chilling holiday bash, creator [Jonathan] actually put it together for a friend’s wedding. So not only is it an interesting piece of hacked together hardware, but it’s also a great reminder about the importance of having a wedding registry.
Even if this seems like a rather unusual wedding gift from an outsider’s perspective (for the record, pranks involving this “haunted doll” have been a running gag between them since their school days), we can’t help but be impressed with the way [Jonathan] implemented it. An ATtiny85-powered Digispark is hidden inside the doll, along with a simple USB 2.0 hub that supposedly eases some teething issues the diminutive development board has with newer USB 3.0 ports. Through the use of V-USB, this lets the baby type out messages once plugged into the recipient’s computer.
Now he could have just stopped there, but [Jonathan] wanted this to be an interactive experience. Specifically, he wanted the baby to present the newlyweds with a personally test of sorts, and that meant taking user input. He came up with the clever user interface demonstrated in the video below, which responds to changes in the system’s “Caps Lock” state.
This platform-agnostic solution lets the user navigate the doll’s menu system by tapping a single key, although the Chromebook users out there will have to break out the Alt key to play along. It’s a neat trick for getting two-way communication going between a MCU and a computer without any client-side software, and worth filing away mentally for future non-haunted projects. It’s also worth checking out the effort [Jonathan] put into optimizing everything to fit into the chip’s paltry 6012 bytes of flash.
Incidentally, this is a good a time as any to remind readers that our Halloween Hackfest contest is live right now and taking entries until October 11th. If you’ve got any cursed bar mitzvah gifts you’ve been putting the finishing touches on, we’d love to see them.
To say that 2020 was a transformative year would be something of an understatement. The COVID-19 pandemic completely changed the way we worked, learned, and lived. Despite all those jokes about how much time people spend on their devices rather than interacting face-to-face with other humans, it turns out that when you can’t get more than a few people together in the same room, it throws our entire society into disarray.
Our community had to rethink how we congregated, and major events like HOPE, DEF CON, and even our own Hackaday Supercon, had to be quickly converted into virtual events that tried with varying degrees of success to capture the experience of hundreds or thousands of hackers meeting up in real life. While few would argue that a virtual hacker convention can ever truly replace a physical one, we learned there are undeniable benefits to embracing the advantages offered by cyberspace. If nothing else, the virtual hacker meetups of 2020 saw a far larger and more diverse array of attendees and presenters than ever before.
As we begin seeing the first rays of light at the end of the long, dark, tunnel we’ve been stuck in, it’s clear that some of the changes that COVID-19 forced on our community are here to stay. As eager as we all are to get back to the epic hackfests of old, nobody wants to close the door on all those who would be unable to attend physically now that they’ve gotten to peek behind the curtain.
With this in mind, this year’s DEF CON is being presented in both physical and virtual forms simultaneously. If you made to Las Vegas, great. If not, you can follow along through chat rooms and video streams from the comfort of your own home. Following the theme, the DC29 badge is not only a practical tool for virtual attendees, but an electronic puzzle for those who are able to bring a few of them together physically. Let’s take a closer look at this socially distanced badge and the tech that went into it.
It turns out that PS/2 and USB are very, very different. A PS/2 keyboard sends your keystroke every time you press a key, as long as it has power. A USB keyboard is more polite, it won’t send your keystrokes to the PC until it asks for them.
To help us make sense of USB’s more complicated transactions, [Ben] prints out the oscilloscope trace of a USB exchange between a PC and keyboard and deciphers it using just a pen and the USB specification. We were surprised to see that USB D+ and D- lines are not just a differential pair but also have more complicated signaling behavior. To investigate how USB handles multi-key rollover, [Ben] even borrowed a fancy oscilloscope that automatically decodes the USB data packets.
It turns out that newer isn’t always better—the cheap low-speed USB keyboard [Ben] tested is much slower than his trusty PS/2 model, and even a much nicer keyboard that uses the faster full-speed USB protocol is still only just about as fast as PS/2.
For hackers on a tight budget or with limited bench space, a USB oscilloscope can be a compelling alternative to a dedicated piece of hardware. For plenty of hobbyists, it’s a perfectly valid option. But while the larger discussion about the pros and cons of these devices is better left for another day, there’s one thing you’ll definitely miss when the interface for your scope is a piece of software: the feel of physical buttons and knobs.
But what if it doesn’t have to be that way? The ScopeKeypad by [Paul Withers] looks to recreate the feel of a nice bench oscilloscope when using a virtual interface. Is such a device actually necessary? No, of course not. Although one could argue that there’s a certain advantage to the feedback you get when spinning through the detents on a rotary encoder versus dragging a slider on the screen. Think of it like a button box for a flight simulator: sure you can fly the plane with just the keyboard and mouse, but you’re going to have a better time with a more elaborate interface.
The comparison with a flight simulator panel actually goes a bit deeper, since that’s essentially what the ScopeKeypad is. With an STM32 “Blue Pill” microcontroller doing its best impression of a USB Human Interface Device, the panel bangs out the prescribed virtual key presses when the appropriate encoder is spun or button pressed. The project is designed with PicoScope in mind, and even includes a handy key map file you can load right into the program, but it can certainly be used with other software packages. Should you feel so inclined, it could even double as a controller for your virtual spaceship in Kerbal Space Program.
Folks who like the take the old Amiga out for the occasional Sunday drive usually do it because they have wistful memories of the simpler times. Back when you could edit documents or view spreadsheets on a machine that had RAM measured in kilobytes instead of gigabytes. But even the most ardent retro computer aficionado usually allows for a bit of modern convenience.
Enter the mouSTer. This tiny device converts a common USB HID mouse into something older computers can understand. It even supports using Sony’s PlayStation 4 controller as a generic game pad. While the firmware is still getting tweaked, the team has confirmed its working on several classic machines and believe it should work on many more. Considering the prices that some of these old peripherals command on the second hand market, using a USB mouse or controller on your vintage computer isn’t just more convenient, but will likely be a lot cheaper.
Confirmed retrocomputing superfan [Drygol] is a member of the team working on mouSTer, and in a recent post to his retrohax blog, he talks a bit about what’s happened since his last update over the summer. He also talks a bit about the challenges they’ve faced to get it into production. Even if you’re not into poking around on vintage computers, there are lessons to be learned here about what it takes to move from a handful of prototypes to something you can actually sell to the public.
We especially liked the details about the mouSTer enclosure, or lack thereof. Originally [Drygol] says they were going to have the cases injection molded, but despite initial interest from a few companies they talked to, nobody ended up biting because it needed to be done with relatively uncommon low pressure injection. While 3D printing is still an option, the team ended up using clear heatshrink tubing to create a simple conformal protective shell over the electronics. Personally we think it looks great like this, but it sounds like this is only a temporary solution until something a bit more robust can be implemented.
Companies like Google and Microsoft have been investing heavily in the concept of cloud gaming, where a player uses their computer or a mobile device to stream the video feed of a game that’s running on powerful machine tucked away in a data center somewhere. With this technology you can play the latest and greatest titles, even if the device you’re using doesn’t have the processing power to run it locally.
Considering the Switch is already a portable system, it’s not too surprising Nintendo doesn’t seem interested in the technology. But that didn’t stop [Stan Dmitriev] from doing a bit of experimentation on his own. With little more than a Raspberry Pi 4 and Trinket M0, he’s demonstrated that users can remotely interact with the Switch well enough to play games in real time.
The setup is fairly straightforward. A cheap HDMI capture device is used to grab the video from the Nintendo Switch dock, which is then streamed out to web with the help of the Pi’s hardware video encoder. Input from the user is sent over the Pi’s UART to the Trinket, which itself is running a firmware specifically developed for mimicking Nintendo Switch controllers. With so many elements involved, naturally some latency comes into play. The roughly 100 millisecond delay [Stan] is reporting isn’t exactly ideal for fast-paced gaming, but is certainly adequate for more relaxed titles.
On the software side of things, the project is using a SDK developed by [Stan]’s employer SurrogateTV. Right now you need to apply if you want to get your game or other interactive gadget up on the service, though he says it will be opened up to the public next year. But even without all the details, we’ve got a clear idea of how both the video capture and user input sides of the equation are being handled. For personal use, all you’d really need to do is put together a simple web interface to tie it all together.
If you have fond childhood memories of afternoons spent at the local arcade, then you’ve had the occasional daydream about tracking down one of those old cabinets and putting it in the living room. But the size, cost, and rarity of these machines makes actually owning one impractical for most people.
While this fully functional 1/4th scale replica of the classic Star Wars arcade game created by [Jamie McShan] might not be a perfect replacement for the original, there’s no denying it would be easier to fit through your front door. Nearly every aspect of the iconic 1983 machine has been carefully recreated, right down to a working coin slot that accepts miniature quarters. Frankly, the build would have been impressive enough had he only put in half the detail work, but we certainly aren’t complaining that he went the extra mile.
[Jamie] leaned heavily on resin 3D printed parts for this build, and for good reason. It’s hard to imagine how he could have produced some of the tiny working parts for his cabinet using traditional manufacturing techniques. The game’s signature control yoke and the coin acceptor mechanism are really incredible feats of miniaturization, and a testament to what’s possible at the DIY level with relatively affordable tools.
The cabinet itself is cut from MDF, using plans appropriately scaled down from the real thing. Inside you’ll find a Raspberry Pi 3 Model A+ running RetroPie attached directly to the back of a 4.3 inch LCD with integrated amplified speakers. [Jamie] is using an Arduino to handle interfacing with the optical coin detector and controls, which communicates with the Pi over USB HID. He’s even added in a pair of 3,000 mAh LiPo battery packs and a dedicated charge controller so you can blow up the Death Star on the go.