You are on page 1of 7

instructables

Reasonable DIY Wireless Controller

by SayaNIGHT

I don't think this controller is super cool. But if any of the following conditions apply, this controller might be a
reasonable option.
You need a cheap, wireless controller with a joystick and some push buttons.
You don't want to worry about wireless compliance like the FCC in the US, the CE in the EU or the
technical standards conformity certi cation in Japan.
You don't want to use lithium batteries. You prefer to use alkaline batteries.
You want to customize the software/case of the controller.
You don't mind if the controller is a bit large.

I used to use a tablet device to control my DIY robots, but I don't want to use an expensive one in a creator's event. I think
one solution is to use an o cial Sony PS controller. But I couldn't get a cheap one. (If you know how to get o cial PS
controllers cheap in the US, please let me know!)
I can buy a non-o cial cheap remote controller from an online site like Amazon, but these controllers may not connect to
any of my devices like DIY robots. Also, I don't think many cheap controllers are compliant with wireless standards. I was
worried if I could use a device without any wireless compliance in public events. Then I tried to make my own controller.
This time, I chose alkaline battery type. As you know, lithium batteries are rechargeable, powerful and small, but require
some care. I think alkaline batteries are easier to use than lithium batteries. I'll share the alkaline battery type controller
this time.
Supplies:

Parts
MCU module: Espressif Systems ESP32 DevkitC v4 (x1)

This module has FCC/CE/technical standards conformity certi cation. But you can also use your favorite MCU module.
Gamepad: HiLetgo Gamepad Joystick Shield (x1)
LED: blue Φ5mm LED and resistor (x1)

You can use any color LED. Choose an appropriate resistor.


battery holder: 3 AA battery holder (x1)
DC-DC converter module: step up, output 5V ~480mA→Adafruit MiniBoost 5V @ 1A - TPS61023 (x1)

I changed to a converter with a higher output current, because some of the rst ones didn't work well.
Power switch: slide, SPDT (x1)
Screws: at head M2.5×10mm screws and nuts (x6)
Reasonable DIY Wireless Controller: Page 1
wires
socket connectors

Tools
3D printer: Flashforge Adventurer 4
Screwdrivers
Soldering iron
Hot glue gun

Software
Arduino IDE
Fusion360

Reasonable DIY Wireless Controller: Page 2


Step 1: 3D Printing

Print two parts (case.stl and lid.stl) on your 3D printer. I used 1.75mm PLA lament. Only the power switch part of case.slt
requires supports. The other parts don't require any support.

Reasonable DIY Wireless Controller: Page 3


View in 3D Download
https://www.instructables.com/FXF/X835/LOWX07NF/FXFX835LOWX07NF.stl

View in 3D Download
https://www.instructables.com/FQA/XNUS/LOWX0B00/FQAXNUSLOWX0B00.stl

Step 2: Wiring

Solder and wire all the components according to the schematic diagram. The pinout of the gamepad module is shown in
the photo above. Set the V select switch of the gamepad to 3V. Make sure the LED ts in the position of the LED space on
the case and the switch position is correct. If you don't reuse the MCU and gamepad, you can solder directly instead of
using sockets. To prevent a short, I recommend to protect the circuit using tape and heat shrink tubing as shown in the
attached pictures.

Reasonable DIY Wireless Controller: Page 4


Step 3: Coding

Code the MCU as you like. As a sample I attached my code. The controller is a BLE central device in this code. I
recommend changing the UUIDs.
Download
https://www.instructables.com/FTO/89RU/LPJS1TT7/FTO89RULPJS1TT7.ino

Step 4: Assembling

1. Insert a screw nut into each of the six nut holders. Then close the holders using a hot glue gun to x the
Reasonable DIY Wireless Controller: Page 5
nuts as shown in Fig. 1.
2. Set the gamepad using screws as shown in Fig. 2.
3. Put the all electronic components as shown in Fig. 3.
4. Close the lid using screws. If the lid doesn't close well, try to close by pulling the switch like in Fig. 4. The
switch is xed after closing the lid.

Step 5: Test and Use!

Test and use your controller as you like! Customize the case if you want.

Reasonable DIY Wireless Controller: Page 6


As a sample, I attached my peripheral device's code. Prepare another ESP32 DevkitC module as a BLE peripheral device
and upload "BLEControllerMonitorPeripheral.ino" to it. You can test the controller by connecting to your PC via
UART(USB cable) and checking the serial monitor in the Arduino IDE.

https://youtu.be/5kPiMDYPuGM

Download
https://www.instructables.com/FB9/85Z8/LPJS1TOO/FB985Z8LPJS1TOO.ino

Reasonable DIY Wireless Controller: Page 7

You might also like