ATARI 65XE AS USB-KEYBOARD

Introduction: ATARI 65XE AS USB-KEYBOARD

Making retro Atari 65XE as an USB-keyboard for a modern computer. As will leave the opportunity to use this Atari in native mode. The Arduino Leonardo used to connect Atari's keyboard to an USB. With an UNIX this keyboard will work without any restrictions. Windows need to connect to PC any USB-mouse at BIOS startup for the booting with this keyboard. Apple or others need little corrections within the Arduino program for the keys order correction.


There are no other reasons besides nostalgia.

Step 1: Only 34 Soldering Points Is Need to Make

This Atari 65XE is nearly 30 years old. And he works. To add one more function for him - the USB-keyboard - is needed only Arduino Leonardo, not a lot of wires, an USB-cable. No DC-adapter of Atari will be needed for this function.

Only 34 soldering points are needed to make. Because the pitch of contacts on slots of the Atari's keyboard and on Arduino is 0.1 in (2.54 mm), the process of soldering is easy.

Note: for Linux usage it is applicable, as the restrictions described below are not important. But for full usage (in Windows, for example) it is needed to make more soldering (described here in the Appendix) and to modify the Arduino sketch.

Step 2: Place Arduino Under the Case & Mark Some New Keys

After soldering wires from Arduino to J8 connector of Atari, Arduino can be placed at any cozi position under the case. The USB-cable needs to be connected to Arduino and let out from the Atari's case. Now possible to use this Atari like a regular USB-keyboard.

Not all keys of the retro Atari correspond to keys of a modern PC-keyboard. Some keys of Atari will be with 2 functions to make all PC's commands. It is possible to make some different layouts within the Arduino sketch. Within the layout of the Arduino sketch that's here, mainly keys of Atari correspond to PC-keys, but this ones are need to be noted (tabled on the picture here).

Step 3: Flash Arduino Sketch Via USB

Flash Arduino Leonardo is easy via an USB. So, download:

* - because here all ICs of Atari is stayed in his places (that makes possibility of Atari to work in the native mode) when Arduino scanning the keyboard's matrix, time to time some random signals is appears from a chips. Mainly they affect keys "Pause" and "Control" as tested. Some protection from these signals is marked within the Arduino sketch and was tested. But if libraries "keyboard" and "keypad", that are developed independently, will change incompatibly, some words can occur. For this case here fixed for download the versions of libraries that were tested with the Arduino sketch. These libraries will be needed only if the Arduino sketch will not work with actual libraries.

In addition to the USB-keyboard usage it remains possible to enable this Atari in the native mode. But, of course, not at the same time when Atari are connected via an USB to a PC like a keyboard.

Appendix (not a required, but improves buttons handling in its combinations)

For the full usage of all buttons and all its possible combinations for USB application, while keep the native Atari mode alive, need to exclude from the work a part of the Atari circuit (marked red) when the keyboard is connected via USB; and to engage this section if Atari is running in native mode.

It is not very difficult to do, only a lot of soldering is required (of course, not in the Atari scheme) and one chip CD4066. One more thing that will help is that the 0.1 in (2.54 mm) male PCB strip connector fits perfectly into the Atari J8 slot.

Be the First to Share

    Recommendations

    • Pi Day Speed Challenge

      Pi Day Speed Challenge
    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Microcontroller Contest

      Microcontroller Contest

    9 Comments

    0
    alexander.alers
    alexander.alers

    1 year ago

    Hi, this looks nice, but i've a question : Could you use the origin D-SUB-9 Joystick-Ports with the arduino leonardo, too? So i could use the joystick/mouse too

    0
    iot4c
    iot4c

    Reply 1 year ago

    Sorry, i'm not understand. The Atari native joystick port is not D-SUB connector. I can not imagine, for what its can be used with Arduino...

    0
    alexander.alers
    alexander.alers

    Reply 1 year ago

    Hmmm. the ATARI-Joystick-Ports (A/B) are divided into 2 D-SUB-9-Male-Connectors... And i need em, because i want to build a Raspberry PI inside a 65XE-Case with its Keyboard and build at the Position of the two Joystick-Connectors a D-SUB-9 (Double)-2-Arduino Adapter and than going via USB directly to the Raspberry PI.

    0
    iot4c
    iot4c

    Reply 1 year ago

    I think I get it. You will try soldering the Arduino to the joystick's lines on Atari PCB? May be this possible if Arduino will works on 3.3V, not with 5V. If Arduino will have works on 5V, then chips on the Atari PCB will makes interferences

    0
    alexander.alers
    alexander.alers

    Reply 1 year ago

    could it be a choice, to use for the joystick-ports an extra arduino nano, and he will send informations to the leonardo?

    0
    iot4c
    iot4c

    Reply 1 year ago

    If I understand correctly, you are in general had proposed a good approach to overcoming the limitations that are currently in my sketch (some keys, for example Ctrl + Alt + Del, do not work due to interference from Atari chips on native PCB).
    Indeed, if you interrogate the keys and joystick with one Arduino with a voltage of 3.3V, and communicate with a PC through Leonardo (Pro mini) with a voltage of 5V (necessary for USB), then this will work better than in my version. I think.

    0
    AlperO6
    AlperO6

    2 years ago on Step 3

    Hi. Thanks for this. I'm wondering, can i use this with my Atari 600 XL?

    0
    iot4c
    iot4c

    Reply 2 years ago

    I have heard the Atari 600XL has very good one keyboard tactile. Theoretically - yes, this must work with Atari 600XL keyboard with some but no global changes within Arduino code (becase keyboard layots have some differences between 600XL and 65XE). On practise... if no unsolder the keyboard's slot from Atari mainboard, chips of Atari will makes time to time some random signals being powered from Arduino's 5V. While testing with Atari 65XE I was noted this ones and was take in account within Arduino code. But what signals will be in Atari 600XL case, I dont know and I have no Atari 600XL for testing. Same time if you ready to unsolder the keyboard's slot from Atari mainboard, then may be this tested case is best for Atari 600/800XL?: http://blog.pixelpracht.net/?p=710

    0
    audreyobscura
    audreyobscura

    2 years ago

    Did you just have this keyboard lying around? I feel like there's a story there.... thanks for sharing this on Instructables!