🚘 Garage Fingerprint Sensor

It is a dummy switch which is generated in ESPHome Config it is also displayed in Home Assistant:


“switch.finger_scanned”

(it is not unavailable because it has not been turned on and the state always just sets itself to off)

[...]
switch:
  - platform: template
    name: "Finger scanned"
    id: finger_scanned

fingerprint_grow:
  sensing_pin: D2
  on_finger_scan_matched:
    - switch.turn_on: finger_scanned
    - delay: 500ms
    - switch.turn_off: finger_scanned
[...]

I’ll check again if there is an error somewhere in the config, otherwise I’ll post the whole config. Thanks for the offer, currently it actually works quite well with the state.

thank you very much!

Hello,

I am trying to get my R503 working with an esp32. I have connected all the wiriers as described on the at ESPhome. But the sensor does not work. When I call the service to cancel the enrolment the R503 flashes red, but the logs give the following error: [E][fingerprint_grow:418]: No response received from reader.

All other services and functions do not work at all. I have connected the TX (yellow) to GPIO1 and the RX (green) to GPIO3. Does anyone know how I can solve this?

It’s a cross connection, connect tx to rx and rx to tx. Yellow to 3, green to 1.

A bit confused by this, but the original instructions had 6 pins wired up: 2 of them went to the 3.3V, TX, RX, GND and WAKE.

How do those relate to the 6 pins from the DIYMall wiring diagram? is the Vtouch and Vin the two that get wired to 3.3V? and Sout is the WAKE?

Pretty sure the diymall device is not a Grow device.

1 Like

The black-plastic/prism devices use the same SynoChip and will register/recognize touches. But @nickrout is correct, they are NOT technically Grow devices. They are knockoff-clone devices. The chip on mine was almost impossible to read, it was silk-screened so badly. :frowning:

How do these sensors behave outside after a while? II bought a cheap sensor once (from ebay, i think) and it worked ok for about half a year, then it was harder and harder to correctly recognize finger. Dissasembling showed that top white plastic was degraded from sun. Ok, it was old type with a camera below that white plastic, so it’s kinda understandable. This one is supposely a capacitive one, so maybe it’s more durable…

For me this sensor is still working perfectly after two months. However it’s under a roof and has no direct sun light. When it’s wet it’s harder to detect your finger but if you make it dry (with your clothes for example) it will work again.

I’d say it’s worth it for the price. You can also buy covers for the sensor in the same store on Aliexpress.

I bought an R503 and got it working after some problems. Not all GPIO inputs seem to work properly when esphome wants to communicate with the R503.

Now I’m looking into whether I can make a switch in Homeassistant that can call the fingerprint_grow.aura_led_control (without placing a finger on the sensor.)

I’m not a programming genius myself, anyone here with an idea?

You can create an esphome service.
Scroll to User-defined Services. Native API Component — ESPHome

Then in the service, make the service call of the aura led control.

Upload the new yaml and then call the created service in esphome, within an automation for example.

1 Like

You’ll need some sort of trigger.

After a sensor you could use on_value

or after a switch on_turn_on:

  on_finger_scan_unmatched: #change this line, this is your triggger
    - fingerprint_grow.aura_led_control:
        state: ALWAYS_ON
        color: RED
        

Other available options:

So my R503 sensor arrived and was wondering how the OP instructions change with a D1 mini instead of an esp8266?

I’m particularly confused with the pin numbering.

For example, the r503 scanner has specifically tx and rx but the OP does not connect them to the tx and rx on his particular board (they go to D1 and D0 instead). The Wakeup pin for the scanner goes to D2, even though there is a ‘wake’ pin on his board (which is the D0).

Where would these all connect to on a D1 mini?

I’m using a D1 mini ‘clone’ and used the pin assignments EXACTLY as the OP. It works. :slight_smile:

1 Like

Thanks for quick reply, will give it a go.

A D1 mini is an esp8266.

Also ESP8266 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials

1 Like

Something I’ve been intending to do but never found time until this weekend: Create a template text sensor displaying the name of the last person to successfully scan. After creating the text sensor, added a lambda that publishes the name associated with each user. Wish it could be a bit more dynamic, but this works nicely for now and is easily extensible.

text_sensor:
  - platform: template
    id:       fingerprint_username
    name:     "Who Scanned Last"
    update_interval: 30s
#
# Fingerprint matched - open/close the door
#
  on_finger_scan_matched:
    - switch.turn_on: garage_door_relay
    - delay: 500ms
    - switch.turn_off: garage_door_relay
    - fingerprint_grow.aura_led_control:
        state: BREATHING
        speed: 200
        color: PURPLE
        count: 2
    - text_sensor.template.publish:
        id: fingerprint_state
        state: "Authorized finger"
    - lambda: |-
        if (finger_id == 0) {
          id(fingerprint_username).publish_state("Fred");
        } else if (finger_id == 1) {
          id(fingerprint_username).publish_state("Joan");
        } else {
          id(fingerprint_username).publish_state("Unknown");
        };
2 Likes

Thanks Nick for the reference. That is super helpful for clearing up the confusion!

The same site has a very similar page for the esp32 :slight_smile:

I feel really ignorant for asking this question, but the initial code for referencing the pins uses:

uart:
  tx_pin: D0
  rx_pin: D1
  baud_rate: 57600

fingerprint_grow:
  sensing_pin: D2
  on_finger_scan_matched:

But in my 1 and only other experience with using ESPHome and these boards, I actually inputted the GPIO numbers instead of D0, D1, D2. Were these just placeholders that we needed to update or do we literally use D0, D1 and D2?

I’ve tried using both the ‘D’ no. as well as the GPIO no. and neither are throwing any errors, but the scanner shows no light. I’m not even sure if I have a functional scanner …

Edit: the grow fingerprint component on esphome shows the gpio numbers

Hopefully this will explain it Configuration Types — ESPHome