Hello KSP community, I decided to move my thread here as it is not about plug-in development anymore. After christmas 2013 I started my own hardware project. I began with thoughts about using a USB interface board to connect my own buttons and gauges to the game. Then I realized I can do bigger. In this forum thread I would like to share the history, accomplishments and failiures of this project. Project overview I'll keep this overview updated, although I'm not sure wether I should write all updates in the title post. Nevertheless, here is what I'm working on. I'm building my own cockpit with custom controls and displays. The cockpit consists of two parts, which I call the control panel and the console. It can be operated by a crew of two or a single pilot. The control panel houses buttons, switches and in the future a single LCD. The console part has a X-52 flight joystick and throttle, translation joysticks, keyboard, a trackball (to be added) and several switches, buttons, gauges and displays - LCD and 7-Segment. The digital backbone and design requirement is a single USB connection to the PC. Logic units inside (apart from the obvious USB devices) a USB keyboard controller managing the buttons and switches (via another microcontroller) acting directly on action groups or KSP keyboard controls, an Arduino Mega for managing the displays (which I call luminous) and a second Arduino Mega called colossus for entering command codes remotely similar to the DSKY unit in Apollo spacecraft but acting on MechJeb. May 5th, 2015 I continued my work through the winter, but only recently I achieved some serious progress. As described before I switched to Polystyrene modular panels. Now I can work on individual modules or the whole console just like I want. Quick overview of improvements: New instrument panels, way more switches, new power supply with contrast and brightness for all instruments and LCDs. Jump to the end of this thread for detailed progress description. November 25th, 2014 Well I did probably almost nothing all Summer long. But I picked up my work and reworked the hardware side. I ripped away the dashboard and the wooden structure on the back, which became too heavy. I rebuilt the dashboard support structure from riveted aluminum profiles, and all the dashboard instruments and switch units will be mounted on modular panels so they can be modified or moved. I abandoned the principle of using a single-piece dashboard, because I simply had one chance to cut the matching hole for one instrument, and if I made a mistake I had to start over. There will be pictures soon. Just take a look at the picture. I waste several centimeters on each side of the panel. Can't wait to fit some instruments to the new structure. May 16th, 2014 I'm proud as a duck because I reached a major milestone today. For the first time ever I was able to display real-time vessel data from KSP. This would not have been possible without the plug-in from Zitronen, which at the moment I use without changes on the KSP side. The arduino software incorporates Zitronens example code. May 9th, 2014 I was able to repeat yesterdays success. For the last two weeks I've been working occasionally on the colossus hardware, but the software was not really functional. Today I finished the primary loops. Now it can ask the pilot for the next command, look up how many arguments the command needs and send all this information on a serial line. Have a look at the colossus setup while running. All inputs are numerical and entered with the # key, whereas * acts as decimal point. Nothing spectacular, but I'm proud of it. The array of 10k pull-down resistors is present because I only recently realised I could have used INPUT_PULLUP instead. The LCD is not the final one, which will be 16x2 as well but white on blue like luminous. I also intend to use a single potentiometer like the one shown for adjusting all LCD contrast voltages at once (and a second one for brightness). Of course that means the LCDs have to be identical. On the luminous side I also made progress. Alarms are triggered properly now. If any value triggers a master alarm, the master alarm and buzzer will definitely tell you. Also each alarm (like monopropellant or battery level has its own dedicated LED. You can then quit master alarm with the right button, but the individual alarm LED remains illuminated as long as the alarm condition persists. During that time no master alarm can be triggered by the same alarm. Only when a value returns to normal and then back to alarm level it can trigger another master alarm. The master alarm buzzer happens to be cheap and sounds pleasantly unpleasant. May 8th, 2014 The past two weeks have brought progress in several field. I split software development into three different projects. The actual KSP plugin, arduino software for display and for data input. I suspended my work on the plugin (I actually havent't played KSP in weeks, all my free time for KSP goes into the project), but I intend to modify zitronens plug-in. I need communication with my display system on one serial port, and command interpretation on a second. Maybe I can extend zitronens plug-in to support two open connections and MechJeb commands. In all due decency I named the software part for displays "luminous" and the one for data input and command interpretation "colossus". Here I have a quick pic of the current luminous setup in running state. It shows two LCDs with various information, the flight mode switch, voltmeter for battery level and an LED column. At the moment I'm working on proper master alarm detection and the warning LEDs. I want a useful logic which allows the pilot to quit a master alarm and the same source of alarm can only trigger the alarm again after it has returned to normal condition. That means you would get a master alarm for low battery level and quit it. The master alarm would only be triggered again after battery level has returned to normal and then to low again. Next update will probably be about the colossus part. April 24th, 2014 I'm actually making huge progress in the last days. I owe that to my lack of work at work and the incredible support of my wife, who treats this project as if it were her own. I decided on ordering a second Mega µC, this one being a clone from SaintSmart. This pic shows the current state. I'm working on several things currently. This time I focus on the instrument panel alone. That is the angled board with the lcd and the meter etc. Best is to describe it from left to right. The LCD to the left will be the consumables and EECOM display. It is currently connected directly to Mega#1 for test purposes. Later it will be driven by its own RS232 controller, which I still try to build myself. If that doesn't work all LCDs will be wired to the Mega with I2C LCD drivers. But I intend to reduce workload on Mega#1. Below a group of LCDs will indicate alarms, warnings and status. The master alarm LED will be joined by an ugly-sounding beeper which came in the mail yesterday. Next is a voltmeter, connected to Mega#1 for monitoring battery level in %. The scale is already adjusted, meaning 1mV equals 1% batt level. The little black joysticks have been discussed on reddit and are described in my imgur gallery. If you don't know either of them, here are the links: http://www.reddit.com/u/cm2227 http://cm2227.imgur.com Newest addition to the panel is the numeric display. Three 8-digit and four 4-digit seven segment displays will show various figures depending on display mode. There will be a selector switch for lift-off, flight and descent mode, each having its own set of display modes and alarm conditions. For example flight mode will show apoapsis and periapsis on 8-digit displays, which is pretty much useless during powered or unpowered descent. April 17th, 2014 After I gave up entirely on USB LCD controllers I also suspended my work on RS232 LCD controllers. I made my own circuit boards (layout and etching) but I just couldn't get them to work properly. March 2014 I gradually expanded the wooden structure to house more parts and circuitry.This state shows the instrument panel installed, and also a wooden structure behind it to support power supply and future PCBs. Mid-February 2014 I threw away the first button assembly and started over. A wooden case houses 20 buttons and 6 switches. The hole is for a LCD to be added. Inside, a PIC microcontroller converts the switch states to key strokes. Together with the console it looks like this. Not much circuitry is installed yet, apart from a USB hub and a prototype USB LCD controller, which I discontinued after finding out that the corresponding USB library only supports one device. I was not yet into Arduino or similar microcontrollers and actualle tried to avoid them. The coordinate switches for translation control are just standing there unconnected to check their placement. January 9th, 2014 This is where I started. A USB keyboard controller and some buttons. The USB interface I bought never got to use. And I put some joysticks on a board.