Worlds Smallest Joystick Remote Control
by Markus Opitz in Circuits > Microcontrollers
338 Views, 5 Favorites, 0 Comments
Worlds Smallest Joystick Remote Control
As in the previous project, the aim is to make a remote control even smaller. And it works! According to my research, this is actually the smallest DIY joystick remote control in the world!
It is useful for RC vehicles, robots, pan-tilt cameras, garage gates and much more.
No problem with a XIAO ESP32 (-C3, -C6, or the new -C5) from Seeedstudio. The great thing about these devices is that they already have a LiPo battery charging unit on board. No battery replacement is necessary. The limiting factor is the joystick itself. A KY-023 has potentiometers on board that provide analog values. I found a "Five Direction Navigation Button Module" joystick. However, it is soldered onto a comparatively huge PCB.
Basic knowledge of Arduino is required.
Supplies
XIAO ESP32-C6 (or -C3, -C5) + antenna
mini joystick
switch
Lipo battery 100mAH
housing (3D, cardboard, wood9, peppermint tin, ...)
The Circuit & Soldering
So get the joystick off the PCB board! A hot air gun makes it quick and easy. The joystick knob is attached directly to the ESP32 with double-sided tape. Follow the wiring sketch, it is simple and adapted to the pins. The software does the rest.
Joystick XIAO ESP32
- UP D5
- RIGHT D4
- DOWN D2
- GND GND
- LEFT D9
- MID D10
ESP-NOW
…is an easy-to-use 2.4GHz communication protocol based on 2.4 GHz with an amazing range. With antennas on the transmitter and receiver, I was able to achieve a distance of 300 m! Enough for an RC vehicle or a garage door.
The Software
First, you need to use the sketch "MAC-Addr.ino" to determine the MAC address of the receiver. The transmitter only communicates with this device.
Sending and receiving are slightly different with this joystick than with the large joystick. Only digital on/off signals are detected here. However, these can be processed as absolute commands (up/down/on/off/button) or recognized as additive. Five button signals can be detected, but not sending (center) could also be sent as a status.
Upload the sketch.
Battery
The remote control already works, but with USB power.
Solder the battery contacts to the bottom of the XIAO ESP32. Don't forget the switch.
Plug in the battery. The switch must be ON to charge via USB.
Housing
All you need to do now is get a case (3D print, cardboard, wood, used case e.g. peppermint drop tin), install it, and your joystick will fit in your fist. Charge it, turn it on, and have fun!
Don't like the joystick button that comes with it? There's a solution for that too with 3D printing.