You are browsing as a guest. Sign up (or log in) to start making projects!

Keyboard Substitution Program

Hardware
  • 6 Devlogs
  • 13 Total hours

A custom Kerbal Space Program controller

Open comments for this post

2h 44m logged

Devlog 6 - Mae here! I spent today implementing a slider for throttle control. In theory, it should have been an easy task, no more than 45 minutes. Unfortunately, unlike the potentiometers on the joystick, the slider’s potentiometer was not linear. That meant moving the slider half way increased the throttle to 75%, making using it very unintuitive. So i had to spend quite a bit of time figuring out how to work around it.
.
Below is a video of my first actual flight using the “controller”. It’s quite intuitive, but I’m not the best pilot lol.
.
Up next, I’m designing a small case to mount the throttle, stick, and a few buttons. Hopefully this should be the first actual prototype of the controller, which should be very nice to see.

0
0
30
Open comments for this post

2h 49m 18s logged

Devlog 5 - Mae here! I’m back! i’m sorry for my absence, it took quite a while for the parts to get here, and they arrived the day I left for vacation. But anyways…
.
IT WORKS!!! I have now successfully connected a joystick to the system, allowing actual control of a spacecraft in flight!
Its actually quite simple too, the code just takes the values from 3 potentiometers mounted in the joystick, remaps the values to be in a range the game can read, and packages them into a message for the Kerbal SimPit mod. The message is then sent to the mod, where it reads it and commands the vessel to turn by the amount specified in the message. It took a while to understand how messages actually work, but i think i get it now.
.
Next up, I will be implementing data output using a 14 segment display module. Once that’s done, full scale prototyping can begin, using several arduinos at once to control most of the game. And then, once all the parts arrive, the final construction can happen. About half of the required parts have been ordered so afar, so this shouldn’t be too long from now.

0
0
11
Open comments for this post

2h 19m 5s logged

Devlog 4 - Mae here! I finished the layout for the controller! It has every button I use in KSP, including all 10 SAS modes, all 10 Action Groups, quick save and load, and so on. The joystick has a button next to it to transition between rotational and translational control, which should make docking so much more interesting. Next up: ordering the parts!
.
PS; sorry for not getting much work done yesterday, I got distracted playing ksp lol

8
1
554
Open comments for this post

44m 43s logged

Devlog 3- Mae here! IT WORKS! I can now register inputs from external “controllers” (if you want to call one button a controller). This was one of the biggest hurdles I foresaw when I was coming up with the idea for this project, so its success is a great sign for the future. It only took me 3 hours of coding (mostly staring at the docs)!
.
PS: I know it says I only logged 44 minutes. Guess who forgot to click record on lapse. (its me, i forgot to hit record :C)

0
0
253
Open comments for this post

3h 33m logged

Devlog 2-
Hi again! Mae here! I realized this project cant continue if i cant get inputs and outputs from KSP, so i went ahead and spent about an hour and a half setting up all of the basic configs to get Kerbal Simpit to run. Below is a video of one of the basic test programs running on my arduino uno, receving altitude data from the game. It works! (it only took me till 1 am…)
.
PS: I’ve made some progress on the controller layout too, but its not in enough of a finished state to show it

1
1
625
Open comments for this post

1h 9m 43s logged

Devlog 1-

Hi! I’m Mae, I absolutely love the game KSP (Kerbal Space Program), and have been considering making a custom controller for a while. This is gonna be kind of a yap session because I want to set the scene for later devlogs, so I apologize in advance.
.
I’ve already put together a basic parts list, and am finishing up 3d models of all the basic components (see below). Once all the components are modeled, I’ll start drafting a 3d model for the top cover based on some concept drawings (I seem to have misplaced them, sorry :C ), and then once I’m happy with it, I’ll order the parts and start with the programming.
.
To actually interface with the game, I’ll be using the Kerbal SimPit Revamped Mod, and the whole controller will be run off of several arduino boards (the details for this section will be worked out more once the controller is built).
.
The plan for the controller is pretty simple:
.
Construction- The base construction of the controller will be quite simple. It will be in a 3d printed PETG case. The top cover will be a black ABS sheet, with holes for the buttons and switches CNCed out. The sheet will then be spray painted white, and finally a laser cutter will do some quick passes over the sheet to burn away the paint and create labels for all the inputs.
.
Input- Use one joystick for rotation/translation, big button with covering for staging, probably the same button but red for abort, latching blue switches for toggles, keyboard keys for momentary switches, and keylock switches to lock out throttle/ joystick to prevent accidental input as well as act as the power switch (bc who doesn’t love the feeling of turning on a device with a switch)
The lights in the latching switches are (thankfully) not controlled by the button itself. This gives them the added benefit of being able to update themselves when switching to a different vessel, with different settings enabled on it.
.
Display- Have 3-4 rows of 7 or 14 segment displays showing mission information (apoapsis, velocity, altitude, delta v remaining, etc.)
The displays have different modes that show different information , swapped using buttons (ie. orbital, surface/landing, rendezvous/docking, and maneuver information)
One or two additional displays would be nice to keep time warp info separate, but not strictly required.
The coolest idea (but also the most expensive and difficult to program) would be to have a small display to show the navball and/or the current orbit visually.
.
Thanks for reading my first, and hopefully not my last, devlog!

6
0
3321

Followers

Loading…