| Crates.io | Grow-r502-a_fingerprint_sensor |
| lib.rs | Grow-r502-a_fingerprint_sensor |
| version | 0.1.4 |
| created_at | 2025-04-06 20:42:02.706186+00 |
| updated_at | 2025-04-16 11:50:18.72446+00 |
| description | A Rust library for controlling R502-A fingerprint sensors over serial communication |
| homepage | |
| repository | https://github.com/kingsmen732/Grow-r502-a_fingerprint_sensor |
| max_upload_size | |
| id | 1623373 |
| size | 17,083 |
A Rust library for interfacing with R502-A and compatible fingerprint sensors via serial communication.
RAW implementation of this project is available in:
If link not redirecting use : https://github.com/kingsmen732/GROW_R502-A_fingerprint
This crate enables enrolling, verifying, listing, and deleting fingerprints using the sensor's built-in flash memory.
Add the following to your Cargo.toml:
[dependencies]
fingerprint-lib = "0.1.0"
serialport = "4.2" # Required for serial port communication
Here's an example of how to use the library:
use fingerprint_lib::fingerprint;
use std::time::Duration;
fn main() {
let port_name = "/dev/ttyUSB0"; // Replace with your serial port
let mut port = serialport::new(port_name, 57600)
.timeout(Duration::from_secs(2))
.open()
.expect("Failed to open serial port");
// Enroll a new fingerprint with ID 5
fingerprint::enroll_fingerprint(&mut *port, 5).unwrap();
// Verify a fingerprint
fingerprint::verify_fingerprint(&mut *port).unwrap();
// List all stored fingerprint IDs
fingerprint::list_fingerprints(&mut *port).unwrap();
// Delete a fingerprint with ID 5
fingerprint::delete_fingerprint(&mut *port, 5).unwrap();
}
This project acknowledges the invaluable guidance and support of Prof. Sibi Chakkaravarthy Sethuraman (VIT-AP University) and Prof. Chester Rebeiro (Indian Institute of Technology Madras) in the development of this tool. Their expertise and contributions have been instrumental in bringing this project to fruition.
Research outcome supported by Indominus labs Private Limited and Digital Fortress Private Limited
This crate is designed for fingerprint modules that communicate over UART and adhere to the GT-511C3 / R30x / R502-A packet protocol.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Feel free to open pull requests or suggest new features.
Let me know if you'd like me to auto-generate a Cargo.toml for publishing!