While most computer users make do with just a keyboard and mouse, power users often have multiple additional input devices. Gamers use joysticks or dedicated mice, CAD engineers have specialized gadgets for manipulating 3D objects, while graphic designers might want programmable macro buttons to automate various tasks. [Sascha Nitsch] didn’t fancy cluttering his desk with a whole bunch of input devices and therefore decided to combine as many functions as possible into the CIMDIT: a Completely Insane Multi Device Input Thingy.
The main components making up the CIMDIT are a 3-axis joystick module, which can double as a 3D CAD mouse, and a set of buttons, knobs and sliders to enable various functions. One rotary encoder is used to choose an operating mode, while four others can be used as programmable inputs. A small OLED display shows which mode is currently selected, but can also be used to display notifications from various programs.
An Arduino Pro Micro provides a USB interface to a PC and reads out the various input units. The entire design is modular, so it can be customized to any desired combination of analog and digital inputs. [Sascha] made a neat 3D printed enclosure to hold the 3-axis module along with 26 buttons, five rotary encoders and one analog slider. KiCAD files for the PCBs and the FreeCAD source for the enclosure are available under an open-source license on [Sascha]’s Git repo.
The same thing applies to the software driving the CIMDIT, though adding functionality to it might turn out to be tricky: [Sascha] had to perform some serious code optimization to fit everything into the Arduino’s 32 kB of program flash. The Git repo also includes a convenient tool to create key mappings to be programmed into the controller, saving you from having to compose a binary file by hand.
The build is simple and straightforward, using a Teensy LC to interface with a simple gameport joystick. With a smattering of simple components, it’s easy to read the outputs of the joystick with only a little debounce code needed to ensure the joystick’s buttons are read accurately. Similarly, analog axes are read using the analog-to-digital converters onboard the microcontroller.
This data is then converted into control changes, note triggers and velocity levels and sent out over the Teensy LC’s USB interface. A mode switch enables changes to the system’s behaviour to be quickly made. The device is wrapped up in a convenient housing nabbed from an old Gameport-to-USB converter from many years ago.
It’s a neat project and we’re sure the joystick allows [alekappa] to add a new dimension to his performances on stage. We’ve seen other great MIDI controllers, too, from the knitted keyboard to the impressive Harmonicade. If you’ve got your own mad musical build under construction, don’t hesitate to drop us a line!
One of the biggest reasons for playing older video games on original hardware is that emulators and modern controllers can’t replicate the exact feel of how those games would have been originally experienced. This is true of old PC games as well, so if you want to use your original Sidewinder steering wheel or antique Logitech joystick, you’ll need something like [Necroware]’s GamePort adapter to get them to communicate with modern hardware.
In a time before USB was the standard, the way to connect controllers to PCs was through the GamePort, typically found on the sound card. This has long since disappeared from modern controllers, so the USB interface [Necroware] built relies on an Arduino to do the translating. Specifically, the adapter is designed as a generic adapter for several different analog joysticks, and a series of DIP switches on the adapter select the appropriate mode. Check it out in the video after the break. The adapter is also capable of automatically calibrating the joysticks, which is necessary as the passive components in the controllers often don’t behave the same way now as they did when they were new.
Plenty of us have joysticks and steering wheels from this era stored away somewhere, so if you want to experience Flight Simulator 5.0 like it would have been experienced in 1993, all it takes is an Arduino. And, if you want to run these programs on bare metal rather than in an emulator, it is actually possible to build a new Intel 486 gaming PC, which operates almost exactly like a PC from the 90s would have.
If there’s anything you can guarantee about a video game system, it’s that in 20 years after one suffers a commercial failure there will be a tiny yet rabid group of enthusiasts obsessed with that system. It’s true for the Virtual Boy, the Atari Jaguar, and of course, the Nokia N-Gage. For those not familiar, this was a quirky competitor of the Game Boy Advance that was also a cell phone. And for that reason it had more buttons than a four-player arcade cabinet, which has led to things like this custom controller.
Most N-Gage gaming these days takes place on emulators, this build is specifically built for the emulator experience. The original system had so many buttons that it’s difficult to get even a standard 102-key keyboard mapped comfortably to it, so something custom is almost necessary. [Lvaneede], the creator of this project, took some parts from an existing arcade cabinet he had and 3D printed the case in order to craft this custom controller. The buttons he chose are a little stiff for his liking, but it’s much better than using a keyboard.
In the video below, [Lvaneede] demonstrates it with a few of the N-Gage’s games. It seems to hold up pretty well. With backing from Sony and Sega, it’s a shame that these gaming platforms weren’t a bigger hit than they were, but there are plenty of people around with original hardware who are still patching and repairing them so they can still play some of these unique games.
The Competition Pro joystick is often considered to be the pinnacle of input devices, at least as far as the 1980s gaming goes. But the design isn’t perfect, and time hasn’t been kind to certain aspects of its mechanism. For example, the large rubber disc used to keep the stick centered on early generations of the hardware will invariably be hardened up on any surviving specimens. Looking to return these classic controllers to their former glory, and then some, [mageb] has released a number of 3D printed modifications for the Competition Pro that should be of great interest to the vintage gamer.
First and foremost is the deletion of the original rubber disc for a new spring mechanism. Even if this is the only modification you do, [mageb] says you’ll already have a better and longer-lasting joystick to show for it. But if you want to continue with the full rebuild, be aware that there’s no going back to stock. Once you start cutting the original parts, you’re committed to taking it all the way.
Assuming you’re not afraid to get your hands dirty, the next step is cutting the metal contacts from the bottom of the face buttons so they’ll work with the new microswitch array he’s designed. Each button gets its switch, and four handle movement of the joystick. You can try out different switches to adjust the feel of the joystick, but [mageb] assures us that he’s already done the research and put the best quality switches in the bill of materials.
The end result is a Competition Pro joystick that looks more or less the same from the outside, but is considerably improved internally. That’s always a win in our books, though we’re sure somebody out there is going to get mad that the brittle old rubber disc wasn’t sent to the Smithsonian.
Over the last two years, [benkster] has been perfecting their ideal flight controller. Like many people, they started out with a keyboard and mouse and eventually moved on to a joystick. While a HOTAS (hands on throttle-and-stick — e.g. a yoke controller with inputs right there on the sides) might have been the next logical step, those things cost too much. Naturally, the answer is to build one, ideally for less money. Hey, it could happen.
The design went from just an idea to a cardboard prototype, and then to a wooden enclosure and later, a 3D-printed case. Since [benkster] learned a great deal along the way, they want to give back to the community with a comprehensive joystick design/build guide so that others don’t have to start from zero, overwhelmed with information.
[benkster] wanted three joysticks, a bunch of big buttons, a throttle, a display to show component status (as in, is joystick #3 a joystick right now or a WASD keyboard?), and immersive details everywhere — you know, a million buttons and switches to give it that cockpit feel. [benkster] is using a Teensy 4 to control two 3-axis joysticks and one 2-axis stick. Since this adds up to too many axes for Windows/DirectX to read in, the 2-axis stick is used as a WASD keyboard.
This guide is a great place to start, especially for folks who may be newer to electronics. There are nice introductions to many types of components and tidbits that are relevant outside the world of joysticks.
With the recent release of Microsoft Flight Simulator on the Xbox Series X|S there’s never been a better time to get a flight stick for the console, and as you might imagine, there are a number of third party manufacturers who would love to sell you one. But where’s the fun in that?
If you’ve got a fairly well tuned 3D printer, you can print out and assemble this joystick by [Akaki Kuumeri] that snaps right onto the Xbox’s controller. Brilliantly designed to leverage the ability of 3D printers to produce compliant mechanisms, or flextures, you don’t even need any springs or fasteners to complete assembly.
The free version of Thingiverse only lets you move the controller’s right analog stick, but if you’re willing to drop $30 USD on the complete version, the joystick includes additional levers that connect to the controller’s face and shoulder buttons for more immersive control. There’s even a throttle that snaps onto the left side of the controller, though it’s optional if you’d rather save the print time.
If you want to learn more about the idea behind the joystick, [Akaki] is all too happy to walk you through the finer parts of the design in the video below. But the short version is the use of a flextures in the base of the joystick opened up the space he needed to run the mechanical linkages for all the other buttons.