A project log for Control Freak

Collection of Arduino Micro firmware and schematics for connecting your retro Joysticks and Gamepads to USB port.

danjovicdanjovic 04/30/2020 at 17:030 Comments

The Atari 2600 platform provided four types of controllers:

Atari 2600 controllers (edited from a schematic borrowed from

Let alone(at least by now ) the Keyboard controller it is possible to detect which type of controller we have connected by observing that:

With that in mind it is possible to fulfill the USB report using a more standardized form:

The algorythm of detection can be something like:

  1. Sample Padddles
  2. if paddle values within valid range we have a paddle, goto step 5
  3. if UP+DOWN detected we have a driving controller, goto step 5
  4. if none of the conditions apply we have a joystick.
  5. handle the dada sampled
  6. do it all again