This is my take on creating a simple tool to press buttons for me in an automated way.
I am trying to automate tasks that can be easily forgotten or are tedious all the time, so to start my old Non-Wifi Vaccum-Robot regularly I developed this simple button-presser. First plan was to model a finger for esthetic reasons but that turned out to not work so well but the Name stayed “Fingerbot” v1 is completely open for anyone to create and extend as they like.
For printing I used some PLA I had from a different project. No special requirements.
The Electronics are super simple, I used an ESP8266 based WeMos D1 Mini Pro from AliExpress and a small Miuzei Micro Servo 9G that I had laying around.
The wiring is super simple, just connect the Servo to GND, 5V and D0 of the Board as indicated in the Wiring-Image.
For Programming I am using ESPHome for easy integration into Home-Assistant. To configure the Servo for usage you can use the following config:
output:
- platform: esp8266_pwm
pin: GPIO16
frequency: 50 Hz
id: d0_outputservo:
- id: d0_servo
output: d0_outputnumber:
- platform: template
name: Servo Control
min_value: -100
initial_value: 0
max_value: 100
step: 1
optimistic: true
set_action:
then:
- servo.write:
id: d0_servo
level: !lambda 'return x / 100.0;'
The output-section defines the pin where the servo is connected (D0=GPIO16 on the ESP) as well as the frequency (which is 50Hz for my servo).
The servo-section defines that a servo is connected and the number-section is there to enable home-assistant to control it, since servos are not natively supported by homeassistant we map the servo-rotation to a number from -100 to 100.
As some might have noticed on the pictures the Vacuum-Robot has a capacitive screen. So just using a PLA-Pin to press it does not work, you need to have some current flowing.
To make the Fingerbot work I used a simple Trick that I found while researching which is to simply use the negative pole of a battery. So I glued a coin battery to the end of the fingerbot using hotglue and that works like a charm.
If you want to do it yourself just put some hotglue on the positive side, put it on the Fingerbot-Pin and then lower the pin to the button while the hotglue is still not hardened. This way the battery will sit flush with the button to make sure it has enough contact area.