Arduino Joystick Recorder

I have built this little setup, which is supposed to record and replay input from a classic 9 pin Joystick. I connected the 9 pin connectors with the Arduino, read the input on the left side from the Joystick and then pass it to the right side by setting the corresponding pins to high.

It does work and I can play games on the Commodore 64. However, I noticed that with this setup, current is passed to the Commodore 64, which is very likely harming the machine a lot (I stopped immediately after noticing).

So my question is: how do I need to modify this setup so that no current is going from the Arduino to the Commodore 64 anymore?

Picture of the setup


Any advice is greatly appreciated, thanks in advance.


I would isolate the two devices using opto-isolators.


simulate this circuit – Schematic created using CircuitLab

Turning the output ON will illuminate the infra-red LED in the opto-isolator which turns on the photo-transistor connecting the input to GND. Both devices are then completely galvanically isolated (unless of course you take power from the C64 for the Arduino).

Another option, if you don't care about galvanic isolation, is to just use a simple transistor (small signal NPN or logic level N-channel MOSFET) to make an Open Drain output:


simulate this circuit

Again, set the output HIGH and the transistor will turn on connecting the C64 input to ground.

  • Thank you (again, I guess, as you pop up with solutions for every single question I ask ;) ) Majenko. I will look into both options, that was very helpful. – Esshahn Jul 18 '17 at 6:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.