Jump to content

[Hardware] Custom Control Console


Unistrut

Recommended Posts

ouuP6vBl.jpg

So ever since seeing my first custom control setup I wanted to try building one. However, instead of using an Arduino (mine's currently busy being a Morse code trainer) I figured I'd use a USB keyboard encoder like my friends and I used when building a MAME cabinet.

It seemed easier.

Now of course, I work in theater, so I can't just throw some switches in a box and call it a day. It has to look nice, and possibly period. I had a bunch of push buttons from some random piece of surplus hardware (a SWITCH ASSEMBLY SA-569/APA 90 if anyone cares, they make a really nice chunk-unk when pushed) and bought a bunch of toggle switches and two sticks from Happ controls.

I also wanted a throttle. I use an old Saitek Cyborg Evo when I'm playing KSP, mostly for the throttle, and I wanted a nice analog throttle for the control panel. Little did I know just how much f@#$ing harder it was going to make my life.

THE PANEL -

The initial control layout was done in a piece of scrap cardboard. Easier to change marks on an old keyboard box than move holes drilled in sheet metal. Once I was satisfied I started marking up a piece of scrap aluminum sheet from work. After drilling the holes I gave it a nice layer of Hammer Coat. I bent the sheet using a table edge and some bits of wood clamped to the sheet to keep a nice sharp corner.

The next challenge was the ROTATE control. I wanted three axis and only had two. We had used "spinner" joysticks on the MAME cabinet, so I cut and bent another piece of aluminum (this one from an old 1/4" tape reel) and built a bracket to hold two microswitches that were engaged by a lever attached to the joystick. So you can push left/right or up/down and also twist CW/CCW. The twist action is a little stiff though, I should have done some more work sanding that down and smoothing it out before permanently gluing bits of it together. I don't think things through sometimes.

About this time I (thought) I'd figured out my throttle issue. I had an ancient wheel and pedal combo (it still used a Gameport connector) and I figured I could scavenge one of the pedals for my throttle. I trimmed out the metal around it, drilled some holes for mounting and made a handle from some bits of dowel, red paint and more hammer coat. It's mounted with long bolts going through copper tube as spacers.

THE CASE - I wanted a nice retro look for the case. Most of the wood is scavenged stage flooring, but I wanted the wood grain look, like an old Atari 2600. The TD knew where there was some actual vintage "wood" paneling stuffed in one of the stock rooms and let me make off with it. It looks amazing but the California heat tends to make it peel off. I really need to add some tacks to the edges to keep it from curling as much. I decorated the case with the name plate from the switch box the buttons came from and a North American Aviation property tag I found on a desk that was being thrown out.

aQDZh7il.jpg

Sitting on the desk ready to start soldering.

Now, I wanted to get the same keyboard encoder we'd used on the MAME cabinet, but it seemed to be out of stock, so I wound up getting an Ultimarc A-Pac instead. This would prove to not be the best choice I made in this project.

Don't get me wrong, the A-Pac worked great as an interface for my old Atari joysticks when I was playing around with Stella (Atari emulator) and will probably be useful when I start trying to program the Morse code receiving trainer, but it was not the best choice for this control panel. First off, KSP, probably thanks to Unity, has really wonky joystick support (seriously Unity dudes, you're making a GAME ENGINE, solid joystick support should be higher on your priority list. You will get yelled at again for this later). The A-Pac appears to the PC as two USB joysticks, and KSP was not able to tell them apart. So pressing "Button 1" on the first joystick would also register as a hit on "Button 1" on the second joystick. This did not work, although it produced a rather spectacular surprise launch. "Turn Left" was J1B1 and J2B1 was ... well, "Stage". "Okay, let's test the roll, pitch and yaaaaaaaaaaWWWWW" <FWOOOOSH>.

The next problem was the throttle. This one is all Unity. Now, once again, you Unity guys are making a Game Engine. You are charging people money to use it. It should have working JOYSTICKS. The throttle was completely unusable due to Unity's lovely habit of ignoring Windows joystick calibrations.

Now, after this little issue I looked a lot harder for the equivalent of what we'd used for MAME. It just appeared to the computer as a keyboard. If I did my programming right I wouldn't even have to change any key bindings in KSP. I finally found it, or at least the newest revision. PoKeys 56U It actually came really quickly considering it was being shipped from Slovenia.

After pulling the A-Pac I installed the 56U.

q4Sm1mLl.jpg

Out with the old. In with the new. Look at that "wood" grain.

Now, with the PoKeys I didn't have any of the button problems I had with the A-Pac but the throttle was still wonky, once again entirely due to Unity. Luckily, PoKeys has a function where you can take an analog input and have it register as keypresses depending on where the analog input is located - so the throttle currently triggers the "throttle up" key when pushed forward and the "throttle down" key when pulled back. You can also have it press the key faster the farther towards the edge you get. It's not as responsive as a real analog control, but the closest we can really do right now.

Mostly it's just buttons and sticks, but it does have two or three neat tricks - the big covered switches enable the STAGE and ABORT functions, so I can have them large and easily accessible, but also not worry about accidentally firing a stage. The SAS and brakes (BRK) use both a toggle switch and a push button. The brakes just use the toggle for a parking brake, but the SAS switch is set up so that you can lock the SAS on or off, and whichever state it's in, pushing the button briefly switches it to the other state. So you can leave it on for docking, but turn it off briefly for a turn, or leave it off to save resources and briefly trigger it when you just want the ship to stop spinning for a second.

The white bit in the middle of the top section is actually an acrylic window where you can put an index card reminding you what those action groups do. In this case, the VINNABY ship has solar panels, claw and engine cutoff.

Future Plans:

The stage and abort enable switches have LEDs in them. They don't currently light up. There are also status lights by the stage and abort buttons. They do not currently light up. I'm working on getting both of those working, but have spend the last few days fighting with the throttle control.

Edited by Unistrut
Link for Happ Controls added.
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...