Overwhelmed By Odd Inputs: The Contest Winners And More

The Odd Inputs and Peculiar Peripherals Contest wrapped up last week, and our judges have been hard at work sifting through their favorite projects. And this was no easy task – we had 75 entries and so many of them were cool in their own right that all we can say is go check them all out. Really.

But we had to pick winners, not the least because Digi-Key put up three $150 gift certificates. So without further ado, here are the top three projects and as many honorable mentions as you have fingers and toes – if you don’t count your thumbs.

The Prize Winners

Keybon should be a mainstream commercial product. It’s a macro keypad with an OLED screen per key. It talks to an application on your desktop that detects the program that you currently have focused, and adapts the keypress action and the OLED labels to match. It’s a super-slick 3D-printed design to boot. It’s the dream of the Optimus Maximus, but made both DIY and significantly more reasonable as a macro pad. It’s the coolest thing to have on your desk, and it’s a big winner!

On the ridiculous side of keyboards, meet the Cree-board. [Matt] says he got the idea of using beefy COB LEDs as keycaps from the bad pun in the name, but we love the effect when you press down on the otherwise blinding light – they’re so bright that they use your entire meaty finger as a diffuser. Plus, it really does look like a keypad of sunny-side up eggs. It’s wacky, unique, and what’s not to love about that in a macropad?

Finally, [Josh EJ] turned an exercise bike into a wireless gamepad, obliterating the choice between getting fit and getting high scores by enabling both at the same time. An ESP32-turned-Bluetooth-gamepad is the brains, and he documents in detail how he hooked up a homebrew cadence sensor, used the heart-rate pads as buttons, and even added some extra controls on top. Watching clips of him pedaling his heart out in order to push the virtual pedal to the metal in GRID Autosport, we only wish he were screaming “vroooom”. Continue reading “Overwhelmed By Odd Inputs: The Contest Winners And More”

When Is One Pixel Cooler Than Millions?

On vacation, we went to see a laser show – one of the old school variety that combines multiple different lasers of many different colors together into a single beam, modulates them to create different colors, and sends it bouncing off galvos to the roof of a planetarium. To a musical score, naturally.

When I was a kid, I had no idea how they worked, but laser shows were awesome. As a younger grownup hacker, and after some friends introduced me to the dark arts, I built my own setup. I now know how they work from the deepest innards out, and they are no less awesome. Nowadays, you can get a capable set of galvos and drivers for around a hundred bucks from the far east, it’s fair to say that there’s no magic left, but the awesome still remains.

RGB laser
“laser show” by Ilmicrofono Oggiono

At the same time, lasers, and laser shows, are supremely retro. The most stunning example of this hit me while tearing apart a Casio projector ages ago to extract the otherwise unobtainable brand new 455 nm blue laser diodes. There I was pulling one diode out of an array of 24 from inside the projector, and throwing away the incredibly powerful DSP processor, hacking apart the precision optical path, and pulling out the MEMS DLP mirror array with nearly a million little mirrors, to replace it with two mirrors, driven around by big old coil-of-wire electromagnets. Like a caveman.

But still, there’s something about a laser show that I’ve never seen replicated – the insane color gamut that they can produce. It is, or can be, a lot more than just the RGB that you get out of your monitor. Some of the colors you can get out of a laser (or a prism) are simply beautiful in a way that I can’t explain. I can tell you that you can get them from combining red, blue, green, cyan, and maybe even a deep purple laser.

What you get with a laser show pales in comparison to the multi-megapixel projectors in even a normal movie theater. Heck, you’ve really got one pixel. But if you move it around fast enough, and accompany it with a decent soundtrack, you’ve still got an experience that’s worth having while you still can.

[Banner image from a positively ancient RGB laser hack. We need more! Send us yours!]

GGWave Sings The Songs Of Your Data

We’re suckers for alternative data transmission methods, and [Georgi Gerganov]’s ggwave made us smile. At its core, it’s doing what the phone modems of old used to do – sending data encoded as different audio tones. But GGwave does this with sophistication!

It splits the data into four-bit chunks, and uses 16 different frequency offsets to represent each possible value. But for each chunk, these offsets are added to one of six different base frequencies, which allows the receiving computer to tell which chunk it’s in. It’s like a simple framing concept, and it makes the resulting data sound charmingly like R2-D2. (It also uses begin and end markers to be double-sure of the framing.) The data is also sent with error correction, so small hiccups can get repaired automatically.

What really makes ggwave shine is that it’s ported to every platform you care about: ESP32, Arduino, Linux, Mac, Windows, Android, iOS, and anything that’ll run Python or JavaScript. So it’ll run in a browser. There’s even a GUI for playing around with alternative modulation schemes. Pshwew! This makes it easy for a minimalist microcontroller-based beeper button to control your desktop, or vice-versa. An ESP32 makes for an IoT-style WiFi-to-audio bridge. Write code on your cell phone, and you can broadcast it to any listening microcontroller. Whatever your use case, it’s probably covered.

