Introduction: 3D Printed Arduino Controller
Hey Makers !!!
In this tutorial we will go through how to make your very own universal arduino controller.
With this controller you will be able to control any arduino Robot you build using the NRF24L01 transceiver.
Supplies
For this instructable you will need:
TOOLS:
Small cross head screwdriver
Soldering Iron
Solder
SUPPLIES FOR THE CONTROLLER:
For 1 Controller you will need:
1x Joystick shield (link here)
1x Arduino UNO (link here)
1x NRF24L01 Transceiver Module (link here)
1x 18650 Battery holder (link here)
2x 18650 3.7V Li ion batteries (link here)
1x Right angle Power Jack connector (link here)
1x 2mm x 8mm screw pack of 100 (this will do for lots of other things) (link here)
PLASTICS:
The parts can be printed in PLA or PETG or ABS.
!! Please note a 500g spool is more than enough to print 3 controllers !!
3D PRINTER:
Minimum build platform required: L150mm x W150mm x H50mm
Any 3d printer will do. I personally printed the parts on the Creality Ender 3 which is a low cost 3D printer under 200$ The prints turned out perfectly.
Step 1: 3D Printing the Parts
All the parts are available to download on Pinshape (link here)
All the parts were test printed on the Creality Ender 3
0.4mm nozzle diameter
0.3mm layer height
if printing in PLA no supports raft or brim are required
if printing in ABS and PETG a brim maybe required
Step 2: Getting Started With Arduino
Install Arduino IDE on to your computer (link here)
Download the code below:
Attachments
Step 3: Controller Assembley Instructions

Participated in the
Games Contest
20 Comments
2 months ago
The correct CONTROLLER_OFFICIAL_CODE_1.ino file can be found under the name "FNLVB29JZ8OOZ3C.ino"
Question 2 months ago
Downloading the file CONTROLLER_OFFICIAL_CODE_1.ino gives an unexpected and probably false Arduino file "GorillaBot_Controller__Autonomous_1". The content of this file is different from that described in the Youtube video "Controller Assembly Instructions" at (4:48). What can I do to get the correct CONTROLLER_OFFICIAL_CODE_1.ino file ?
Question 2 years ago on Introduction
curious why you have 5 covers for the controller? Thank you
Answer 2 years ago
There are 5 different numbers drawn on to the lids of each controller 1 to 5.
It is in case you want to have multiple controllers for multiple robots for example with my football R/C robots
https://www.instructables.com/id/3D-Printed-Arduino-Football-Robots/
so you know which controller goes with which robot if you print in the same colour!
I am soon going to publish a new version of the controller with bluetooth connectivity and a hole to re program the arduino without having to take it apart.
Reply 2 years ago
Sebastian, any chance you have a video or visuals depicting assembly step 8? Legs to servos? Thanks
John
Reply 2 years ago
Sorry not right now! your not the only one who asked so I'll try and post an assembly video when I have time.
The servos when you switch the robot on after uploading the code go to their home position and the thighs (servo arms) of each servo need to be attached at a 90 degree angle compared to the body of the robot facing downwards whilst the servos are in their home position
Hopefully this helps you understand a bit better
Reply 2 years ago
Sure. That makes sense. Thanks for all your help. I believe I’ve printed all the parts and got most everything (electronics, etc) except for the Arduino. Any chance you could send me a link to the right Arduino on Amazon. I’m afraid I’m going to buy the wrong one. Thanks again and again.
Reply 2 years ago
https://www.amazon.com/Board-ATmega328P-Micro-compatible-Arduino
Here is the link for amazon.com you need an arduino nano ATmega328P 5V 16M
Reply 2 years ago
Sorry to keep bugging you but this is one of your only links that didn't work. That is why I was asking for a link because this one (is/was) broken.
Reply 2 years ago
No problem,
Are you talking about the arduino for the controller or for the robot though cause the controller uses an arduino uno (link here)
Reply 2 years ago
I was talking about the Arduino for the robot. I order this "Gamepad JoyStick Keypad Shield Module Puzzle Expansion Board for Arduino nRF24L01 Nk 5110 LCD IIC I2C UNO Mega 1280 2560" for the controller. I didn't think I needed another Arduino for the controller. Unfortunately, Aliexpress states it may take a month or 2 to get the gamepad board in. His b day is 9/18. I'm doing a dry run now.
Reply 2 years ago
You will need an arduino UNO for the controller as well
the joystick shield can also be bought from amazon (link here)
Reply 2 years ago
Do you think I could use this Arduino for both the Bot and the controller?
Reply 2 years ago
Unfortunately for my current setup you need:
an arduino uno for the controller (link here)
an arduino nano for the robot (link here)
I don't know what you bought but check the specs as you might have bought the correct ones already the ones in my links are cheaper versions than the official ones but work just as well
Reply 2 years ago
SEBASTIAN, I have all the right components now. And in time. My main issue right now is connecting the 4 wires I can connect to the ultrasonic sensor to the 3 pins I can connect to on both the #1 & 2 pins on the board connection. I understand the labeling but it's not clear to me how to connect it. I have the same problem with the magnetometer- it has the potential to connect 5 wires and pins #11 and 12 have a total of 6 pins ( 3 +3). Please help - thank you
Reply 2 years ago
ULTRASONIC SENSOR has 4 pins to connect:
Vcc goes to anyone of the VCC pins on board connections 1 or 2
Gnd goes to anyone of the GND pins on board connections 1 or 2
Echo goes to Signal pin 1 on board
Trig goes to Signal pin 2 on board
MAGNETOMETER has 4 pins to connect:
Vcc goes to anyone of the VCC pins on board connections 11 or 12
Gnd goes to anyone of the GND pins on board connections 11 or 12
SDA goes to Signal pin 11 on board
SCL goes to Signal pin 12 on board
Hope this helps!
Reply 2 years ago
Thank you- Thank you. I'm so close I can taste it. I had a problem with Arduino software upload - I was missing a Newping library. I believe I fix that. One I make these. connections I will try again.
Reply 2 years ago
Thank you. I ordered from your links. When the arduinos I ordered come in I will just return them. I want you to know I really appreciate your help. My only concern now is the delay for some of the electronics I purchased from Aliexpress and robot. Supposedly they have until the middle of November to get to me. One thing I should be able to do is have my grandson use the robot in autonomous mode. All of the parts are printed. You did a perfect job with the dimensions and fit. I intend to do a dry fit to make certain when he gets it he will be able to put in all together with no problem. Now for the programming. Here's a pict:
Again, thank you
Reply 2 years ago
I'm fine with returning the Arduinos I purchased and get 2 of the link you provided? Thoughts. Thanks John
Reply 2 years ago
Thank you