Kerbal Instrument Panel: In-Desk Apollo Themed Hardware Controller

8 posts in this topic

I've been working on this project on and off since around June of 2015... I initially first appeared on Page 6 of the Simpit Repository where I showed off some really nice hardware I'd collected for the project. The goal is to create a controller using real instruments to provide readouts of orbital data, temperature, fuel, electricity, and other critical values. The controller will have joysticks and toggle switches and other controls to command the in game vessel. I'm using this project as an opportunity to force myself to learn C programming, and as a furthering of my electronics hobby. While this thread has a LONG way to go to catch up with my progress, I'll work on it over time.

Part of why this has taken so long, is it's not only a learning process, but I've split my time with other projects. My custom mechanical keyboard was built to work with this Kerbal controller build, and will actually slot into the controller! The number pad magnetically detaches, so when my keyboard tray is extended, I have full use of the extended keyboard, but with the tray pushed in, I can set the number pad aside, and use only the core keyboard!

This is the button that started it all.
I was inspired by how AWESOME this button looked, and how big and red and "Aborty" it could potentially be! :D

The Instrument panel enclosure is a re-purposed Harris Stereo 5 console that was saved from the local AM radio station.
You can see several instruments here. On the right is my analog vertical velocity meter, and in the middle, my FDAI. The Flight Director-Attitude Indicator, more commonly known around these parts as a navball, is a real awesome find! I'm in the process of building a controller for it, but that is a daunting task... It requires nine 28 volt amplitude modulated sinusoidal outputs that are controlled by multiplying DACs, and a 115 volt sinusoidal reference source to provide both power and synchronization for all the 9 other signals.

This is the keypad I made for my "DSKY", inspired by the DSKY (DiSplay KeYboard) of the Apollo Guidance Computer (AGC). It normally lights green, but can flash red if there is an alarm condition... Such as the "I'm about to pop like an overheated popcorn kernel" condition. :0.0:

My throttle lever (as well as the keys for my DSKY keypad) were salvaged from an old video effects controller board. I have a LOT of these relegendable, backlit push buttons, in two different sizes.

My analog meters are inspired by the edgewise meters used in the Apollo Command Module, Lunar Module, and Space Shuttle.
I'm taking the extra effort to print proper scales that use the Futura typeface that NASA used, and follow an overall design that visually resembles the Apollo instruments.

Likewise, Tape Meters were also used as instruments on Apollo, and even more so in the first revision of the Space Shuttle, before the glass cockpit upgrades. Tape meters have a long tape on spools. The numbers scroll passed a stationary pointer, the opposite of what an analog meter does, where the pointer moves over a fixed scale. This allows very large scales to be depicted, limited only by tape length. The meter I have will be reprinted with numbers corresponding to the radar altimeter.

This is the complete DSKY. I'm currently working on it, and getting it to the point where I can control all the LEDs right now. Current progress has all the large numeric LEDs controlled by MAX7219 controller chips, and the small 7 segment display and one of the three alphanumeric displays is currently functional.

Flashy, isn't it! :wink:

I've been making diode ROMs to decode characters for some of the LEDs. These cost me literally nothing but time to make, and they satisfy my interest in basic digital circuits. I also rather find I enjoy three dimensional free form circuitry! So yeah... I'm enjoying this part! :sticktongue:

In all honesty, I really should have started this post back then! I was just collecting parts back in those days, and always said I'd start a dedicated thread when I began assembling things... The Simpit Repository is now up to 23 pages at the moment I'm typing this... It just grew to incredible proportions, and a few times I felt a little bad for dominating the thread with build posts (that really belonged here), but at the same time, I knew my work was showing other people how to do things, and keeping the Repository frequently in the lime light. It just grew to a size that felt too big to abandon, and too big to move the content. :blush:

