The Start of a Passion
I became mildly obsessed with the space simulator game, Kerbal Space Program (KSP) in 2020, going through periods where almost all of my free time went towards playing the game. When I was not playing the game, I spent many hours researching the real-world mechanics of traveling through space, watching YouTube videos and live streams of people playing the game, or looking up images of awe-inspiring crafts created by other players. One day, while browsing the KSP Subreddit I stumbled across an image of a custom controller created by another player. Unfortunately, I cannot remember the original post, but a well-crafted search engine search will bring up many designs. I was immediately drawn into the process of created controllers and have spent numerous hours since coming up with a design of my own. This site exists for me to share my joy for this project with the world.
While this project taps my formal education to a small extent, there are many skills I either started developing, or will need to develop to finish. My degree is in Mechanical Engineering, and I work as a Quality and Project Engineer. More information on my skills later.
Design
Oddly enough, I tend to struggle the most with designing a project, especially when it comes to how a project will look. Technical design aspects are more my forte, but generally are not what is immediately seen. Physical design was started first and will be on-going until the construction is nearly complete. Electronics, manufacturability, and testing influence how the project will look in the end. Fitting a square peg in a round hole can be difficult after all.
Research
Research technically begins before the project starts, but it often does not end even when the project does. Research is vital to my process, and includes finding on-going inspiration, references, building new skills, and much more that escapes me at this time.
Planning
I started "work" on this project be selecting the game controls I wanted. Once I had these selected and thrown into a spreadsheet, it was off to the races as they say. A well developed, but agile plan will be crucial in completing this project in a reasonable amount of time. this is where my professional experience shines. After planning the controls, I started a spreadsheet to track the project. In the spreadsheet, I included cost overviews, a to-do list, a list of potential ideas/future additions, and categorized the supplies and components I need to manufacture or purchase. Creating discreet modules of components has helped with managing the overhead of making and tracking progress of the project.
My loose deadline, if you can call it that, is a few months before the release of KSP2, as I will likely want to immediately add support for my controller into KSP2 via a game mod.
3D Modeling
Modeling the controller and components in software helps a ton with verifying physical design, while also allowing me to get an idea of what the project will look like. I could draw out the project by hand and create all of the parts without ever creating a 3D model, but 3D modeling is simply a task I find fun. This project will involve 3D printing, which does make modeling of some of the components a requirement, it is possible to complete this type of project using conventional manufacturing techniques. My education did include a class on 3D modeling, but I have found over time that the best understanding and skill base comes from practice. It also helps to model a large variety of objects that push the boundary of my skills. There are only so many techniques that can be shown in a single course.
Programming
Programming and I have an admittedly strange relationship. My degree program required the completion of a single programming class. To this day, I still believe the variety of disciplines we were required to take classes in were to help us communicate more effectively on interdisciplinary teams, but I never had an official confirmation of this, so I could be completely wrong. Programming has been a hobby of mine, which has left me with an embarrassing number of barely functioning programs. Thankfully many of these mini projects have giving me enough understanding to put together a reasonably functional mod and microcontroller. The heart of the project will rely on the microcontroller and game mode being able to not only communicate with each other but provide accurate and timely IO. A potential future form of the controller will allow the player to turn off the monitor and still have all necessary information to successfully complete a mission.
Electronics
The electronics are challenging my skills as a maker. My formal education included a circuits class, but the circuits were simple in design, and often did not include very many "moving parts". For the most part, I am just plugging in a bunch buttons and LEDs into a microcontroller. At the same time, I have learned how to use two integrated circuits to increase the capability of my Arduino Mega, allowing me to go above and beyond what the number of on-board IO pins would allow me to do.
Designing a custom PCB has been the biggest expansion of my skills. Hopefully the custom PCB will allow me to create reliable circuitry that will be easily replicable and shareable. Surprisingly enough, PCB design is not as complicated as I originally thought. While it is a demanding process, I have been able to quickly pick it up with help of the software I am using, short tutorial videos, and numerous forum posts and tips and trick vlogs. PCB design also leads to a lot of images that I frankly find amusing in their seeming complexity. I will share some in-progress images of the rough PCB layout that looks crazy unless some thought is put into what is actually being displayed.
Testing
As can be expected, testing often and testing small is helping me throughout this project. When something isn't working, it is much easier to diagnose when the problem is something I did earlier in the day. Testing electronic components and small circuits has all been helpful when designing the circuit. The more I understand about what I am doing, the better the reliability of the system. I do not have much else to say about testing, as it is generally easier to discuss what I am testing when I actually test.
Construction
I have not made it to construction yet but will arguably be the simplest and most satisfying portion of the project. If my designs and planning are solid, everything will come together with reasonable ease. Once I have done some construction, I will update this description.