-
1st version wrap-up and video, thoughts for MkII
09/18/2020 at 07:51 • 0 commentsHere's a small video I made yesterday about this project:
To sum it up, here's what I got done in this first version:
- Main parts of the DSKY have been modeled as per MIT drawings;
- They were printed, while doing the minimal amount of changes possible;
- Functional DSKY keyboard (using Cherry MX keys);
- Functional alarm lights (using LEDs);
- Functional display (with a Nextion 4.3" LCD);
- Working VirtualAGC emulator;
There are still a few things that didn't go as planned, and that I'd like to improve:
- While the brass inserts worked out OK most of the time, I cracked some areas of the main housing while press-fitting them. For the next version, I'll look into heat-setting them;
- The keyboard is not at good as I want it to be: the keycaps didn't print too well, and the keys "scratch" against the walls of the front cover. Maybe sanding them smooth will improve the feeling. I'm also looking into replicating the original buttons;
- The outside finish is something to be expected from a 3D printed model. I'd like to try using a primer and painting the external parts to get a smoother finish;
- Status lights are simple LEDs for now... No diffuser there, so each LED shows as a bright spot on the mask. I'll work on that in the next version;
- The display could also use some more work. I found three possible ways to do that: find a better suiting LCD display, design custom 7-segment LED display, or go all in and look into creating the real EL panel display (such as what Ben at Applied Science did).
- Status and Display panels are now interconnected with simple ribbon wires, I want to make them modular and use a nice flat multi pin connector;
- Talking about connectors: the main one on the back is a NOS USSR part I found on eBay (how ironic...), I'll spend more time looking for a more resembling part.
- Side project: I want to make the "Universal DSKY Handling Fixture" and a cool carrying case for it!
-
Internal AGC Emulator
09/02/2020 at 20:16 • 0 commentsI think it's worth taking the time to describe the emulator's structure. As a picture is worth a thousand words, here's the general working diagram.
Inside the main housing is a Raspberry Pi running Raspbian. On top of it, an instance of yaAGC is executed at startup. This emulator usually runs Comanche 55, the original CM guidance software for Apollo 11. The emulator usually connects to yaDSKY, a virtual DSKY emulator through a TCP connection on port 19798. However, Ron Burkley and Mike Steward worked on a small python script that can send the keypresses and recover the display data. I slightly modified that script to output the display data through a serial link. I'll upload everything to my GitHub once I'm home :)
There are still some quirks though. Due to the many interfacing layers, the Nextion display often lags behind yaAGC and skips some registers. Same thing happens with the status lights, some of them stay on or off when they shouldn't. In the future, I'll bypass that Arduino Nano entirely and directly connect the Nextion display/alarm indicators to the Rpi's GPIO.
-
Display/Alarm interface
08/29/2020 at 20:14 • 0 commentsAnother Arduino was used to light up the status/alarm lights.
Pictures are coming! My DSKY is currently halfway across Europe, so this is all coming from the pictures I took on my phone.
I chose to use a Nextion LCD for the display. A custom GUI was created, to display the three registers, noun, verb and prog numbers.
With this serial line connected to the ATMEGA328, I still had enough lines to connect each status light to a pin of the controller. I wrote a simple piece of code that parses a serial text line which contains the status light information, the registers, verb, noun and program name.
-
Keypad: first iteration
08/29/2020 at 11:57 • 0 commentsWhen I started designing this project, I quickly though about Cherry MX switches (or clones): they're cheap and widespread. The blue ones also have a nice cliky feeling that I like.
As for the wiring, I settled for a simple matrix with diodes to avoid ghosting. An ATMEGA32u4 scans the matrix and acts as a keyboard to send the matching keypresses. I based my design on the infos found here.
No time for a PCB for the first iteration, everything was hand-wired.
Don't mind the yellow print, it was a trial run. Next picture shows the later grey version.All wired and working. I'm not really 100% happy about the keycap/cherry MX interface... I'll redo them at some point.
-
3D Printing
08/29/2020 at 11:40 • 0 commentsIt was time to print everything and dry-fit the parts. Some mistakes were made, bed adhesion was an issue: some parts didn't stick enough to the bed, others were so stuck I slipped and stabbed my hand with the spatula...
-
Modifying the models for manufacturing
08/29/2020 at 10:09 • 0 commentsAs I didn't have access to a CNC mill (and it's been a long time since I used one), creating a replica out of aluminium was out of the question for now. Using a 3D printer seemed like a good option, as I could also test-fit my parts. Mistakes will also be much cheaper.
I also want the replica to be fully functional. While the external features could absolutely not be touched, I had to modify the internals to accommodate my keypad and indicator design. The main housing's internals could also be heavily simplified as only a Raspberry Pi and a handful of components were going to be used.
A plate had to be designed to hold the cherry MX switches, and the non-functional model of the indicators were "carved out" for my electronics.
The mounting plate hole size were also modified to press-fit threaded inserts.
-
3D CAD Modelling from the original drawings
08/29/2020 at 07:45 • 0 commentsSolidworks was the software used for this entire project. STEP files have been added to the VirtualAGC's repo, an each model has an accompanying .md file describing the eventual differences between the plans and the models, if any. If you need the original Solidworks files, send me a PM.
- Threaded bores have been modeled as simple holes;
- Engineering intervals (e.g. [2.304-2.296]) have been averaged.
- Part numbering (stenciled paint) have not been added into the models.
Reading American plans was a challenge for me, as I was trained and learned to create European plans. While the imperial units required little time to get adjusted to, the biggest change of conventions was how the faces were laid out. In Europe, we use the First Angle Projection (ISO standard), while US adopted the Third Angle Projection used on those plans. There's an interesting article on this matter here.
2004929-001: Front Cover
I started with this part, which will set most of the external dimensions for the front part of the DSKY. Several versions of the same plan existed in the NARA SW scans, which allowed to lift 99% of the uncertainties over some dimensions (overlapping traces due to the quality of some scans). For me, the most interesting face is the back one, with all the pockets to make this part as light as possible, while keeping maximum structural integrity. No expenses spared here!
2004900: Rear Cover
This is also a beautiful part. Stiffening ribs all over.
2004968: Front Housing
This housing holds the front parts of the DSKY: indicators plate, keypad, cover. It is pretty intricate, with a bunch of pockets and fillets that took me some time to figure out. I had to print several iterations of this plan to lift a few ambiguities.
2004919: Indicator adapter plate
It holds the two indicator modules and carries the pins for both connectors. This part was probably much easier to mill...
1006315: Indicator gasket
I didn't understand what this part was all about until I read a bit more about the DSKY. After the Apollo 1 disaster and the whole "pure oxygen" issue, the Command Module and LEM designers had to switch to a nitrogen/oxygen mix inside the vessels. In order to limit the risk even further, a bunch of the electronic modules (I don't exactly know which ones) were pressurized with 100% nitrogen. The DSKY was one of them. You can still remove the front cover and indicator modules without breaking the seal, hence those heavy gaskets.
2004699(000 and 001): alarm and display covers
Nothing too special about those. They're both very similar, only difference resides in the bottom blanking part. The LM version of the alarm cover has a taller opening as more status lights were used. Those parts mate with the respective modules with shouldered screws and C-clips.
1006387 and 1006315: alarm and display indicators
This is where it got tricky: I couldn't find much on those displays apart from the external dimensions. Those are thus dimensional models.
2004705: Main Housing
This is a behemoth. It holds the display driver, the keypad controller, the interface with the main AGC module.
The drawings are extremely hard to read, features constantly overlap and I only found a couple of schematics. This is why only the external features are finished for now. The internal features still have to be tackled with. I'll work on this someday, as for me this is vital to get a complete and accurate model for preservation purposes.
As for my replica, what I have here is plenty enough.
EDIT: I finally got around to finishing this thing. Took me 5 extra hours to get everything right.
1005022: Keycap
There are 19 variants of this part, each for every key. It snaps onto the lower part of the switch assembly.
Misc parts
A few parts have not been described here: the connector plates for the indicators, screws, etc. Some of them have been modeled, others haven't. I'll update this section when (if) I ever add any others.
Complete assembly
Putting everything together on Solidworks was a simple matter of assembling the parts and mating the surfaces. This pictures shows all the before-mentioned parts, except the keypad and fasteners.
-
Understanding the MIT plans structure
08/28/2020 at 21:27 • 0 commentsNow that we had a good source for the mechanical dimensions, I could start making the 3D models...
Not so fast. The DSKY had many iterations, different versions, each one using older and newer parts, and getting through this whole structure can be a bit overwhelming at first. Thankfully, Ron over at the VirtualAGC website created a nice way of exploring the numerous parts that make a complete AGC/DSKY.
The AGC has a complex history, but it can be roughly summarized to :
- Block I: used in the ill-fated Apollo I, and 4-5-6
- Block II: all the later missions.
Once again, I cannot recommend the VirtualAGC website enough, it goes in much greater detail into the story of this machine.
Ron mentioned that people seemed to be interested in 3D CAD models based on the actual mechanical drawings. At first, I just wanted to use the external dimensions from the MIT plans for an accurate 3D printed replica,... However, I could go the extra mile and pitch into the effort of preserving a part of the space exploration history. Creating an exact 3D model is a much greater challenge than just keeping the internal dimensions, but much more rewarding.
I could then create a copy of the model if I ever needed to adapt some features for 3D printing.
First thing was select which version to work on. The Block II DSKY is much more recognizable than the Block I, and there was much documentation available... For some reason, I decided to base all my models on the latest iteration: Skylab 4 (CSM-118).
Digging though the Assembly Diagram reveals the essential parts for this project:
2003994-121: AGC DSKY ASSEMBLY
- 2003885-011: MAIN HOUSING ASSEMBLY, AGC DSKY
- 2003947-011: WIREWRAP IDM PLATE ASSY, MAIN HOUSING, AGC DSKY
- 2004705: PLATE, IDM, MAIN HOUSING, AGC DSKY
- 2003951-021: CONNECTOR PLATE ASSY, MAIN HOUSING, AGC DSKY
- 2004923-011: PLATE, CONNECTOR, MAIN HOUSING, AGC DSKY
- 2003882-011: CONNECTOR PLATE, WIRED ASSY, AGC DSKY
- 2003951-021: CONNECTOR PLATE ASSY, MAIN HOUSING, AGC DSKY
- 2004923-011: PLATE, CONNECTOR, MAIN HOUSING, AGC DSKY
- 2003951-021: CONNECTOR PLATE ASSY, MAIN HOUSING, AGC DSKY
- 2003947-011: WIREWRAP IDM PLATE ASSY, MAIN HOUSING, AGC DSKY
- 2004900: COVER, REAR, AGC DSKY
- 2003949-041==>2003949-031: FRONT HOUSING ASSEMBLY, AGC DSKY
- 2004968-021: HOUSING, FRONT, AGC DSKY
- 1006351: GASKET, BONDED, RUBBER, RETAINED
- 2003959-011: ADAPTER PLATE ASSY, AGC DSKY
- 2004919-021: PLATE, ADAPTER, AGC DSKY
- 2003957-011: CONNECTOR PLATE ASSY, INDICATOR, DIGITAL, AGC DSKY
- 2004920: PLATE, CONNECTOR, INDICATOR, DIGITAL, AGC DSKY
- 2003958-011: CONNECTOR PLATE ASSY, INDICATOR, ALARM, AGC DSKY
- 2004921: PLATE, CONNECTOR, INDICATOR, ALARM, AGC DSKY
- 2003948-011: CONNECTOR PLATE ASSY, FRONT HOUSING, AGC DSKY
- 2004739-001==>2004929-001: COVER, FRONT, AGC DSKY
- 1006387-003: INDICATOR, ALARM, SPECIFICATION CONTROL DRAWING
- 1006315-001: INDICATOR, DIGITAL, ELECTROLUMINESCENT, SPECIFICATION CONTROL DRAWING
In bold are the individual parts that need to be modeled to create the assembly.
-
Material Gathering
08/28/2020 at 21:07 • 0 commentsWhen I started the project, I looked at various designs of DSKY replicas, including:
- Open DSKY: a functioning replica, that uses 7-segment displays, LEDS and tactile switches. The overall design resembles the original DSKY while still being a mono-block unit;
- 50th Anniversary DSKY: a completely functioning replica, with LEDS and a LCD. The buttons are Cherry MX keys. Mechanically, it is gorgeous: milled aluminium, and the dimensions closely match the original (as everything is based from photographic analysis and measurement on real models). However, the design files are closed source.
I found other builds back then, but I can't remember which ones. One thing I could do was start from photographic models and try to match the features as much as possible, while making calculated guesses.
One day, while browsing the VirtualAGC website and incredible details on the internals of the AGC and the DSKY, I came across the "Electrical and Mechanical" section. Thanks to the efforts that Ron (and his team) put into this, a lot of NARA (National Archives) SW Aperture Cards were scanned, which included the original MIT plans: mechanical dimensions, assembling diagrams, etc... For the most important parts of the DSKY! Eureka! I now have accurate dimensions.
...Which are in 2D. Off to create CAD models out of those!