Now the downside. The data rate is slow, around 64-160 bits per second, and the transmission is necessarily beepy-booopy, unless you pitch it up in to the ultrasound or use the radio-frequency HackRF demo. But maybe you want to hear when your devices are talking to each other? Or maybe you just think it’s cute? We do, but we wouldn’t want to have to transmit megabytes this way. But for a simple notification, a few bytes of data, a URL, or some configuration parameters, we can see this being a great software addition to any device that has a speaker and/or microphone.

Oh my god, check out this link from pre-history: a bootloader for the Arduino that runs on the line-in.

Continue reading “GGWave Sings The Songs Of Your Data”

UART Can’t? Arduino CANSerial Can!

[Jacob Geigle] had a problem. A GPS unit and a Bluetooth-to-serial were tying up all the hardware UARTs on an AVR Arduino project. “Software serial”, I hear you say. But what if I told you [Jacob] already had the board in question sending out data over CAN bus?

[Jacob]’s sweet hack creates an arbitrary number of CAN “devices” inside the Arduino code, and can treat each one of them as its own serial data channel. The “N” in CAN stands for network, after all. The trick is to create a device ID for each desired CANSerial interface, which is done in his library using the usual Arduino setup step. A buffer takes care of storing all the different channels until they can be pushed out over the hardware CAN peripheral. On the big-computer side of things, some software listens for the different “device” enumeration IDs and assigns each a virtual serial port.

While this was a hack born of necessity, we can see it as a clever opportunity to segregate information coming from the microcontroller into different streams. Maybe a debug channel, a command channel, and a data channel? They’re virtual devices, so go nuts!

While we usually see CANbus in its native habitat – inside your car – it’s also cool to think of the uses we could put it to. For instance, controlling a 3D printer. Need a CAN refresher? We’ve got just the ticket.

[Bus photo: Malta Bus; The terminus, Valletta by John Haslam. Can photo: Paint Cans by Daniel R. Blume. Horrible visual pun: I’m afraid that’s on us. You try finding images for CANbus code!]

Fighting All That Can Go Wrong With Resin

[Jan Mrázek] is on a quest to make your resin 3D prints more accurate, more functional, and less failure prone. Let’s start off with his recent post on combating resin shrinkage.

When you want a part to have a 35 mm inner diameter, you probably have pretty good reasons, and when you draw a circle in your CAD software, you want a circle to come out in the real world. Resin shrinkage can put a kink in both of these plans. [Jan] identifies three culprits: resin squeezing, resin shrinkage, and exposure bleeding. And these three factors can add up in unexpected ways, so that you’ll get a small reference cube when you print it on its own, but large reference cubes when printed as a group. [Jan]’s article comes with a test piece that’ll help you diagnose what’s going on. Continue reading “Fighting All That Can Go Wrong With Resin”

Think You Know How Mario Kart Works?

In what looks like the kickoff of a fun video series, [MrL314] takes us on a quick but deep tour of how the AI in Mario Kart works. (Video, embedded below.) Don’t play much Mario Kart anymore? Well, have a look anyway because some of the very simple tricks that make Bowser pass Princess Peach without running into her might be useful in any manner of pre-programmed navigation scenarios.

Quick spoilers. The CPU players move through different zones, each with a desired speed and a vector direction field that changes the direction they should point in. Only when they run off course do they actually compute headings to their target. Setting this desired direction and speed beforehand greatly reduces the on-the-fly computation needed.

Then you throw other players into the mix, and a very simple distance-dependant turning algorithm makes for clean overtaking. This effect is hand-tweaked for the particular racecourse, though, because you don’t want Luigi driving off the thin stretches on Rainbow Road. For more technical details, you can check out [MrL314]’s notes.

If anything, this video gives us a further appreciation of the clever little hacks that create apparently complex interactions from tremendously simple rules. Remember Mario Kart when you’re programming in that next multi-gigabyte neural network model, OK?

Continue reading “Think You Know How Mario Kart Works?”

Dithering Makes Everything Cooler: Now Even Animated

[dukope] was writing a game, Return of the Obra Dinn, with a fantastic visual style. One of the choices was to make everything in glorious one-bit color, otherwise known as black and white, and then dither it back to monochrome. You know, like they used to do on the Mac Plus.

If dithering is your aesthetic, then it makes a ton of sense to take it seriously. And it’s absolutely beautiful – check out the video below.

But what’s even more amazing is [dukope]’s attention to detail on the dithering. For instance, this post on the TIG forums details the problems and solutions when you have a dithered image that needs to also be animated. You want the dots to stay relatively constant on the object as the virtual camera pans across the scene, and that’s going to necessitate a custom algorithm. And if you think that’s cool, have a look at how the book at the center of the game is animated.

What can we say. We loved dithering before, but this post has made our love even deeper.

Continue reading “Dithering Makes Everything Cooler: Now Even Animated”