-
PCBs!
04/18/2015 at 06:12 • 0 commentsThe PCBs arrived, so I assembled them tonight. I should be ready to test them out tomorrow. I'm hoping to make a video sometime over the weekend.
-
All Models
04/16/2015 at 18:21 • 0 commentsJust finished up the models for all the components. Getting closer.
-
Decisions, Decisions
04/15/2015 at 03:50 • 2 commentsI had to do some thinking over the past few days. I had some birthday money burning a hole in my pocket and was very tempted to splurge on some 'reach' goals — fully wireless, navball display, DSKY interface. I ended up reigning in those tendencies and will be at very least holding off on that until I have a first pass at an enclosure which is not a shoebox. I doubt that will chew through all of my available funds, but I need to focus on that first.
The only exception is that I'm going to work on designing and modeling a throttle handle. I decided to investigate pricing for 3D printing and found that it wouldn't be too bad for the size I'm looking for. I'll probably order it from Shapeways, but apparently my local library has a 3D printer, so I might give that a shot first.
Otherwise not too much to report. I'm still waiting for my PCBs to arrive from Singapore. I've done a bit more modeling, the only thing remaining is the arcade buttons for the trackball (which is mostly a copypasta job) and the small action group buttons. All the displays and such are modeled to at least a reasonable degree of accuracy. I wouldn't 100% trust the exact placement of the displays relative to the mounting holes, but for the purposes of layout and space management it should be sufficient.
For an enclosure, I've decided to go with wood as a base. At some point in the future, I'll start experimenting with acrylic for a nice surface. Eventually I'd like to have designs masked off and backlit, but that will have to wait for now.
-
More CAD
04/10/2015 at 05:22 • 0 commentsI got a bit more modeling done and so I thought I'd post the very, very rough first pass. Still missing models for the bargraphs, trackball, round buttons and the like, but it's giving me a sense of scale.
-
CAD
04/08/2015 at 04:53 • 0 commentsI've started working on a SketchUp design for the final enclosure, as well as thinking more critically about materials. I've got several of the buttons and switches modeled as well as the joysticks. The goal is to plan and lay out the controls and displays ergonomically and aesthetically, but also make sure the enclosure has adequate space for everything, especially the joysticks and trackball.
Once I have a layout, I can work on a style, but I'm fairly set on copying SpaceX's Dragon console style. I'm thinking of going with acrylic with the rear surface painted black. The main downside would that I would not be able to have any designs on the front. I'm trying to come up with some sort of masking process I could use to achieve the desired effect. If I can come up with something, I'd be able to frost the clear sections and backlight them and achieve a very similar look to the real thing. I'm looking into either having an image printed directly on acrylic or using die cut decals for masking. If anyone has any ideas, I'd love to hear them. I'm really trying to keep costs down, so I'd prefer not to spend a ton of money on an acrylic print.
Sometime in the next week or so, I'm going to put out a video to demonstrate the current functionality. I'm hoping the PCBs come soon, so perhaps I'll wait for that.
-
Linux
04/07/2015 at 04:59 • 0 commentsMy friend has been kind enough to bring his Linux gaming rig in to work, so I've been able to test not only the project as a whole on Ubuntu, but also the setup script. It actually worked right away but for one or two small issues:
- The USB port I was testing was bad. Wouldn't you know. I was getting power, but the device wasn't showing up.
- The PyKSP version I'd installed was incompatible. I remembered I'd made some adjustments and error handling to avoid bringing the whole script down when Telemachus isn't available. I ended up cloning my fork of the repo. I'll have to iron out my changes and send a pull request.
Other than that, testing went pretty smoothly. I do need to add some better error handling and recovery, though. I had a few points where the controls stopped because the program hit an unhandled exception.
I also downloaded SketchUp and started to work on a CAD design for the final enclosure. I have an idea for the panel/bezel, though: Use wood as the structure of the panel. Cutout all buttons, switches, etc and cut out a BIG space for all the displays. Narrow enough for the screws to mount to (from the reverse), but wide enough to fit the display through comfortably. On top of this, mount a plexiglass panel with paint on the reverse, like this Instructable.
- Tough, scratch resistent surface
- Smooth, glossy finish
- No mounting screws present
- Protected displays
The downside to this would be that I couldn't use something like aluminum disband which can be printed on. It's possible I'll use a synthesis of the two techniques.
-
Successful Prototype Test
04/05/2015 at 05:51 • 0 commentsTonight I was able to test the full prototype and I have to say that I'm very pleased with the results.
I plugged in the controller and ran kapcom.py and the displays all worked right out of the bat and displayed data from Kerbal Space Program.
The joysticks had a slight problem, the fly-by-wire command wasn't sent. That was a quick fix.
I had some more problems with the mod inputs — I had to rejigger some things internally as well as change the Pin class to allow value inversion. Once these were sorted, those work as expected.
The other LED buttons were a bit harder to diagnose. I had incorrectly wired the pins up so nothing was where I expected it. I had to mess around with the configuration file and invert these buttons too. I also had some unexpected errors from parsing the JSON which were always my fault. In the end I got them working.
The bargraphs are being stubborn, but it's possible the traces are still not working well for those. I'm not going to fret about those until I get the PCBs in.
Some remaining issues:
- The green LEDs in the buttons are dim, I need to reevaluate the resistors I put in
- Need to test the bargraphs and make sure it's the protoboard
- Some of the joysticks are not quite centered. I need to either physically adjust them or recalibrate them in software.
- I cannot exit the program cleanly using ^C or ^D. I would like to be able to do that if at all possible so I can view the program stats.
- Error handling for Telemachus and Arduino disconnects.
All in all, I'm really happy with the testing so far. Definitely have some work left to do to make everything nice and smooth. On a side note, I wrote a quick Python script to check for dependancies and started one to generate configuration files.
-
Prototype: Ready for testing
04/03/2015 at 04:32 • 0 commentsI finished mounting the hardware in the enclosure and wired everything up. I did a quick test of the displays and everything seems to be working. I don't have time to start testing tonight unfortunately.
-
New Shoe Box
04/02/2015 at 14:33 • 0 commentsI finished wiring all the buttons last night. I also took a look at the protoboard shield and fixed some of the traces, so the faulty joystick axis and the I2C connectors will work now. I started moving all the controls into the full prototype shoebox which is considerably larger than the current one. I made all the cutouts and mounted most of the controls. I should be able to finish up tonight and have a full working prototype, albeit without ALL of the buttons connected.
-
Wiring
04/01/2015 at 05:40 • 0 commentsNot much to report. I wired a bunch of harnesses up to the buttons. This will work better than the quick disconnects I had been using. While the connection between the disconnect and the button was okay, I was having problems with the wire falling out of the disconnect. No amount of crimping was helping, I think it's because the wire is simply too small.
Anyway, I got all the LED buttons and switches wired up. The only thing left are the 10 action buttons. Those I'll get to tomorrow. After that it's mostly a waiting game until the boards arrive.
In code news, I implemented some extra display options for the bargraphs. Most were simple variations on how the colors are selected, but I also implemented one which projects increases/decreases and marks those in a separate color. I'm particularly proud of this one. It's got a configurable projection duration as well, since I imagine I'll probably have to tweak that as I go.
While I did that, I also added code to the bargraphs and displays which check whether the display will change by comparing to the previously used values. This should cut down on unnecessary display updates.