Building A Better Kerbal Space Program Controller

If you have even the most passing interest in space and what it takes to get there, you’ve probably already played Kerbal Space Program (KSP). If you haven’t, then you should set aside about ten hours today to go check that out real quick. Don’t worry, Hackaday will still be here when you get back. Right now you need to focus on getting those rockets built and establishing a network of communication satellites so you can get out of low orbit.

For those of you who’ve played the game (or are joining us again after playing KSP for the prescribed 10, 12, 16 hours), you’ll know that the humble computer keyboard is not very well suited to jaunts through space. You really want a joystick and throttle at the absolute minimum for accurate maneuvers, but even you’ll be spending plenty of time back on the keyboard to operate the craft’s various systems. If you want the ultimate KSP control setup, you’ll need to follow in the footsteps of [Hugo Peeters] and build your own. Luckily for us, he’s written up an exceptionally well detailed guide on building KSP controllers that should prove useful even if you don’t want to clone his.

Wiring switches and buttons to the Arduino.

At the most basic level, building a KSP controller consists of hooking a bunch of switches and buttons to a microcontroller such as the Arduino or Teensy, and converting those to USB HID key presses that the game understands. This works fine up to a point, but is limited because it’s only a one-way method of communication. For his controller, [Hugo] forked KSPSerialIO, a plugin for KSP that allows bidirectional communication between the game and your controller, enabling things like digital readouts of speed and fuel levels on the controller’s panel.

Once the logistics of how you’ll talk to the game are settled, the rest is really up to the individual. The first step in building your own KSP controller is deciding what you want it to do. Are you looking to fly planes? Control a rover? Maybe you just want a master control panel for your space station. There’s a whole lot of things you can build in KSP, and the layout, inputs, and displays on your controller should ideally reflect your play style.

[Hugo] went with a fairly general purpose panel, but did spend quite a bit of extra time to get some slick LED bar graphs hooked up to display resource levels of different systems on his craft. That’s an extra step that isn’t strictly required for a build like this, but once you see it, you’re going to have a hard time not wanting to include it on your own panel. He also went through the expense of having the panel and case professionally laser cut and etched, which definitely gives it a polished feel.

We’ve covered quite a number of custom KSP controllers here at Hackaday. The overlap between KSP players and hackers seems unusually high, but of course a game that lets you build and fly contraptions of your own design does sound like something that would be right up our alley.

Tomu: A Microcontroller For Your USB Port

Looking for a ultra tiny development board? Tomu is an ARM Cortex M0+ device that fits inside your USB port. We’ve seen these in person, and they’re tiny.

There’s a few commercial devices in this form factor on the market. For example, the Yubikey Nano emulates a keyboard to provide codes for two-factor authentication. The Yubikey’s tiny hardware does this job well, but the closed-source device isn’t something you can modify.

Tomu is a new device for your USB port. It sports a Silicon Labs EFM32 microcontroller, two buttons, and two LEDs. This particular microcontroller is well suited to the task. It can talk USB without a crystal for timing, and has an internal regulator to generate the core voltage from a 5 V USB supply. Since it supports DFU firmware updates, it can be reprogrammed without any special tools.

Unfortunately, the EFM32 device lacks secure storage options, so the Tomu might not be the best device to keep your secrets on. That being said, it will be interesting to see what applications people come up with. The creators have suggested using the device for media buttons, sleeping and waking a computer, and as a U2F key.

The project is currently available on CrowdSupply, and all design files and source is available on their Github. If you like soldering tiny things, the twelve-part bill of materials should be fairly easy to assemble at home.

Nintendo Switch Gets Making With Labo

Over the years, Nintendo has had little trouble printing money with their various gaming systems. While they’ve had the odd misstep here and there since the original Nintendo Entertainment System was released in 1983, overall business has been good. But even for the company that essentially brought home video games to the mainstream, this last year has been pretty huge. The release of the Nintendo Switch has rocketed the Japanese gaming giant back into the limelight in a way they haven’t enjoyed in a number of years, and now they’re looking to keep that momentum going into 2018 with a killer new gaming accessory: a cardboard box.