I'm starting this post, because I think this build HAS started moving at an accelerated pace, and It should have a dedicated place. I'll build this post up gradually, to cover not only the new content, but to consolidate the content I posted in the Simpit Repository here as well, so the entire build process is properly detailed. I had debated whether I should move content (remove from the Simpit Repository, and replace it here), but I think that'd be unfair to those who replied or were inspired by that content. I'll eventually consolidate everything here, but I'll leave my old posts at the Repository alone.

as for new posts, I'll still post at the repository, but I'll no longer post massive multi-image mega build posts... I'll keep my posts there a bit more basic, and put the details all in this post. I'll still offer my knowledge to answer questions people have at the repository. That won't change. It's just silly that I've taken THIS LONG...


Edited by richfiles
13 people like this

Share this post

Link to post
Share on other sites

Awesome project, I'll definitely keep an eye on this.

1 person likes this

Share this post

Link to post
Share on other sites

Thanks! Be sure to visit the Custom Hardware Simpit Repository thread, as I've actually been there for a year and a half, and only just now decided to finally light my SRBs and make my own dedicated thread! :rolleyes: Trust me, there's a lot of amazing projects there too, and a sneak peek as to what will eventually show up here! :sticktongue:


Also, reserving this post for future expansion if I end up needing it (spoiler... I will! :P )

Edited by richfiles

Share this post

Link to post
Share on other sites

Nice work (finally) putting your build in its own thread. :P

Not sure if you saw it, but I've been working on my own serial interface mod. Uses the cross-platform serial stuff I'd been working on for KSPSerialIO, with a new serial protocol and a bunch of my own thoughts about how a mod like this would work. I vaguely recall you being interested in MacOS support, so maybe you'd like to take a look. 


2 people like this

Share this post

Link to post
Share on other sites

Working on more of the diode ROMs. So far, the "General Purpose" display, The "Time To", and one of the three identical "Altitude" readouts (Altimeter, Apoapsis, Periapsis) are now completed. Shrinking these things is turning into an art for me! I now have the construction method fine tuned enough that I can build a double sided ROM board that's no wider than the chip socket that it plugs into. I mean, look at how much thinner the ROM to the left is, compared to my first one! I'm really happy with how it turned out! :cool:

Seriously, look at how thin the one on the left is! I could show an LED gif, but it'd just be a repeat of the first ROM, minus m.S and ΔV. It has been tested.

The trick to the new level of compactness was to mount all the diodes at a 45 degree angle (approximately). This allows them to take up much less space, though it leaves less room for the actual assembly process to be performed. I re-did my diagram so it shows each side as it would be viewed while working on it... That saved me some unnecessary confusion that I'd introduced with the first diode ROM's diagram. It also made it a breeze to build up one side at a time. I think that was a little faster. this time around. The difference in width is most notable by just looking at the anode leads of the diodes... On the right, they bulge way out to make room. On the left, the leads are vertical, coming directly up off the socket. I no longer even need to worry about adjacent modules and contact clearance anymore!

The inter board connector has been streamlined as well. Now you just plug the small module in, and the large module then simultaneously plugs into both the back of the LED board as well as the small module's connector. Because the Altitude readouts only need to show distances, I can save two characters off the second display, making it possible to fit the board horizontally, and tuck all the diodes underneath. That made it possible to easily redo the streamlined interconnect socket. My row of diodes that triggers the "m" digit of the second display is a bit messy. I had ideas of what I wanted to do, and did other things, and I ended up making it look like a mess. I know how to clean that up significantly, and will most definitely do that next time around, when I build the other two Altitude ROMs.

