Arnov Sharma
Published © MIT

Arduino Retro Game Controller

Made a Simple game Controller based around Arduino Micro

BeginnerFull instructions provided1 hour620
Arduino Retro Game Controller

Things used in this project

Hardware components

Arduino Micro
Arduino Micro
×1
PCBWay Custom PCB
PCBWay Custom PCB
×1

Software apps and online services

Arduino IDE
Arduino IDE
Fusion
Autodesk Fusion

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)

Story

Read more

Custom parts and enclosures

Fusion360File

Schematics

SCH

Code

code

C/C++
#include <Gamepad.h>

Gamepad gp;

void setup() { 

  pinMode(A0, INPUT);
}

void loop() {

 int value = analogRead(A0);

  if (value > -5 && value < 5)                  //UP
     gp.setButtonState(0, true);
  else
    gp.setButtonState(0, false);

  if (value > 505 && value < 516)             //DOWN
     gp.setButtonState(1, true);
  else
    gp.setButtonState(1, false);

    if (value > 762 && value < 772)           //LEFT
     gp.setButtonState(2, true);
  else
    gp.setButtonState(2, false);

     if (value > 676 && value < 686)           //RIGHT
     gp.setButtonState(3, true);
  else
    gp.setButtonState(3, false); 

     if (value > 907 && value < 917)           //LT
     gp.setButtonState(4, true);
  else
    gp.setButtonState(4, false);

     if (value > 930 && value < 980)           //RT
     gp.setButtonState(5, true);
  else
    gp.setButtonState(5, false);


     if (value > 814 && value < 824)           //Y
     gp.setButtonState(6, true);
  else
    gp.setButtonState(6, false);


     if (value > 872 && value < 882)           //X
     gp.setButtonState(7, true);
  else
    gp.setButtonState(7, false);

     if (value > 847 && value < 857)           //A
     gp.setButtonState(8, true);
  else
    gp.setButtonState(8, false);

     if (value > 890 && value < 900)           //B
     gp.setButtonState(9, true);
  else
    gp.setButtonState(9, false);

}

Credits

Arnov Sharma
352 projects • 360 followers
I'm Arnov. I build, design, and experiment with tech—3D printing, PCB design, and retro consoles are my jam.

Comments