A while ago I was browsing a local flee market for used keyboards. No luck with that, but I found an Atari 800XL for 20€ that was in great external condition and I figured I could try to turn it into a keyboard instead.
When at home I opened it and found the keyboard to employ some kind of circuit printed on foil which was blugged into the main board through a plug-in connector.
Because I couldn't find an identical connector to purchase online I figured I could just desolder it from the PCB. Well, turns out I couldn't. To get it free you probably need to heat up all 20-something pins at the same time which I couldn't figure out how to do with the simple soldering iron I had. So I bought a fretsaw and got rid of the PCB piece by piece!
Then I bought a Teensy microcontroller, soldered a bunch of pinheaders to it and a complementary bunch of pinheaders to the connector I hijacked from the PCB.
From now on it was basically a coding job. Just apply some voltage to a pin and check all other pins if there's some measurable current. After a bit of coding and logging data through the handy Keyboard.print() command I had the keyboard matrix figured out. The only major hurdle was, that there were a short circuit... the keyboard behaved like the Escape key was pressed all the time. But by carfully seperating the foil with the circuits and cleaning it in that area that problem was resolved.
It still took me a while to come up with a program that would allow me to map all buttons correctly because the keyboard layout is far from standard. And I still haven't figured out what the button in the lower right corner is supposed to mean! But this evening I got it working. And the code isn't even a big mess (180 lines of codes most of it lookup tables) so I'm quite happy. Would have never expected microcontrollers to be so convenient and flexible. I'm sure this won't be my last project ivolving one. (It was my first, though^^)
The downside is that now that I got it working I know that it isn't exactly what I went to the flea market for: a nice mechanical keyboard fit for every day use. I'll never get used to that layout. And while the caps are beautiful and sturdy typing feels a little weird.
So, if anyone reading this wants to trade the McGyver-Atari-Keyboard for some other keyboard (or a set of keycaps for my Ducky Zero) I'm willing to trade!
(Yeah that was a stupid project but I had fun )
Atari 800 XL converted to USB keyboard
- Halvar
- Location: Baden, DE
- Main keyboard: IBM Model M SSK / Filco MT 2
- Favorite switch: Beam & buckling spring, Monterey, MX Brown
- DT Pro Member: 0051
Nice project!
http://www.atarimania.com/documents/ata ... -guide.pdf
It might also be a nice case for a raspberry pi running pimame...
http://pimame.org/index.html
http://www.atarimania.com/documents/ata ... -guide.pdf
It might also be a nice case for a raspberry pi running pimame...
http://pimame.org/index.html
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
You coded it up by yourself? Well done! Usually everyone uses Hasu's or Soarer's.
The way I'd use that bottom right key is as "Fn" so I could hold it to engage a function layer, with arrow keys and such playing double duty on other keys across the board. A short right shift is a godsend, because you can do an HHKB-style function layer:
Mind, if I ever figured out how to code a Teensy directly, I would likely forget all about rollover!
The way I'd use that bottom right key is as "Fn" so I could hold it to engage a function layer, with arrow keys and such playing double duty on other keys across the board. A short right shift is a godsend, because you can do an HHKB-style function layer:
Mind, if I ever figured out how to code a Teensy directly, I would likely forget all about rollover!
- seebart
- Offtopicthority Instigator
- Location: Germany
- Main keyboard: Rotation
- Main mouse: Steelseries Sensei
- Favorite switch: IBM capacitive buckling spring
- DT Pro Member: 0061
- Contact:
fantastic Bitsquid! I love the Atari 800 XL! Much respect!
That Atari 800 layout, magic.
That Atari 800 layout, magic.
-
- Main keyboard: IBM Model M
- Main mouse: Intelli Mouse Explorer 3.0
- Favorite switch: MX Blue
- DT Pro Member: -
Yay, thanks for the postive comments!
My custom "firmware" is really basic. As far as I understand it the Atari keyboard itself wouldn't support multiple non-modifier keypresses at the same time (NKRO) so my programming doesn't deal with complexities like that. Maybe I do the keyboard injustice and it would be possible but there are no diodes and as soon as you press multiple keys current flows back & forth and whole rows in the keyboard matrix appear to be active.
I can post the source when I'm home if you want to have a look.
My custom "firmware" is really basic. As far as I understand it the Atari keyboard itself wouldn't support multiple non-modifier keypresses at the same time (NKRO) so my programming doesn't deal with complexities like that. Maybe I do the keyboard injustice and it would be possible but there are no diodes and as soon as you press multiple keys current flows back & forth and whole rows in the keyboard matrix appear to be active.
I can post the source when I'm home if you want to have a look.
- bhtooefr
- Location: Newark, OH, USA
- Main keyboard: TEX Shinobi
- Main mouse: TrackPoint IV
- Favorite switch: IBM Selectric (not a switch, I know)
- DT Pro Member: 0056
- Contact:
It's also worth noting that there are various revisions of the 800XL keyboard, with very different switches. (Mine is one of the oldest (the oldest?) revision, with Alps SKFL (IIRC) switches.)
-
- Main keyboard: IBM Model M
- Main mouse: Intelli Mouse Explorer 3.0
- Favorite switch: MX Blue
- DT Pro Member: -
I've also posted about this project on my blog. The post contains a bit more text and explainations and the full code of the firmware. Consider it open source if you ever come into a situation where it could be useful.
-
- DT Pro Member: -
I think the oldest version is the AWC with the engraved keycaps (narrow font, outlines) - judging by the pre-release photos, box art, manuals, pamphlets and advertisements.bhtooefr wrote: ↑It's also worth noting that there are various revisions of the 800XL keyboard, with very different switches. (Mine is one of the oldest (the oldest?) revision, with Alps SKFL (IIRC) switches.)
The ALPS SKFL version is the nicest to type on, but the keycaps seem cheaper quality than other versions.