I'd like to talk a little bit about the architecture for this why I chose certain components.
A control panel like this is basically a bunch of digital inputs, plus a bunch of LEDs for output, plus some number of character displays for detailed text. The next iteration will add several analog inputs, plus more dio and maybe another character display. And the third iteration I'm planning will add even more dio plus a graphical display. All of this then needs to be routed to and from the computer running KSP in some easy to use format.
My plan is to use kRPC to act as the communication protocol, since it provides a huge amount of functionality and allows two way communication of everything I'll need to do all of these iterations.
That then leads to what I'll be running kRPC on. I've landed on a RaspberryPi Zero since it:
- Can easily run kRPC
- Has sufficient IO (2xSPI, 1xI2C, some DIO)
- Is tiny and low powered
- Has a USB port
- Costs $5
The Pi then needs to be able to drive >100 LEDs, read way more digital in than it has pins, and control a character LCD.
My plans for that are:
- 2x 8x8 matrix display LED drivers that communicate over SPI
- I2C character display
- Matrix input for the digital in lines
In a future iteration I'll need an ADC that is I2C or SPI based, a digital in expander, probably shift register based, and a graphical display that is either I2C/SPI based, or maybe an HDMI display.
Anyway, I'm almost done with the schematic capture. Hopefully I'll finish it tonight and then I can try out KiCADs board layout with something a bit more complex than the tutorial.