R307 Optical Fingerprint Sensor Module
Biometric access control for DIY smart locks.
The R307 is an optical fingerprint reader module built around an integrated optical sensor and an onboard processor that handles image capture, feature extraction, and fingerprint template matching entirely on-module. Rather than sending raw images to your microcontroller, it does the heavy lifting itself and returns simple pass/fail match results over UART, making it a popular choice for DIY smart locks, biometric attendance systems, and secure-access add-ons for existing projects.
Specifications
| Sensor type | Optical fingerprint sensor with onboard DSP for image processing and matching |
| Operating voltage | 3.6V–6.0V DC (commonly run at 5V) |
| Operating current | ~120 mA typical, up to 150 mA peak during scanning |
| Image resolution | 500 DPI, 256 x 288 pixel capture area |
| Template storage | Up to 1000 fingerprint templates stored in onboard flash |
| Matching modes | 1:1 verification and 1:N identification search |
| Interface | TTL UART (default 57600 baud) using a simple binary packet protocol |
| False accept rate | < 0.001% (module-dependent, per datasheet) |
Pinout
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power, 3.6–6V DC (5V typical) |
| 2 | TX | UART transmit — connect to microcontroller RX |
| 3 | RX | UART receive — connect to microcontroller TX |
| 4 | GND | Ground |
| 5 | TOUCH (3.3V) | Capacitive touch-detect output on some revisions, wakes the module when a finger is placed |
| 6 | WAKEUP | Optional finger-detect signal used for low-power wake designs |
The module ships with a 6-pin JST connector; on 5V boards like the Arduino Uno, a logic-level shift isn't required since the R307 TX/RX are 3.3V-tolerant enough in practice, but for reliable long-term use many builders still add a voltage divider or a SoftwareSerial connection to avoid tying up the hardware UART used for USB debugging.
Variants
The R307, AS608, and FPM10A are largely interchangeable at the software level since they all speak the same command set popularized by the Adafruit fingerprint sensor library — pick whichever is cheapest or fastest to ship, and double check the baud rate in your code if switching between them.
| Variant | Temp range | Hum range | Accuracy | Protocol | Price |
|---|---|---|---|---|---|
| R307 (JST cable, TTL UART) | ~$8-15 | ||||
| AS608 | ~$7-13 | ||||
| FPM10A | ~$6-10 |