The following project description is a brief of the full explanation here.
The controller is battery (LiPo) powered and uses the ESPNow wireless protocol as its communication protocol. Here is the list of components:
- A ESP32 dev board; The dev kit uses a ESP32-WROOM-32 module.
- Two joystick modules. They are not the best, however, the calibration can be done through software.
- One TP4096 based charging module, capable of charging 3.7V LiPo batteries.
- A 3.7V LiPo battery with 1200mAh capacity. One with a different capacity also fits.
- A rocker switch to turn ON/OFF the controller.
As stated previously, the joysticks are not the best. Their read analog voltage, from both axis, differs from one to another. To mitigate the diference, I've introduced a CALIBRATION_DELTA
.
I've also mapped the read analog voltage from 0 until 4096 to -100 until 100. The mapped values help materialize the value of each read value into a 2 axis (X and Y) graph, but they are not necessarly mandatory for the end goal.
The enclosure to glue everything together is a 12cm x 9cm PLA printed design with a border radius of 2cm.
That's all folks! Have safe drives ;)