I may do something like this when my Dolch PAC arrives. I may be forced to if it's DOA and I want to use it while I design an 1800 PCB ;)OK, so what you are saying is that I need to open up all the tops of the switches? I can off the bat tell you that they are just pieces of bent wire and go straight across, so once I get a chance, and I should have done this before putting all the springs and stems back in, that way it would have been easier.
I'm no expert at original Cherry PCBs but from those pics, I'm assuming it's just a standard switch matrix with jumper wires not diodes in the switches.
A bit of testing with a multimeter can map out the matrix wiring, and connecting to a Teensy should be easy.
Or even easier perhaps... use a flat-bed scanner to scan the bottom of the PCB (or take a high-res photo) and trace it manually using a graphics app.
You'll need a photo of the top as well, to identify the jumper wires. Drop both into something like Photoshop and you can flip the photo of the top and put it on a layer above the bottom pic at 50% opacity. I've done that before with another reverse engineering project and it works well... just trace over the traces with different colours.
If you shared the pics, I could help you reverse engineer the matrix and get TMK going for you.
No, no, no!Ohh, ok! Makes more sense!
I can tell from the pics you showed me that the switches have jumper wires in them, not diodes, since some of them aren't even connected by tracks.
Just take a photo of both sides, enough to see the tracks on the bottom and the jumper wires on the PCB (not in the switches).
Old school single-sided PCB routing... ;) Can't want to get mine... I love vintage hardware!1. I plan on using an old 1800 case, that is why I want to scrap the controller, but I also wonder how Caps lock, scroll lock, and num lock will work...
Assuming the ribbon cables are for 19 columns and 8 rows, you may need to use a Teensy++ 2.0 for that many rows/columns - using a Teensy with less I/O pins will require extra chips to expand the I/O, which just gets messy. Teensy++ 2.0 is pretty teensy anyway. KISS principle applies here... just use that.
You could plan your case around sticking a Teensy in the middle somewhere... the wires from the Teensy could connect to either the ribbon cable pads, or directly to one of the switch pins on that row or column, sort of like a hand-wired custom build.
I'll stitch these photos together in 'shop and give it a look.
BTW what did you do with the vintage blues?
1. I plan on using an old 1800 case, that is why I want to scrap the controller, but I also wonder how Caps lock, scroll lock, and num lock will work...
Depending on how I move it since it is just supported by some wires, it actually fits perfectly.1. I plan on using an old 1800 case, that is why I want to scrap the controller, but I also wonder how Caps lock, scroll lock, and num lock will work...
Cool!
You can just wire the LEDs to pins on the Teensy, via a resistor (e.g. 220 ohm)... nothing too hard there. I think the spacing is different between the Dolch and Cherry LEDs. If it's the same, reuse that little board, otherwise just attach some LEDs to the case with hot glue (the duct tape of DIY electronics), and have wires leading off to the Teensy.
After I stitched your pics together (badly), I just discovered I had already stumbled upon a good photo of the bottom layer while researching Dolch PACs *doh*
This one's a bit nicer so I'll use that to trace out the matrix.
Wow, thank you!
(Attachment Link)
I'll let you compile this into an ordered row/column grid with each key placed in it... that will be the quickest way to get it into TMK, because then you can just stick that into the keymap definition, compile and go. If you want to make the TMK keymap looks like "Esc, F1, F2, F3" and not "A, RShift, Enter, G" etc. then that's easy enough to do with a bit of extra code.
Huh? What are you talking about? ....
I thought the Dolch had a regular G80-1800 controller. The differences are the 4P4C socket and that the LEDs are on a separate PCB instead of mounted onto the controller's board directly.