Some of the contraptions feature surprisingly complex internal mechanisms.

Well, it doesn’t have to be a box, necessarily. But no matter which way you fold it, it’s definitely a piece of cardboard. Maybe a few bits of string here and there. This is the world of “Nintendo Labo”, a recently announced program which promises to let Switch owners create physical objects which they can interact with via specially designed software for the console.

The Labo creations demonstrated in the bombastic announcement video make clever use of the very unique Switch hardware. The removable Joy-Con controllers are generally still used as input devices, albeit in less traditional ways. Twisting and tilting the cardboard creations, which take varied forms such as a fishing rod or motorcycle handlebars, relays input to the appropriate game thanks to the accelerometers and gyroscopes they contain.

Many of the more complex contraptions rely on a less-known feature of the controller: the IR depth camera. By pointing the controller’s camera inside of the devices, the motion of internal components, likely helped along by IR-reflective tape, can be tracked in three dimensions. In the video, the internal construction of some of the devices looks downright intimidating.

Which leads into the natural question: “Who exactly is this for?”

Clearly some of the gadgets, not to mention the folded cardboard construction, are aimed at children, an age group Nintendo has never been ashamed to appeal to. But some of the more advanced devices and overall concept seems like it would play better with creative teens and adults looking to push the Switch in new directions.

Will users be empowered to create their own hardware, and by extension, associated software? Will hackers and makers be able to 3D print new input devices for the Switch using this platform? This is definitely something we’ll be keeping a close eye on as it gets closer to release in April.

The popularity of the Switch has already given rise to a surprising amount of hacking given how new the console is. It will be interesting to see if the introduction of Labo has any effect on the impressive work already being done to bend the console to the owner’s will.

Continue reading “Nintendo Switch Gets Making With Labo”

Printed PC Speakers Are Way Cooler Than Yours

On the off chance you’re reading these words on an actual desktop computer (rather than a phone, tablet, smart mirror, game console…), stop and look at the speakers you have on either side of your monitor. Are you back now? OK, now look at the PC speakers and amplifier [Kris Slyka] recently built and realize you’ve been bested. Don’t feel bad, she’s got us beat as well.

The speaker and amplifier enclosures were painstakingly printed and assembled over the course of three months, and each piece was designed to be small enough to fit onto the roughly 4 in x 4 in bed of her PrintrBot Play. While limited print volume made the design considerably trickier, it did force [Kris] to adopt a modular design approach with arguably made assembly (and potential future repairs or improvements) easier.

The amplifier is made up of rectangular “cells” which are connected to each other via 3 mm threaded rods. For now the amplifier only has 4 cells, but this could easily be expanded in the future without having to design and print a whole new case. Internally the amplifier is using two TDA8932 digital amplifier modules, and some VU meters scored off of eBay.

Each speaker enclosure is made up of 10 individual printed parts that are then glued and screwed together to make the final shape, which [Kris] mentions was inspired by an audio installation at the Los Angeles County Museum of Art. They house 4″ Visaton FR 10 HM drivers, and are stuffed with insulation.

It’s a bit difficult to nail down the style that [Kris] has gone for here. You see the chunky controls and analog VU meters and want to call it retro, but it’s also a brass cog and sprocket away from being Steampunk. On the other hand, the shape of the speakers combined with the bamboo-filled PLA used to print them almost gives it an organic look: as if there’s a tree somewhere that grows these things. That’s actually a kind of terrifying thought, but you get the idea.

If your computer speakers were assembled by mere mortals, never fear. We’ve covered a number of interesting hacks and mods for more run-of-the-mill desktop audio setups which should hold you over until it’s time to harvest the speaker trees.

[via /r/3Dprinting]

Extracting A Vector Font From A Vintage Plotter

There is a huge variety of hardware out there with a font of some form or other baked into the ROM. If it’s got a display it needs a font, and invariably that font is stored as a raster. Finding these fonts is trivial – dump the ROM, render it as a bitmap, and voilà – there’s your font. However, what if you’re trying to dump the font from a vintage Apple 410 Color Plotter? It’s stored in a vector format, and your job just got a whole lot harder.