Still to complete, obviously the other two Altitude readout ROMs, as well as the speed readout ROM, and probably one more general purpose module (like the first one I made, but using the new, more compact construction method). It occurs to me that my plan to have a reconfigurable display in the bottom position of the DSKY might not be the most ideal option. My OLD plans involved 6 rows DSKY readouts. The LED displays that I have now are simply to large, so i had to reduce that to 5 rows. I had originally planned to have Altitude. Ap, Pe, Time To:, Inclination and Eccentricity as 4 digits each on one line, and then have a multipurpose display that could display things like semi-major and semi-minor axes, Longitude of Ascending Node, Longitude of Periapsis, or Mean Anomaly at Epoch. Back in the early days of planning, Speed and Radar Altimeter were going to be a pair of displays over or below the Vertical Velocity Meter. Later on I determined there was room to place speed by itself by the FDAI (navball), excatly how it is in the game, and since I had to ditch one row of the DSKY, I moved Altimeter and Radar Altimeter together by the VVM, since all three readouts are related.

Now I'm not so sure... Everything changed when I created the Radar Altimeter Tape Meter. Now that Radar Altimeter is an analog readout, I have sicne freed up one of the two readouts by the VVM. Speed will remain as a lone LED readout by the navball. That leaves me with a potential of two general purpose readouts, and Altimeter. The question... Does it make sense to have one general purpose readout on the DSKY, and a second General readout off to the side, with the Altimeter, or does it make more sense to place the altimter on the DSKY, where all the most important readings will be anyway, and have the two general purpose readouts set off to the side. I guess it's not a HUGE deal, as in all honesty, the only thing between the DSKY and the VVM will be the Radar altimeter Tape Meter... I'm thinking Altimeter on the DSKY is the way to go. All the altitude data will still be adjacent, but left to right instead of vertically... Yeah... That's what I need to do. It'll just be weird controlling the General Purpose displays... It'll probably be controlled by the DSKY, yet the displays won't actually be on the DSKY. I suppose I COULD use some of the clicky switches I was gonna use on the DSKY (I LOVE those clicky switches) as mode select switches, one or two next to each display. I think I'd have room for it, and it'd differentiate it from the DSKY. I might just do that. I could have a couple of those LED annunciators to light up to show what's being displayed.

I want to order the 3-of-8 and 4-of-16 decoder chips (and a couple other parts, plus a stockpile of resistor values), but I'm reluctant to buy too much right now, cause I'm trying to keep enough to buy the Nintendo Switch a bit over a week from now. At least I still ahve Diode ROMs to assemble. Those are pretty much free for me to build. Spool of over 9000 diodes (impossible!) that I got for free from my old employer when they closed their doors, and all the SIP sockets and PC boards are things I have stockpiled.

3 people like this

Share this post

Link to post
Share on other sites

Posted (edited)

Great news! I have the diode ROMs for the DSKY all completed! I still need to make the ROMs (and the display board) for the dual display General Purpose Readout, and the Speed readout. I've decided to place both general purpose displays above the Vertical Velocity Meter, as their own stand alone "section". I need to order parts, including probably a bunch of pin headers from China, unless I can get them cheap from DigiKey. I find I LOVE using pin headers as modern day turret strip! I am just too ingrained in the old ways of doing electronics! LOL :rolleyes:


Whether I can snag a Nintendo Switch tonight will determine if I work on this more, or if I disappear for a while! :sticktongue:

RIP progress, and RIP sleep... I got a Switch and Zelda! I went to bed Saturday night at 8 AM Sunday! :P:rolleyes:

Edited by richfiles
Zelda is love, Zelda is life.
2 people like this

Share this post

Link to post
Share on other sites

Posted (edited)

So, two thoughts for the day...

First, 'The Legend of Zelda: Breath of the Wild' is AWESOME!!! The new Nintendo Switch is AWESOME! I'm awestruck that this level of graphics is even possible in a hand held these days. Now I'm kinda wondering if KSP will be ported tot he Switch. The Wii U version was canceled, but only cause the system failed to sell sufficiently. The Switch is fresh and new! It still has the potential to be a winner, and the initial sales numbers are excellent!

