PCBWay 3rd PCB Design Contest
VOTE NOW!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Design 1/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Usability 2/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Creativity 3/4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Content 4/4

Since my first robotic project I use game controllers to execute commands and functions. This is certainly an influence of my gamer days. I already did projects with PS2, Xbox 360 controllers... but there came a time when I had some interface issues and decided to make my own controllers based on Arduino and nRF24L01 (my first controller for bigger / advanced robots: https://youtu.be/oWyffhBHuls).


This current controller has a design inspired by the N64, but obviously with fewer buttons / functions, as it was designed to control mainly small robots and RC cars based on Arduino. The custom silkscreen and button colors are also influenced by the Super Nintendo.





Basically, the controller is a big PCB with the outline of the N64 controller. Four buttons on the right grip... analog stick on the left... a buzzer to play some tones according to the commands... a toggle switch to turn on... another toggle switch to change the function of the buttons and the stick... the middle grip is reserved for an Arduino Nano... and the commands are sent remotely by the nRF24L01 module.




Making the PCB


The shape file was made with Inkscape, importing an image file from the original N64 controller and with the "Draw Bezier curves and straight lines" tool, I made the controller outline. (I have a walkthrough focused on creating custom PCBs... please also take a look if you're interested in every step to make a complex PCB shape: https://www.pcbway.com/project/shareproject/Custom_PCB_shapes_with_Inkscape_and_Fritzing.html).




The arrangement of the components on the board and the routing were done with Fritzing. With Fritzing I also export the files (Gerber files) necessary for manufacturing.






Electronics and soldering


The components of this project do not require much soldering experience, as no SMD components were used. To solder the four buttons, the joystick, the buzzer and the pin headers, I used lead-free solder and a 50W iron.




The controller also has two toggle switches, on which I soldered jumper wires, which are connected to the board as shown in the video and in the diagram.





The nRF24L01 module with antenna is also connected to the board using jumper wires.


The power supply for the controller is a 9V battery, which goes in the bottom of the base, with a battery holder.




Making the base


I made a base to make the controller more comfortable to handle... because it would be bad to handle by touching the pins of the components.




It's made with two layers of high impact polystyrene.


Using the PCB as a guide, I draw the outline directly on the polystyrene sheet.




With a utility knife, I cut the unwanted pieces, leaving an edge of about 1mm.


The two layers are joined with instant adhesive.


Then I remove the excess material from the edges. First with utility knife. And then with sandpaper.


The base also has brackets for the toggle switches and the nRF24L01 module with antenna.


The last step on making the base is the painting... first with spray primer... and finished with matte black.




Programming


The programming of the controller (actually, the Arduino Nano) is made with the Arduino IDE.




The code is very simple... for example, when I press the blue button, the controller sends 17. When I press the red button, the controller sends 18... and the receiver will take these values and the Arduino will perform the actions assigned to them.

Bill of materials used in this project

Arduino Nano
1
Female pin header (1x15)
2
Thumb joystick
1
12mm tactile button with colored cap
4
Toggle switch
2
Jumper wire (F/F)
12
Jumper wire (M/M)
1
nRF24L01 module with antenna
1
Buzzer
1
9V battery holder
1
M3 screw
10
M3 standoff
5
M2 screw
3
M2 nut
3
High Impact Polystyrene sheet (2mm thick)
1
Heatshrink tube (small piece)
1
Mar 25,2020
116 viewsReport item
  • Comments(1)
  • Likes(0)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
    View More