{"id":52239,"date":"2026-11-01T10:50:43","date_gmt":"2026-11-01T10:50:43","guid":{"rendered":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/"},"modified":"2026-11-01T10:50:43","modified_gmt":"2026-11-01T10:50:43","slug":"fingerprint-sensor","status":"publish","type":"siratek_tutorial","link":"https:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/","title":{"rendered":"Fingerprint Recognition"},"content":{"rendered":"<body><p><\/p>\n<h2>What it does<\/h2>\n<p>An optical fingerprint sensor with a processor of its own. It photographs a finger, extracts the features, and stores or compares them <strong>on the module<\/strong>, sending the Arduino nothing more than \u201cthis is number 7\u201d or \u201cno match\u201d.<\/p>\n<p>That division of labour is why it works on an Uno at all. Fingerprint matching is far beyond a 2 KB microcontroller; the module does it and hands back an answer.<\/p>\n<p>It is also a genuine step up from the RFID reader for access control, and this page is careful about exactly how far that step goes.<\/p>\n<h2>Before you begin<\/h2>\n<h3>Required parts and tools<\/h3>\n<ul>\n<li>An Arduino Uno or compatible board.<\/li>\n<li>One fingerprint module. This is Siratek product 3026, an AS608-based optical sensor on a <code>DY50<\/code> board.<\/li>\n<li><strong>Resistors for a divider<\/strong>, 1 k and 2 k, or a level converter.<\/li>\n<li>Four jumper wires, and a way to connect to the module\u2019s six-pin JST plug.<\/li>\n<\/ul>\n<h3>The connector, and the wire colours<\/h3>\n<p>The module has a <strong>six-pin JST connector<\/strong> with a short cable. The photographs show all six wires in the same colour, so <strong>the colours tell you nothing<\/strong> and you must go by position.<\/p>\n<p>Four of the six are the ones you need: power, ground, the module\u2019s transmit and the module\u2019s receive. The remaining two are a touch-detect output and its supply on boards that have it.<\/p>\n<p>With no reliable colour code, the safe procedure is:<\/p>\n<ol>\n<li>Find the pinout printed on the board or in the supplier\u2019s listing for your batch.<\/li>\n<li><strong>Identify ground and power with a multimeter before connecting anything<\/strong>, with the cable unplugged from the module: continuity from a known ground pad on the board to one of the pins.<\/li>\n<li>Connect power and ground only, and check the sensor\u2019s window lights.<\/li>\n<li>Only then connect the two data lines.<\/li>\n<\/ol>\n<p>That takes five minutes and avoids putting 5 V into a data pin.<\/p>\n<h3>It is a 3.3 volt device<\/h3>\n<p>The AS608 runs at 3.3 V logic, with a supply range that usually accepts 3.6 to 6 V.<\/p>\n<p>So the same arrangement as the HC-05 and the GPS: <strong>the module\u2019s transmit line is fine into an Uno, and the Arduino\u2019s transmit line needs a 1 k and 2 k divider<\/strong> before the module\u2019s receive pin.<\/p>\n<p>An ESP32 avoids the question, being 3.3 V throughout.<\/p>\n<h3>Default baud rate<\/h3>\n<p><strong>57600<\/strong>, not 9600. That trips people who copy a serial sketch from elsewhere, and the symptom is garbled replies or no reply at all.<\/p>\n<p>The rate can be changed on the module, but there is no reason to.<\/p>\n<h3>What is stored, and what is not<\/h3>\n<p>Worth being precise, because this is where the security conversation starts.<\/p>\n<p><strong>The module does not store images.<\/strong> It stores a <strong>template<\/strong>: a compact description of the minutiae, the points where ridges end or split. A template cannot be turned back into a readable fingerprint image.<\/p>\n<p>Templates live <strong>on the module<\/strong>, in numbered slots, up to a few hundred depending on the model. They survive power being removed. Your Arduino stores nothing.<\/p>\n<p>So the data on the module is better than a photograph, and it is still biometric data about a real person.<\/p>\n<h2>How good is this, really<\/h2>\n<p>An honest comparison with the RFID reader, since both end up in door projects.<\/p>\n<p><strong>Better than RFID in one important way.<\/strong> A card can be handed to someone else, lost, or cloned in seconds with a cheap reader. A finger cannot be lent out casually.<\/p>\n<p><strong>Still a hobby device.<\/strong> Optical sensors of this class can be fooled by a good-quality reproduction of a fingerprint. Published research has defeated sensors in this category repeatedly, and nothing about this module suggests it is an exception.<\/p>\n<p><strong>And the serial link is the weak point.<\/strong> The module says \u201cmatch, number 7\u201d over a plain serial line with no authentication. Anyone who can reach that wire can say the same thing to your Arduino. The sensor is not the easiest thing to attack; the two wires behind it are.<\/p>\n<p>So, where it is appropriate:<\/p>\n<ul>\n<li><strong>A workshop door, a tool cabinet, a time-and-attendance log<\/strong>: yes, and it is pleasant to use.<\/li>\n<li><strong>A front door, a safe, anything protecting money<\/strong>: no. Use a certified lock.<\/li>\n<\/ul>\n<h3>And a point about people, not technology<\/h3>\n<p>A fingerprint is not a password. <strong>If it is compromised, it cannot be changed<\/strong>, and the same finger opens every other system that person has enrolled in.<\/p>\n<p>If you build something that enrols other people\u2019s fingerprints:<\/p>\n<ul>\n<li>Tell them what is stored and where.<\/li>\n<li>Tell them how to be removed, and actually remove them when asked.<\/li>\n<li>Do not keep the data longer than the project needs it.<\/li>\n<li>Keep the module physically secure, since the templates live on it.<\/li>\n<\/ul>\n<p>None of that is difficult, and a project that collects biometric data from colleagues or family without mentioning it is a poor thing to have built.<\/p>\n<h2>Pin reference<\/h2>\n<table>\n<thead>\n<tr>\n<th>Module wire<\/th>\n<th>Connect to<\/th>\n<th>Purpose<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>VCC<\/code><\/td>\n<td>Uno <code>5V<\/code><\/td>\n<td>Power<\/td>\n<td>3.6 to 6 V typical<\/td>\n<\/tr>\n<tr>\n<td><code>GND<\/code><\/td>\n<td>Uno <code>GND<\/code><\/td>\n<td>Ground<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><code>TX<\/code><\/td>\n<td>Uno <code>D2<\/code><\/td>\n<td>Module out<\/td>\n<td>3.3 V; an Uno reads it<\/td>\n<\/tr>\n<tr>\n<td><code>RX<\/code><\/td>\n<td>Uno <code>D3<\/code> <strong>through a divider<\/strong><\/td>\n<td>Module in<\/td>\n<td>3.3 V input<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<figure class=\"siratek-tutorial-figure\"><img decoding=\"async\" src=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/fingerprint-sensor-wiring.svg\" alt=\"A fingerprint module connected to an Uno with a divider on its receive line, and a note that the six cable wires are all the same colour so positions must be identified first\" loading=\"lazy\"><figcaption>The cable\u2019s wires are all one colour. Identify power and ground with a meter before connecting anything.<\/figcaption><\/figure>\n<h2>Wiring steps<\/h2>\n<ol>\n<li>Unplug the USB cable.<\/li>\n<li>Identify the six positions on your module, with a meter, before connecting anything.<\/li>\n<li><code>GND<\/code> to <code>GND<\/code>, <code>VCC<\/code> to <code>5V<\/code>.<\/li>\n<li>Plug in and check the sensor window glows. That proves power without risking a data pin.<\/li>\n<li>Unplug again. Module <code>TX<\/code> to <code>D2<\/code>.<\/li>\n<li>From <code>D3<\/code>, a 1 k resistor to a free row, 2 k from that row to ground, module <code>RX<\/code> to that row.<\/li>\n<li>Plug in.<\/li>\n<\/ol>\n<h2>Software and libraries<\/h2>\n<p>Install <strong>Adafruit Fingerprint Sensor Library<\/strong> through Library Manager. Record the version.<\/p>\n<h2>Minimal working example<\/h2>\n<p>Confirm the module answers before anything else.<\/p>\n<pre><code>\/\/ Siratek: is the sensor there, and how many prints are stored?\n\n#include &lt;SoftwareSerial.h&gt;\n#include &lt;Adafruit_Fingerprint.h&gt;\n\nSoftwareSerial sensorSerial(2, 3);\nAdafruit_Fingerprint finger = Adafruit_Fingerprint(&amp;sensorSerial);\n\nvoid setup() {\n  Serial.begin(9600);\n  while (!Serial) {\n    ;\n  }\n\n  finger.begin(57600);                  \/\/ 57600, not 9600\n\n  if (!finger.verifyPassword()) {\n    Serial.println(\"Siratek: no sensor found.\");\n    Serial.println(\"  Check the baud is 57600, check TX and RX are crossed,\");\n    Serial.println(\"  and check the divider on the module's RX line.\");\n    while (1) {\n      delay(100);\n    }\n  }\n\n  Serial.println(\"Siratek: sensor found.\");\n  finger.getTemplateCount();\n  Serial.print(\"stored prints: \");\n  Serial.println(finger.templateCount);\n}\n\nvoid loop() {\n}<\/code><\/pre>\n<p><code>verifyPassword()<\/code> is misleadingly named: it is a handshake with the module\u2019s default password, and it simply means \u201cthe module answered\u201d. A failure here is always baud rate, wiring, or the divider.<\/p>\n<h3>Enrolling a finger<\/h3>\n<pre><code>\/\/ Siratek: store one finger in a numbered slot.\n\/\/ The module asks for the same finger twice and compares the two.\n\nbool enrol(uint8_t id) {\n  Serial.print(\"Place the finger... \");\n  while (finger.getImage() != FINGERPRINT_OK) {\n    delay(100);\n  }\n  if (finger.image2Tz(1) != FINGERPRINT_OK) {\n    Serial.println(\"could not read that image\");\n    return false;\n  }\n\n  Serial.println(\"lift the finger.\");\n  delay(1500);\n  while (finger.getImage() != FINGERPRINT_NOFINGER) {\n    delay(100);\n  }\n\n  Serial.print(\"Place the SAME finger again... \");\n  while (finger.getImage() != FINGERPRINT_OK) {\n    delay(100);\n  }\n  if (finger.image2Tz(2) != FINGERPRINT_OK) {\n    Serial.println(\"could not read that image\");\n    return false;\n  }\n\n  if (finger.createModel() != FINGERPRINT_OK) {\n    Serial.println(\"the two did not match: try again\");\n    return false;\n  }\n\n  if (finger.storeModel(id) != FINGERPRINT_OK) {\n    Serial.println(\"could not store it\");\n    return false;\n  }\n\n  Serial.print(\"stored as number \");\n  Serial.println(id);\n  return true;\n}<\/code><\/pre>\n<p>Taking the finger twice is the module checking its own work: if the two readings do not produce the same template, it refuses rather than storing a poor one. A finger that repeatedly fails to enrol is usually dry, dirty or placed at a different angle each time.<\/p>\n<p><strong>Keep a note of which number is whose.<\/strong> The module stores a template against a number and nothing else; the names live in your sketch or your head.<\/p>\n<h3>Matching<\/h3>\n<pre><code>\/\/ Siratek: check a finger against what is stored.\n\nint identify() {\n  if (finger.getImage() != FINGERPRINT_OK) {\n    return -1;                                   \/\/ no finger present\n  }\n  if (finger.image2Tz() != FINGERPRINT_OK) {\n    return -1;\n  }\n  if (finger.fingerFastSearch() != FINGERPRINT_OK) {\n    return 0;                                    \/\/ a finger, but not a known one\n  }\n  return finger.fingerID;\n}\n\nvoid loop() {\n  int id = identify();\n\n  if (id &gt; 0) {\n    Serial.print(\"matched number \");\n    Serial.print(id);\n    Serial.print(\", confidence \");\n    Serial.println(finger.confidence);\n\n    if (finger.confidence &lt; 50) {\n      Serial.println(\"  low confidence: treating as no match\");\n      return;\n    }\n\n    \/\/ act on the match here\n  } else if (id == 0) {\n    Serial.println(\"finger not recognised\");\n  }\n\n  delay(300);\n}<\/code><\/pre>\n<p><strong>Check the confidence figure, not just the match.<\/strong> The module returns a score alongside the identity, and a low one means it found the closest stored template rather than a convincing match. Accepting any match at all is how a door opens for the wrong person; setting a floor costs two lines.<\/p>\n<p>The right floor depends on your sensor and your users. Enrol a few fingers, print the confidence for genuine and non-genuine attempts, and choose from what you see.<\/p>\n<h3>Deleting<\/h3>\n<pre><code>finger.deleteModel(id);     \/\/ one slot\nfinger.emptyDatabase();     \/\/ everything<\/code><\/pre>\n<p>Build <code>deleteModel()<\/code> into anything that enrols other people. Being able to remove someone is part of collecting the data in the first place.<\/p>\n<h2>Expected result<\/h2>\n<p>\u201cSensor found\u201d and a stored count at startup. Enrolment succeeding after two clean presses of the same finger. A match within a second, with a confidence figure that is clearly higher for the enrolled finger than for anyone else\u2019s.<\/p>\n<p>A dry finger reads poorly. Breathing on the fingertip genuinely helps, which is worth knowing before concluding the sensor is faulty.<\/p>\n<h2>Troubleshooting<\/h2>\n<table>\n<thead>\n<tr>\n<th>Symptom<\/th>\n<th>Likely cause<\/th>\n<th>Check or fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u201cNo sensor found\u201d<\/td>\n<td>Baud rate<\/td>\n<td>It is 57600, not 9600<\/td>\n<\/tr>\n<tr>\n<td>\u201cNo sensor found\u201d, baud correct<\/td>\n<td><code>TX<\/code> and <code>RX<\/code> not crossed<\/td>\n<td>Module <code>TX<\/code> to the Arduino\u2019s receive<\/td>\n<\/tr>\n<tr>\n<td>Garbled replies<\/td>\n<td>Logic levels<\/td>\n<td>Fit the divider on the module\u2019s <code>RX<\/code><\/td>\n<\/tr>\n<tr>\n<td>Window does not light<\/td>\n<td>Power or the wrong wire<\/td>\n<td>Identify the pins with a meter<\/td>\n<\/tr>\n<tr>\n<td>Enrolment always fails<\/td>\n<td>Finger dry, dirty or moving<\/td>\n<td>Breathe on it; keep the angle the same<\/td>\n<\/tr>\n<tr>\n<td>\u201cThe two did not match\u201d<\/td>\n<td>Different part of the finger each time<\/td>\n<td>Place it the same way twice<\/td>\n<\/tr>\n<tr>\n<td>Matches the wrong person<\/td>\n<td>Accepting any match<\/td>\n<td>Check the confidence figure<\/td>\n<\/tr>\n<tr>\n<td>Match works, nothing happens<\/td>\n<td>Return value not checked<\/td>\n<td><code>fingerID<\/code> is only valid after a successful search<\/td>\n<\/tr>\n<tr>\n<td>Count is not what you expect<\/td>\n<td>Templates survive power off<\/td>\n<td><code>emptyDatabase()<\/code> to start again<\/td>\n<\/tr>\n<tr>\n<td>Works on an ESP32, not an Uno<\/td>\n<td>3.3 V logic<\/td>\n<td>Use a level converter<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Next steps<\/h2>\n<ul>\n<li><strong>Easier first:<\/strong> <em>Reading RFID Cards with an RC522<\/em>, which this compares against throughout.<\/li>\n<li><strong>Related:<\/strong> <em>Switching Bigger Loads with a Relay<\/em>, and its safety section, if something must actually open.<\/li>\n<li><strong>Next project:<\/strong> an attendance log writing a name and a timestamp to an SD card, with the DS3231 supplying the time.<\/li>\n<\/ul>\n<h2>Sources and attribution<\/h2>\n<p>All text, wiring guidance and code in this tutorial are original Siratek work.<\/p>\n<ul>\n<li>AS608 and DY50 module documentation for the default baud rate, the logic level, the template storage and the command set.<\/li>\n<li>Adafruit Fingerprint Sensor Library documentation for the calls used.<\/li>\n<li>The <code>AS608<\/code> chip marking, the <code>DY50-2V1<\/code> board marking and the six-pin JST connector with single-colour cable were read from the Siratek product photographs for item 3026.<\/li>\n<\/ul>\n<p>The assessment of what this sensor is and is not suitable for reflects the published literature on optical fingerprint sensors of this class, and the note about the unauthenticated serial link follows from how the module communicates. Confidence thresholds vary between sensors and users and are presented as something to measure. No third-party tutorial text, diagrams, photographs or code has been reproduced here.<\/p>\n<p><\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>An optical fingerprint sensor with a processor of its own. It photographs a finger, extracts the features, and stores or compares them on the module, sending the Arduino nothing more than &quot;this is number 7&quot; or &quot;no match&quot;.<\/p>\n","protected":false},"featured_media":0,"template":"","siratek_tutorial_level":[],"class_list":["post-52239","siratek_tutorial","type-siratek_tutorial","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fingerprint Recognition - siratek<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fingerprint Recognition - siratek\" \/>\n<meta property=\"og:description\" content=\"An optical fingerprint sensor with a processor of its own. It photographs a finger, extracts the features, and stores or compares them on the module, sending the Arduino nothing more than &quot;this is number 7&quot; or &quot;no match&quot;.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/\" \/>\n<meta property=\"og:site_name\" content=\"siratek\" \/>\n<meta property=\"og:image\" content=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/fingerprint-sensor-wiring.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/\",\"url\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/\",\"name\":\"Fingerprint Recognition - siratek\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/fingerprint-sensor-wiring.svg\",\"datePublished\":\"2026-11-01T10:50:43+00:00\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/#primaryimage\",\"url\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/fingerprint-sensor-wiring.svg\",\"contentUrl\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/fingerprint-sensor-wiring.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/fingerprint-sensor\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/siratek.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials\",\"item\":\"https:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fingerprint Recognition\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\",\"url\":\"https:\\\/\\\/siratek.net\\\/\",\"name\":\"siratek\",\"description\":\"Your Best Electronic Retail Shop\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/siratek.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fingerprint Recognition - siratek","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/","og_locale":"en_US","og_type":"article","og_title":"Fingerprint Recognition - siratek","og_description":"An optical fingerprint sensor with a processor of its own. It photographs a finger, extracts the features, and stores or compares them on the module, sending the Arduino nothing more than &quot;this is number 7&quot; or &quot;no match&quot;.","og_url":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/","og_site_name":"siratek","og_image":[{"url":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/fingerprint-sensor-wiring.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/","url":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/","name":"Fingerprint Recognition - siratek","isPartOf":{"@id":"https:\/\/siratek.net\/#website"},"primaryImageOfPage":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/#primaryimage"},"image":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/#primaryimage"},"thumbnailUrl":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/fingerprint-sensor-wiring.svg","datePublished":"2026-11-01T10:50:43+00:00","breadcrumb":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/#primaryimage","url":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/fingerprint-sensor-wiring.svg","contentUrl":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/fingerprint-sensor-wiring.svg"},{"@type":"BreadcrumbList","@id":"http:\/\/siratek.net\/index.php\/tutorials\/fingerprint-sensor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/siratek.net\/"},{"@type":"ListItem","position":2,"name":"Tutorials","item":"https:\/\/siratek.net\/index.php\/tutorials\/"},{"@type":"ListItem","position":3,"name":"Fingerprint Recognition"}]},{"@type":"WebSite","@id":"https:\/\/siratek.net\/#website","url":"https:\/\/siratek.net\/","name":"siratek","description":"Your Best Electronic Retail Shop","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/siratek.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial"}],"about":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/types\/siratek_tutorial"}],"version-history":[{"count":0,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52239\/revisions"}],"wp:attachment":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/media?parent=52239"}],"wp:term":[{"taxonomy":"siratek_tutorial_level","embeddable":true,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial_level?post=52239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}