Quite frankly, the Switch is quickly proving to be my favorite system. I have a PS4 and a new 3DS, and I already know given the choice, I'll buy titles for the Switch. The portability actually is kinda cool. I think a lot of people think of it as a handheld that hooks to a TV, but It honestly feels more like a console you can take on the go, to me. I really can't even explain it... I feel like it leans more console than handheld. To me, that's good. I can honestly say that I'd never really consider spending money on KSP on the PS4 to be really worth it for me. Why? I have it on my computer. I actually could see getting it for the switch as being reasonable, given the portability! Not only that, but since the Switch has keyboard support, why not hide full keyboard support in the game, along with the regular console controls! :rolleyes:


So then, my second thought of the day revolves my translational hand control. I have a Fairchild Channel F joystick that I plan to use for RCS control. It's a digital controller, but it's actually a genuine 4 axis controller... up and down, left and right, in and out, and rotate CW and CCW. I got the controller from ebay, only cause I remembered the unique controller, thanks to my owning a Channel F as a kid. It's about as close as any controller ever got to the real translation controls on the Apollo and Shuttle vessels. I have no intention of modding the controller... I just want to make an opening where it can insert through, and then have a soft clamping mechanism to secure it. It'll plug in to a DIN-9 socket on the inside of the panel. That lets me preserve a vintage video game artifact, while still making use of it.

My actual second thought though, relates to where I am going to mount this. I'd assumed that I was going to find some manner of tiny corner of free space  on the instrument panel to mount this. After all, I'd reduced my meter count to 4 meters, now that I have so many double meters, vs the old single meters. It occurs to me that there's really no obligation for the THC to actually be mounted INSIDE the panel at all... It does have a 9-pin D-sub connector, after all! I could honestly mount it ANYWHERE in the desk, and it would work! Potential mounting points are just under or beside the left side of the control panel surface, or where my concept drawing currently shows the CRT box. The CRT box isn't happening anytime soon, and probably won't even fit there, so that space would be reasonable to utilize. It's actually very similar to the location of the THC on the Space Shuttle, so I'm more than cool with that. I can simply mount the clamps to the outside of the control panel, and have a cutout int he desk to make space for the controller to pass through.

One of these days, when i get more time, I'll try to update the concept art. In the meanwhile, I have a Digikey order to place for some parts.

Edited by richfiles
3 people like this

Share this post

Link to post
Share on other sites

Great news! I have a 3 day weekend, I got the Master Sword in Zelda, and my Digi-Key parts order arrived!

Bad news... Sudden apartment inspections, so my free weekend is suddenly scrubbing counters and mopping and vacuuming floors... We had 4 weeks notice for an inspection that's now 2 weeks away, and i've been tidying up a little bit at a time... Ugh... Wednesday, they told us Monday would be another early inspection. Want the place all shiny and   chrome   clean! That shouldn't have been an issue, just an inconvenience, save for the fact that I got a cold from hell... A real phlegm phlinger... :huh:

To top off my bad news... I forgot to order single inline square pin female header sockets. My round pin machined SIP sockets are great for component assembly and such, but won't fit a sturdy square pin header. D'oh! I've got all the parts to build the character select circuitry (to select the character generated by the character decode circuitry), but I don't have the parts to plug them into each other! /)_-

As a positive benefit of all this cleanup, I decided to have another go at removing the stubborn fader control (my throttle lever to be) from the old video effects board. Just it and the trackball were all that hadn't been gutted. I wanted to put the enclosure in my storage room, out of the way. As it so happens, I FINALLY got the steel pin that the handle mounts to off the lever, meaning I could FINALLY pull it through the metal slot in the enclosure! Man, it took a pipe wrench to get enough leverage to finally pop the adhesive they glued that pin with! Yikes! :0.0:


At least I got ONE thing done for the controller, this weekend...

I also finally got a look at the part number for that track ball. It's an LQ200M-192-50, which is a quadrature trackball (no control circuitry, just raw quadrature output). Runs on 5v, and has CMOS/TTL compatible encoder outputs. I've actually got no use for it, but at least I know the pinouts for it now... Even found the datasheet online.

2 people like this

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now