The problem with a vector font is that the letters aren’t stored as individual images, but as a series of instructions that, when parsed correctly, draw the character. This has many benefits for generating characters in all manner of different sizes, but makes the font itself much harder to find in a ROM dump. You’re looking for both the instructions that generate the characters, as well as the code used to draw them, if you want a full representation of the font.

The project begins by looking at what’s known about the plotter. The first part of any such job is always knowing where to look, of course. It’s quickly determined that the font is definitely stored in the main ROM, and that there is no other special vector drawing chip or ROMs on board. The article then steps through the search process, beginning with plaintext searches of the binary dump, before progressing to a full disassembly of the plotter firmware. After testing out various assumptions and working methodically, the vector data is found and eventually converted into a modern TrueType font.

In the end, the project is successful, and it’s a great guide on how to approach similar projects. The key is to lay out everything you know at the start, and use that to guide your search step by step, testing and discarding assumptions until you hit paydirt. We’ve seen similar works before, like this project to dump the voice from an ancient Chrysler Electronic Voice Alert.

Cherry MX to LEGO keypads

Connecting Cherry MX Key Switches To LEGO Just Got Easier

The Cherry MX Blue keyswitch

Here on Hackaday, we like keyboard hacks. Given how much time we all spend pounding away on them, they’re natural hacks to come up with. If you’re pulling the circuitry from an existing keyboard then chances are the keys are pressed either by pushing down on rubber domes (AKA the membrane type), or on mechanical switches. [Jason Allemann] has just made it easier to do keyboard hacks using LEGO by building one for a circuit board with mechanical Cherry MX key switches. That involved designing parts to connect LEGO bricks to the switches.

For those custom parts, he recruited his brother [Roman], who’s a mechanical engineer. [Roman] designed keycaps with a Cherry MX stem on one side for snapping onto the key switches, and LEGO studs on the other side for attaching the LEGO bricks. The pieces also have a hole in them for any keys which have LEDs. Of the 100 which [Jason] ordered from Shapeways, around ten were a bit of a loose fit for the LEGO bricks, but only if you were doing extreme button mashing would they come off.

The easy part was the keyboard circuit board itself, which he simply removed from an old Cooler Master Quick Fire Rapid keyboard and inserted into his own LEGO keyboard base.

LEGO mechanical keyboard
LEGO mechanical keyboard

We do like his creative use of bricks for the keys. For one thing, the letter keys have no letters on them and so is for toufh-typosts touch-typists only. The Caps Lock is a baseball cap, which would be awkward to press except that no one ever does anyway. ESC is a picture of a person running from a dinosaur and F1, which is often the help-key, is the Star of Life symbol for medical emergency services such as ambulances. Scroll Lock is, of course, a scroll. And to make himself type faster, he incorporated blue racing stripes into the frame, but you can judge for yourself whether or not that trick actually works by watching his detailed build-video below.

Continue reading “Connecting Cherry MX Key Switches To LEGO Just Got Easier”

Gesture Keyboard For Universal Input

Keyboards are currently the most universally accepted computer input devices. They may be wired, wireless, or virtual, but the chances are that you’re within a few centimeters of a keyboard right now. [Federico Terzi] built a prototype from an Arduino and an accelerometer which conceptually resembles writing in Palm’s old Graffiti, though this version is performed in mid-air with a handheld instead of a little square at the bottom of an LCD screen.  He can also operate wirelessly with a Bluetooth module and battery.

The task of the Arduino is to take data from the accelerometer and feed it to the computer whenever a 12mm switch is pressed. Each letter is individually learned by his Python code and scikit-learn’s Support Vector Machine. There’s nothing holding a user back from giving single-letter commands to your favorite programs. For example, it would be possible to give a thumbs-up in meatspace when you want to upvote or covering your ears could mute the audio.

We love keyboard hacks like this mechanical macro keyboard, a minimal and elegant USB Morse key(board), and Brian Benchoff’s open love-letter to mechanical keyboards.

Continue reading “Gesture Keyboard For Universal Input”