DIY Physical Mouse Auto-Clicker – From 3ds Max to ESP32 Reality
Create a 3D model in 3ds Max. Utilize the various modeling tools and techniques available in the software to design and refine your object's form. Experiment with textures and lighting to enhance realism before rendering the final image or animation.
Ever had a task so repetitive you wished a robot would just do it for you? Instead of using software that might get flagged by anti-cheat or automation detectors, I built a physical solution.
This project uses an ESP32 to control a micro servo that physically hammers the mouse button. No code injection, just pure mechanical clicking.
🛠️ The Tech Stack
To bring this "robotic finger" to life, I combined three distinct workflows:
- Design: Autodesk 3ds Max for the custom enclosure and servo mount.
- Hardware: ESP32 NodeMCU D1 R32 and a Micro Servo SG90.
- Software: Thonny IDE for writing the MicroPython logic.
📐 Design & Print Prep (3ds Max)
Using 3ds Max, I modeled a specialized rig to hold the mouse and the servo in perfect alignment. The goal was a modular design where the servo height could be adjusted to ensure the "click" was firm but didn't strain the motor.
- Precise Geometry: Calculated the throw distance of the SG90 arm.
- Exporting: Sliced the model into printable components to ensure structural rigidity.
💻 The Code (MicroPython + Thonny)
I opted for MicroPython because it allows for rapid iteration. Using Thonny, I programmed the ESP32 to oscillate the servo between two specific angles (the "up" and "down" positions).
in first place I flashed the ESP 32 to get in micropython
python3 -m esptool --port /dev/ttyUSB0 --chip esp32 --baud 460800 erase_flash
python3 -m esptool --port /dev/ttyUSB0 --chip esp32 --baud 460800 write_flash -z 0x1000 SPARKFUN_IOT_REDBOARD_ESP32-20251209-v1.27.0.bin
then I was ready to go :)
` The logic is simple:
- Initialize the PWM pin for the servo.
- Set a loop with a configurable delay.
- Toggle the servo position to mimic a human finger.
📽️ The Result in Action
Check out the video below to see the D1 R32 driving the servo and the mechanical clicking mechanism in real-time.
🚀 Key Takeaways
- Hardware Independence: Because it’s an ESP32-based device, it doesn't need to be plugged into the PC it's clicking on.
- Customization: I can easily change the "Click Per Second" (CPS) rate by adjusting a single variable in the Thonny editor.
- Next Steps: I’m looking into adding a potentiometer to the D1 R32 to control the speed physically without reflashing the code.