CINXE.COM

How optical fingerprint scanners work using Adafruit and R30x

<!DOCTYPE html> <html lang="en-US"> <head > <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta property="fb:admins" content="1140409510" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta property="fb:admins" content="107031532675062" /> <meta name="msvalidate.01" content="40BA1B879066C83CDFCA374CA4B490C3" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO Premium plugin v18.5 (Yoast SEO v23.9) - https://yoast.com/wordpress/plugins/seo/ --> <title>How optical fingerprint scanners work using Adafruit and R30x</title> <meta name="description" content="The skin of our palm has friction ridges and the pattern of these ridges and valleys is also present on the fingertips." /> <link rel="canonical" href="https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner" /> <meta property="og:description" content="The skin of our palm has friction ridges and the pattern of these ridges and valleys is also present on the fingertips." /> <meta property="og:url" content="https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/" /> <meta property="og:site_name" content="Engineers Garage" /> <meta property="article:publisher" content="https://www.facebook.com/engineersgarage" /> <meta property="og:image" content="https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-scanners-featured.png" /> <meta property="og:image:width" content="770" /> <meta property="og:image:height" content="554" /> <meta property="og:image:type" content="image/png" /> <meta name="author" content="Nikhil Agnihotri" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@EngineersGarage" /> <meta name="twitter:site" content="@EngineersGarage" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Nikhil Agnihotri" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="15 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#article","isPartOf":{"@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/"},"author":{"name":"Nikhil Agnihotri","@id":"https://www.engineersgarage.com/#/schema/person/3c71105e3b40a1fd12c79c15602914b6"},"headline":"How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner","datePublished":"2024-06-19T18:39:26+00:00","dateModified":"2024-06-20T20:16:39+00:00","mainEntityOfPage":{"@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/"},"wordCount":2579,"commentCount":0,"publisher":{"@id":"https://www.engineersgarage.com/#organization"},"image":{"@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#primaryimage"},"thumbnailUrl":"https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-scanners-featured.png","keywords":["Adafruit fingerprint scanner","fingerprint scanner arduino","Fingerprint scanners","R305 fingerprint scanner Arduino","R307 fingerprint module arduino","R307 fingerprint scanner","R30X fingerprint scanner"],"articleSection":["Arduino Projects","Electronic Projects","Featured Contributions"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#respond"]}]},{"@type":"WebPage","@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/","url":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/","name":"How optical fingerprint scanners work using Adafruit and R30x","isPartOf":{"@id":"https://www.engineersgarage.com/#website"},"primaryImageOfPage":{"@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#primaryimage"},"image":{"@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#primaryimage"},"thumbnailUrl":"https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-scanners-featured.png","datePublished":"2024-06-19T18:39:26+00:00","dateModified":"2024-06-20T20:16:39+00:00","description":"The skin of our palm has friction ridges and the pattern of these ridges and valleys is also present on the fingertips.","breadcrumb":{"@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#primaryimage","url":"https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-scanners-featured.png","contentUrl":"https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-scanners-featured.png","width":770,"height":554,"caption":"R30X fingerprint scanner"},{"@type":"BreadcrumbList","@id":"https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.engineersgarage.com/"},{"@type":"ListItem","position":2,"name":"How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner"}]},{"@type":"WebSite","@id":"https://www.engineersgarage.com/#website","url":"https://www.engineersgarage.com/","name":"Engineers Garage","description":"Electronic Projects, Electrical Engineering Resources, Makers Articles and Product News","publisher":{"@id":"https://www.engineersgarage.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.engineersgarage.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://www.engineersgarage.com/#organization","name":"Engineer's Garage - WTWH Media","url":"https://www.engineersgarage.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.engineersgarage.com/#/schema/logo/image/","url":"https://www.engineersgarage.com/wp-content/uploads/2019/08/EGlogo.png","contentUrl":"https://www.engineersgarage.com/wp-content/uploads/2019/08/EGlogo.png","width":372,"height":52,"caption":"Engineer's Garage - WTWH Media"},"image":{"@id":"https://www.engineersgarage.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/engineersgarage","https://x.com/EngineersGarage","https://www.youtube.com/channel/UC0VITh11JSYk-UW7toLebUw"]},{"@type":"Person","@id":"https://www.engineersgarage.com/#/schema/person/3c71105e3b40a1fd12c79c15602914b6","name":"Nikhil Agnihotri","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.engineersgarage.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/a1e06fc68dd6994f92b91b2602bdc83f?s=96&r=g","contentUrl":"https://secure.gravatar.com/avatar/a1e06fc68dd6994f92b91b2602bdc83f?s=96&r=g","caption":"Nikhil Agnihotri"},"url":"https://www.engineersgarage.com/author/nikhil-agnihotri/"}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//static.addtoany.com' /> <link rel='dns-prefetch' href='//kit.fontawesome.com' /> <link rel="alternate" type="application/rss+xml" title="Engineers Garage &raquo; Feed" href="https://www.engineersgarage.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Engineers Garage &raquo; Comments Feed" href="https://www.engineersgarage.com/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Engineers Garage &raquo; How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner Comments Feed" href="https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.engineersgarage.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='genesis-blocks-style-css-css' href='https://www.engineersgarage.com/wp-content/plugins/genesis-blocks/dist/style-blocks.build.css?ver=1720775798' type='text/css' media='all' /> <link rel='stylesheet' id='genesis-simple-share-plugin-css-css' href='https://www.engineersgarage.com/wp-content/plugins/genesis-simple-share/assets/css/share.min.css?ver=0.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='genesis-simple-share-genericons-css-css' href='https://www.engineersgarage.com/wp-content/plugins/genesis-simple-share/assets/css/genericons.min.css?ver=0.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='theme-wtwh-amplifying-css' href='https://www.engineersgarage.com/wp-content/themes/ThemeWTWHv2/style.css?ver=1705628983' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.engineersgarage.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='wtwh_prestitial_main_style-css' href='https://www.engineersgarage.com/wp-content/plugins/prestitial/assets/css/main.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='wtwh_prestitial_style-css' href='https://www.engineersgarage.com/wp-content/plugins/prestitial/assets/css/prestitial.css?ver=1.1.0' type='text/css' media='all' /> <link rel='stylesheet' id='megamenu-css' href='https://www.engineersgarage.com/wp-content/uploads/maxmegamenu/style.css?ver=44ec18' type='text/css' media='all' /> <link rel='stylesheet' id='dashicons-css' href='https://www.engineersgarage.com/wp-includes/css/dashicons.min.css?ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='ea-style-css' href='https://www.engineersgarage.com/wp-content/themes/ThemeWTWHv2/assets/css/main.css?ver=1705628983' type='text/css' media='all' /> <link rel='stylesheet' id='simple-social-icons-font-css' href='https://www.engineersgarage.com/wp-content/plugins/simple-social-icons/css/style.css?ver=3.0.2' type='text/css' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://www.engineersgarage.com/wp-content/plugins/tablepress/css/build/default.css?ver=2.4.4' type='text/css' media='all' /> <link rel='stylesheet' id='addtoany-css' href='https://www.engineersgarage.com/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.16' type='text/css' media='all' /> <link rel='stylesheet' id='genesis-tabs-stylesheet-css' href='https://www.engineersgarage.com/wp-content/plugins/genesis-tabs/assets/css/style.css?ver=0.9.5' type='text/css' media='all' /> <script type="text/javascript" src="https://www.engineersgarage.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-content/plugins/genesis-simple-share/assets/js/sharrre/jquery.sharrre.min.js?ver=0.1.0" id="genesis-simple-share-plugin-js-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-content/plugins/genesis-simple-share/assets/js/waypoints.min.js?ver=0.1.0" id="genesis-simple-share-waypoint-js-js"></script> <script type="text/javascript" id="addtoany-core-js-before"> /* <![CDATA[ */ window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; a2a_config.track_links = 'bitly'; a2a_config.track_links_key = 'addtoany|R_cc6a4017b0274d1d86f2397771b70136'; // username|API key delimited by | a2a_config.templates = { twitter: "${title} ${link} via @EngineersGarage" }; /* ]]> */ </script> <script type="text/javascript" defer src="https://static.addtoany.com/menu/page.js" id="addtoany-core-js"></script> <script type="text/javascript" defer src="https://www.engineersgarage.com/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1" id="addtoany-jquery-js"></script> <script type="text/javascript" src="https://kit.fontawesome.com/0db18eb627.js?ver=6.7" id="wtwh_prestitial_fontAwesome_js-js"></script> <link rel="https://api.w.org/" href="https://www.engineersgarage.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.engineersgarage.com/wp-json/wp/v2/posts/64978" /><link rel='shortlink' href='https://www.engineersgarage.com/?p=64978' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.engineersgarage.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.engineersgarage.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F&#038;format=xml" /> <!-- www.engineersgarage.com=64978 --> <script> var contentHash = 'b4c0daa75d4728cbc312bf235d965c6a'; var cat_target='b4c0daa75d4728cbc312bf235d965c6a, arduino, electronic-projects, featured-contributions, ros'; </script> <style> #category-posts-2-internal ul {padding: 0;} #category-posts-2-internal .cat-post-item img {max-width: initial; max-height: initial; margin: initial;} #category-posts-2-internal .cat-post-author {margin-bottom: 0;} #category-posts-2-internal .cat-post-thumbnail {margin: 5px 10px 5px 0;} #category-posts-2-internal .cat-post-item:before {content: ""; clear: both;} #category-posts-2-internal .cat-post-excerpt-more {display: inline-block;} #category-posts-2-internal .cat-post-item {list-style: none; margin: 3px 0 10px; padding: 3px 0;} #category-posts-2-internal .cat-post-current .cat-post-title {font-weight: bold; text-transform: uppercase;} #category-posts-2-internal [class*=cat-post-tax] {font-size: 0.85em;} #category-posts-2-internal [class*=cat-post-tax] * {display:inline-block;} #category-posts-2-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-2-internal .cat-post-item .cat-post-title {overflow: hidden;text-overflow: ellipsis;white-space: initial;display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;padding-bottom: 0 !important;} #category-posts-2-internal .cat-post-item:after {content: ""; display: table; clear: both;} #category-posts-2-internal .cat-post-thumbnail {display:block; float:left; margin:5px 10px 5px 0;} #category-posts-2-internal .cat-post-crop {overflow:hidden;display:block;} #category-posts-2-internal p {margin:5px 0 0 0} #category-posts-2-internal li > div {margin:5px 0 0 0; clear:both;} #category-posts-2-internal .dashicons {vertical-align:middle;} #category-posts-2-internal .cat-post-thumbnail .cat-post-crop img {height: 95px;} #category-posts-2-internal .cat-post-thumbnail .cat-post-crop img {width: 150px;} #category-posts-2-internal .cat-post-thumbnail .cat-post-crop img {object-fit: cover; max-width: 100%; display: block;} #category-posts-2-internal .cat-post-thumbnail .cat-post-crop-not-supported img {width: 100%;} #category-posts-2-internal .cat-post-thumbnail {max-width:100%;} #category-posts-2-internal .cat-post-item img {margin: initial;} #category-posts-2-internal .cat-post-dark img {padding-bottom: 0 !important; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;} #category-posts-2-internal .cat-post-dark:hover img {-webkit-filter: brightness(75%); -moz-filter: brightness(75%); -ms-filter: brightness(75%); -o-filter: brightness(75%); filter: brightness(75%);} </style> <!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NJMRR6Z');</script> <!-- End Google Tag Manager --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { var pathParts = window.location.pathname.substr(1).split('/'); var mapHeader = googletag.sizeMapping() .addSize([768, 200], [728, 90]) .addSize([0, 0], [300, 250]) .build(); var mapLargeHeader = googletag.sizeMapping() .addSize([1024, 200], [[970, 90], [970, 250]]) .addSize([0, 0], [300, 250]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([1024, 500], [[1, 1]]) .addSize([0, 0], [[1, 1]]) .build(); var gptSlots = []; gptSlots[0] = googletag.defineSlot('/5272491/ee_network/eg_header', [[300, 250], [728, 90]], 'div-gpt-eg-header') .defineSizeMapping(mapHeader) .addService(googletag.pubads()); gptSlots[1] = googletag.defineSlot('/5272491/ee_network/eg_largeleader', [[970, 90], [970, 250]], 'div-gpt-eg_largeleader') .defineSizeMapping(mapLargeHeader) .addService(googletag.pubads()); gptSlots[2] = googletag.defineSlot('/5272491/ee_network/eg_wallpaper', [[1, 1]], 'div-gpt-eg_wallpaper') .defineSizeMapping(mapWallpaper) .addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_sidebar1', [[300, 250], [300, 600]], 'div-gpt-eg_sidebar1').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_sidebarbottom', [[300, 250], [300, 600]], 'div-gpt-eg_sidebarbottom').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_storeribbon',[[970, 250]], 'div-gpt-eg_storeribbon').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('articletitle', pathParts[0] ? pathParts[0]: 'home-page').setTargeting('cat_target', [cat_target]); googletag.enableServices(); }); </script> <!-- Google Tag Manager for Global Container--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MMC9PJ9');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NJMRR6Z');</script> <!-- End Google Tag Manager --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { var pathParts = window.location.pathname.substr(1).split('/'); var mapHeader = googletag.sizeMapping() .addSize([768, 200], [728, 90]) .addSize([0, 0], [300, 250]) .build(); var mapLargeHeader = googletag.sizeMapping() .addSize([1024, 200], [[970, 90], [970, 250]]) .addSize([0, 0], [300, 250]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([1024, 500], [[1, 1]]) .addSize([0, 0], [[1, 1]]) .build(); var gptSlots = []; gptSlots[0] = googletag.defineSlot('/5272491/ee_network/eg_header', [[300, 250], [728, 90]], 'div-gpt-eg-header') .defineSizeMapping(mapHeader) .addService(googletag.pubads()); gptSlots[1] = googletag.defineSlot('/5272491/ee_network/eg_largeleader', [[970, 90], [970, 250]], 'div-gpt-eg_largeleader') .defineSizeMapping(mapLargeHeader) .addService(googletag.pubads()); gptSlots[2] = googletag.defineSlot('/5272491/ee_network/eg_wallpaper', [[1, 1]], 'div-gpt-eg_wallpaper') .defineSizeMapping(mapWallpaper) .addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_allstreamflex', [[1, 1]], 'div-gpt-eg_allstreamflex').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_allstreamprelude', [[1, 1]], 'div-gpt-eg_allstreamprelude').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_sidebar1', [[300, 250], [300, 600]], 'div-gpt-eg_sidebar1').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_sidebarbottom', [[300, 250], [300, 600]], 'div-gpt-eg_sidebarbottom').addService(googletag.pubads()); googletag.defineSlot('/5272491/ee_network/eg_storeribbon',[[970, 250]], 'div-gpt-eg_storeribbon').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('articletitle', pathParts[0] ? pathParts[0]: 'home-page').setTargeting('cat_target', [cat_target]); googletag.enableServices(); }); </script><link rel="icon" href="https://www.engineersgarage.com/wp-content/uploads/2019/08/cropped-eg-favicon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.engineersgarage.com/wp-content/uploads/2019/08/cropped-eg-favicon-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.engineersgarage.com/wp-content/uploads/2019/08/cropped-eg-favicon-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.engineersgarage.com/wp-content/uploads/2019/08/cropped-eg-favicon-270x270.png" /> <style type="text/css" id="wp-custom-css"> /*body > div.site-container > div.site-inner > div > div > main > article > div > p > a { color: #D2232A; }*/ .entry-content a { font-weight: bold; } .site-header .title-area { width: 350px; } @media only screen and (max-width: 1152px) { .site-header .title-area { width: 230px; } } .wtwhSpecial { display: none !important; } article > div > p > a { font-weight: bold; color:#337ab7; text-decoration: underline; } /*RSS FEED FIX*/ #rss-3 > div > h4 > a { font-size: 20px; font-weight: bold; float: none !important; } #rss-3 > div > h4 > a > img { display: none; } #rss-3 > div > ul { width: 100%; padding-left: 30px; } #rss-2 > div > h4 > a { font-size: 20px; font-weight: bold; float: none !important; } #rss-2 > div > h4 > a > img { display: none; } #rss-2 > div > ul { width: 100%; padding-left: 30px; } #recent-posts-2 > .widget-wrap > ul { padding-left: 30px; } .video-carousel .video-popup:before { background: none !important; } .video-carousel .video-popup:after { color: red !important; } .entry-categories a { font-weight: normal;} .entry-tags a{font-weight: normal;} .entry-categories { font-weight: bold;} .entry-tags {font-weight: bold;} .bawmrp a { font-weight: 400; } #digital > span { font-size: 16px !important; font-weight: 400 !important; } xmp { white-space:normal; } .slick-slider .col-sm-4 .header-slide, .slick-slider .col-sm-4 .header-slide img { max-height:240px; object-fit:cover; } .slick-slider .col-sm-8 .header-slide, .slick-slider .col-sm-8 .header-slide img { object-fit:cover; max-height:500px; } /*EE Classrooms*/ .motion-design-guides { font-size: 18px; font-weight: bold; width: 270px; height: 60px; text-align: center; text-align-last: center; -moz-text-align-last: center; border-radius: 0px; background-color: #313131; color: white; border-bottom: 4px solid #1f427e; text-transform: uppercase; white-space: wrap; } .motion-design-guide-option { text-align: center; text-align-last: center; -moz-text-align-last: center; text-transform: uppercase; width: 270px; white-space: wrap; } /*Fix for Categories/home page article display*/ @media only screen and (max-width: 500px) { .content .entry .entry-header, .archive-entry .entry-header { /* width: 100% !important;*/ /*padding-left: 0px !important; float: none !important;*/ } /* .content .entry .entry-content { width: 100% !important; }*/ /* .entry-content p { float: none !important; }*/ .entry-content img { text-align: center !important; width: 100% !important; } .archive-entry { display: flex; flex-direction: column-reverse; width: 100% !important; } .archive-entry > .entry-header, .archive-entry .entry-content { width: 100% !important; } /*.archive-entry .entry-image-link img { width: 100% !important; }*/ } @media only screen and (max-width: 767px) { .archive.category .entry-content p { display: none !important } .blog .entry-content p { display: none !important; } } .slick-slider.header-slides .header-slide .overlay h4, .slick-slider.header-slides .header-slide .overlay h2 { text-shadow: 2px 2px 5px black; background: none !important; -webkit-text-stroke-width: 0px !important; -webkit-text-stroke-color: transparent !important; } .nav-previous{ float:left; margin-bottom:50px } .nav-next{ float:right; margin-bottom:50px } .dropbtn { background-color: #04AA6D; color: white; padding: 16px; font-size: 16px; border: none; } .dropdown { display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #f1f1f1; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } .dropdown-content a:hover {background-color: #ddd;} .dropdown:hover .dropdown-content {display: block;} .dropdown:hover .dropbtn {background-color: #3e8e41;} /*Design Guide Drop Down Menu*/ .motion-design-guides { font-size: 14px; font-family: Raleway, sans-serif; width: 270px; height: 50px; text-align: center; text-align-last: center; -moz-text-align-last: center; border-radius: 0px; background-color: white; color: #000; border-top: 3px solid #000; border-left: none; border-right: none; border-bottom: 1px solid #e3e3e3; text-transform: uppercase; white-space: wrap; } .motion-design-guide-option { text-align: center; text-align-last: center; -moz-text-align-last: center; text-transform: uppercase; width: 270px; white-space: wrap; } .motion-design-guides:after { content: ""; border: solid #000; border-width: 0 2px 2px 0; margin-left: 20px; margin-bottom: 3px; display: inline-block; padding: 2.5px; transform: rotate(45deg); -webkit-transform: rotate(45deg); } /*Overlapping Header article Title fix*/ @media only screen and (max-width: 780px) { .site-container { margin-top: 40px !important; } } p.must-log-in a, p.logged-in-as a { color: #23527c !important; font-weight: bold; } article li a { color: #337ab7; text-decoration: underline; } /* Search Page */ body.search .site-inner { padding-left: unset; padding-right: unset; } @media only screen and (min-width: 988px) { .search .content { width: 66% !important; float: left; } .search .sidebar { width: 30%; float: right; } } </style> <style type="text/css">/** Mega Menu CSS: fs **/</style> </head> <body class="post-template-default single single-post postid-64978 single-format-standard mega-menu-primary header-image content-sidebar genesis-breadcrumbs-hidden"> <!-- xyzzy top --> <div id="prestitial" style="opacity: 0;"> <div id="prestitial-overlay"></div> <div id="prestitial-grid"> <div class="prestitial-logo"> <div class="title-area"> <h1 class="site-title"> <a href="#"><img src="https://www.engineersgarage.com/wp-content/uploads/2022/10/eg-logo.png"></a></h1> </div> </div> <div class="close-cta"> Continue to Site <i class="fa fa-arrow-right"></i> </div> <div id="prestitial-banner"></div> </div> </div> <!-- hides rest of content --> <div id="body-wrapper" style="opacity: 0;"> <div class="site-container"><header class="site-header"><div class="wrap"><div class="title-area"><p class="site-title"><a href="https://www.engineersgarage.com/">Engineers Garage</a></p></div><div class="widget-area header-widget-area"><section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div id='div-gpt-eg-header'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg-header'); }); </script> </div> </div></div></section> </div><div class="mobile-toggles"><a href="#" class="search-toggle"><i class="icon-search"></i></a><a href="#" class="mobile-menu-toggle"><i class="icon-menu"></i></a></div></div></header><nav class="nav-primary" aria-label="Main"><div class="wrap"><div id="mega-menu-wrap-primary" class="mega-menu-wrap"><div class="mega-menu-toggle"><div class="mega-toggle-blocks-left"></div><div class="mega-toggle-blocks-center"></div><div class="mega-toggle-blocks-right"><div class='mega-toggle-block mega-menu-toggle-animated-block mega-toggle-block-0' id='mega-toggle-block-0'><button aria-label="Toggle Menu" class="mega-toggle-animated mega-toggle-animated-slider" type="button" aria-expanded="false"> <span class="mega-toggle-animated-box"> <span class="mega-toggle-animated-inner"></span> </span> </button></div></div></div><ul id="mega-menu-primary" class="mega-menu max-mega-menu mega-menu-horizontal mega-no-js" data-event="hover_intent" data-effect="fade_up" data-effect-speed="200" data-effect-mobile="disabled" data-effect-speed-mobile="0" data-mobile-force-width="false" data-second-click="go" data-document-click="collapse" data-vertical-behaviour="standard" data-breakpoint="768" data-unbind="true" data-mobile-state="collapse_all" data-mobile-direction="vertical" data-hover-intent-timeout="300" data-hover-intent-interval="100"><li class='mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-has-children mega-align-bottom-left mega-menu-flyout mega-menu-item-61908' id='mega-menu-item-61908'><a class="mega-menu-link" href="https://www.engineersgarage.com/projects-and-tutorials/" aria-expanded="false" tabindex="0">Electronics Projects and Tutorials<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-current-post-ancestor mega-current-menu-parent mega-current-post-parent mega-menu-item-has-children mega-menu-item-39808' id='mega-menu-item-39808'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/" aria-expanded="false">Electronic Projects<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-current-post-ancestor mega-current-menu-parent mega-current-post-parent mega-menu-item-81272' id='mega-menu-item-81272'><a class="mega-menu-link" href="https://www.engineersgarage.com/arduino/">Arduino Projects</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-81273' id='mega-menu-item-81273'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/avr/">AVR</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-80793' id='mega-menu-item-80793'><a class="mega-menu-link" href="https://www.engineersgarage.com/raspberry-pi-electronic-projects/">Raspberry pi</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78430' id='mega-menu-item-78430'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/esp8266-electronic-projects/">ESP8266</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78434' id='mega-menu-item-78434'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/beaglebone-electronic-projects/">BeagleBone</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-80794' id='mega-menu-item-80794'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/8051-microcontroller/">8051 Microcontroller</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-55864' id='mega-menu-item-55864'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/arm-electronic-projects-electronic-projects/">ARM</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-80795' id='mega-menu-item-80795'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/pic-microcontroller-electronic-projects/">PIC Microcontroller</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-60239' id='mega-menu-item-60239'><a class="mega-menu-link" href="https://www.engineersgarage.com/electronic-projects/stm32-electronic-projects-electronic-projects/">STM32</a></li> </ul> </li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-has-children mega-menu-item-7268' id='mega-menu-item-7268'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/" aria-expanded="false">Tutorials<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78818' id='mega-menu-item-78818'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/audio-tutorials/">Audio Electronics</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78819' id='mega-menu-item-78819'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/battery-management-systems/">Battery Management</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78820' id='mega-menu-item-78820'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/brainwave/">Brainwave</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78833' id='mega-menu-item-78833'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/evs/">Electric Vehicles</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78822' id='mega-menu-item-78822'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/emc-emi/">EMI/EMC/RFI</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78823' id='mega-menu-item-78823'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/filters/">Hardware Filters</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78826' id='mega-menu-item-78826'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/iot-tutorials/">IoT tutorials</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-80151' id='mega-menu-item-80151'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/power/">Power Tutorials</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78835' id='mega-menu-item-78835'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/python/">Python</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78829' id='mega-menu-item-78829'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/sensors-tutorials/">Sensors</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78830' id='mega-menu-item-78830'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/usb/">USB</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-78832' id='mega-menu-item-78832'><a class="mega-menu-link" href="https://www.engineersgarage.com/tutorials/vhdl-tutorials/">VHDL</a></li> </ul> </li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-56096' id='mega-menu-item-56096'><a class="mega-menu-link" href="https://www.engineersgarage.com/circuit_design/">Circuit Design</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-62725' id='mega-menu-item-62725'><a target="_blank" class="mega-menu-link" href="https://www.youtube.com/user/engineersgarage">Project Videos</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-7269' id='mega-menu-item-7269'><a class="mega-menu-link" href="https://www.engineersgarage.com/components/">Components</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-has-children mega-align-bottom-left mega-menu-flyout mega-menu-item-39810' id='mega-menu-item-39810'><a class="mega-menu-link" href="https://www.engineersgarage.com/article_page/" aria-expanded="false" tabindex="0">Articles<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-63122' id='mega-menu-item-63122'><a class="mega-menu-link" href="https://www.engineersgarage.com/tech-articles/">Tech Articles</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-13371' id='mega-menu-item-13371'><a class="mega-menu-link" href="https://www.engineersgarage.com/insight/">Insight</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-13399' id='mega-menu-item-13399'><a class="mega-menu-link" href="https://www.engineersgarage.com/invention-stories/">Invention Stories</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-13326' id='mega-menu-item-13326'><a class="mega-menu-link" href="https://www.engineersgarage.com/how_to/">How to</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-59366' id='mega-menu-item-59366'><a class="mega-menu-link" href="https://www.engineersgarage.com/what_is/">What Is</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-align-bottom-left mega-menu-flyout mega-menu-item-1863' id='mega-menu-item-1863'><a class="mega-menu-link" href="#" aria-expanded="false" tabindex="0">News<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-39809' id='mega-menu-item-39809'><a class="mega-menu-link" href="https://www.engineersgarage.com/news/">Electronic Product News</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-77696' id='mega-menu-item-77696'><a class="mega-menu-link" href="https://www.engineersgarage.com/news/business-news/">Business News</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-77697' id='mega-menu-item-77697'><a class="mega-menu-link" href="https://www.engineersgarage.com/news/company-start-up-news/">Company/Start-up News</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-14489' id='mega-menu-item-14489'><a class="mega-menu-link" href="https://www.engineersgarage.com/reviews/">DIY Reviews</a></li><li class='mega-menu-item mega-menu-item-type-taxonomy mega-menu-item-object-category mega-menu-item-14287' id='mega-menu-item-14287'><a class="mega-menu-link" href="https://www.engineersgarage.com/guest_post/">Guest Post</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-align-bottom-left mega-menu-flyout mega-menu-item-55871' id='mega-menu-item-55871'><a class="mega-menu-link" aria-expanded="false" tabindex="0">Forums<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-55870' id='mega-menu-item-55870'><a class="mega-menu-link" href="https://www.edaboard.com/">EDABoard.com</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-55869' id='mega-menu-item-55869'><a class="mega-menu-link" href="https://www.electro-tech-online.com/">Electro-Tech-Online</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-1851' id='mega-menu-item-1851'><a class="mega-menu-link" href="https://forums.engineersgarage.com/">EG Forum Archive</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-align-bottom-left mega-menu-megamenu mega-menu-item-1868' id='mega-menu-item-1868'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mk" aria-expanded="false" tabindex="0">DigiKey Store<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1869' id='mega-menu-item-1869'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9ml">Cables, Wires</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1870' id='mega-menu-item-1870'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mm">Connectors, Interconnect</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1871' id='mega-menu-item-1871'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mn">Discrete</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-clear mega-menu-item-1872' id='mega-menu-item-1872'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mo">Electromechanical</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1873' id='mega-menu-item-1873'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mp">Embedded Computers</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1874' id='mega-menu-item-1874'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mq">Enclosures, Hardware, Office</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-clear mega-menu-item-1875' id='mega-menu-item-1875'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mr">Integrated Circuits (ICs)</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1876' id='mega-menu-item-1876'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9ms">Isolators</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1877' id='mega-menu-item-1877'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mt">LED/Optoelectronics</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-clear mega-menu-item-1878' id='mega-menu-item-1878'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mu">Passive</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1879' id='mega-menu-item-1879'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mv">Power, Circuit Protection</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1880' id='mega-menu-item-1880'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mw">Programmers</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-clear mega-menu-item-1881' id='mega-menu-item-1881'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mx">RF, Wireless</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1882' id='mega-menu-item-1882'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mk">Semiconductors</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1883' id='mega-menu-item-1883'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9my">Sensors, Transducers</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-clear mega-menu-item-1884' id='mega-menu-item-1884'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mz">Test Products</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-columns-1-of-3 mega-menu-item-1885' id='mega-menu-item-1885'><a target="_blank" class="mega-menu-link" href="https://wtwh.me/9mA">Tools</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-align-bottom-left mega-menu-flyout mega-menu-item-56062' id='mega-menu-item-56062'><a class="mega-menu-link" href="https://www.eeworldonline.com/learning-center" aria-expanded="false" tabindex="0">Learn<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-80114' id='mega-menu-item-80114'><a class="mega-menu-link" href="https://www.eeworldonline.com/category/tech-tips/">eBooks/Tech Tips</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-76567' id='mega-menu-item-76567'><a target="_blank" class="mega-menu-link" href="https://www.eeworldonline.com/design-guide-library">Design Guides</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-77221' id='mega-menu-item-77221'><a target="_blank" class="mega-menu-link" href="https://www.eeworldonline.com/learning-center">Learning Center</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-81739' id='mega-menu-item-81739'><a target="_blank" class="mega-menu-link" href="https://www.eeworldonline.com/category/tech-toolboxes/">Tech Toolboxes</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-80113' id='mega-menu-item-80113'><a class="mega-menu-link" href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415581/eeworld">Webinars & Digital Events</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-align-bottom-left mega-menu-flyout mega-menu-item-55895' id='mega-menu-item-55895'><a class="mega-menu-link" aria-expanded="false" tabindex="0">Resources<span class="mega-indicator"></span></a> <ul class="mega-sub-menu"> <li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-77693' id='mega-menu-item-77693'><a class="mega-menu-link" href="https://www.eeworldonline.com/category/digital-issues/">Digital Issues</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-77694' id='mega-menu-item-77694'><a class="mega-menu-link" href="https://eetrainingdays.com/">EE Training Days</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-55899' id='mega-menu-item-55899'><a target="_blank" class="mega-menu-link" href="https://www.eeworldonline.com/2023-leap-awards-winners-are-announced/">LEAP Awards</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-77695' id='mega-menu-item-77695'><a class="mega-menu-link" href="https://www.eeworldonline.com/category/podcasts/">Podcasts</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-77375' id='mega-menu-item-77375'><a target="_blank" class="mega-menu-link" href="https://www.eeworldonline.com/ee-world-webinars-and-digital-events/">Webinars / Digital Events</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-55898' id='mega-menu-item-55898'><a class="mega-menu-link" href="http://www.engineeringwhitepapers.com/category/electricalelectronic/">White Papers</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-62203' id='mega-menu-item-62203'><a class="mega-menu-link" href="https://www.designworldonline.com/category/news/engineering-diversity/">Engineering Diversity & Inclusion</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-55896' id='mega-menu-item-55896'><a class="mega-menu-link" href="https://www.DesignFast.com">DesignFast</a></li></ul> </li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-align-bottom-left mega-menu-flyout mega-menu-item-80115' id='mega-menu-item-80115'><a class="mega-menu-link" href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/" tabindex="0">Subscribe</a></li><li class='mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-align-bottom-left mega-menu-flyout mega-menu-item-80423' id='mega-menu-item-80423'><a class="mega-menu-link" href="https://www.engineersgarage.com/join-us-as-a-guest-post-writer/" tabindex="0">Guest Post Guidelines</a></li><li class="menu-item search"><a href="#" class="search-toggle"><i class="icon-search"></i></a></li></ul></div></div></nav><div style="padding-top:10px;text-align:center"> <div id='div-gpt-eg_largeleader'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg_largeleader'); }); </script> </div> </div><div class="site-inner"><div class="wrap"><div class="content-sidebar-wrap"><main class="content"><article class="type-post entry" aria-label="How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner"><header class="entry-header"><h1 class="entry-title">How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner</h1> <p class="entry-meta">By <span class="entry-author"><a href="https://www.engineersgarage.com/author/nikhil-agnihotri/" class="entry-author-link" rel="author"><span class="entry-author-name">Nikhil Agnihotri</span></a></span> <time class="entry-time">June 19, 2024</time> </p></header><div class="entry-content"><div class="addtoany_share_save_container addtoany_content addtoany_content_top"><div class="a2a_kit a2a_kit_size_16 addtoany_list" data-a2a-url="https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/" data-a2a-title="How to enroll and match fingerprint templates with Adafruit and R30X fingerprint scanner"><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F&amp;linkname=How%20to%20enroll%20and%20match%20fingerprint%20templates%20with%20Adafruit%20and%20R30X%20fingerprint%20scanner" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_x" href="https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F&amp;linkname=How%20to%20enroll%20and%20match%20fingerprint%20templates%20with%20Adafruit%20and%20R30X%20fingerprint%20scanner" title="X" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F&amp;linkname=How%20to%20enroll%20and%20match%20fingerprint%20templates%20with%20Adafruit%20and%20R30X%20fingerprint%20scanner" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F&amp;linkname=How%20to%20enroll%20and%20match%20fingerprint%20templates%20with%20Adafruit%20and%20R30X%20fingerprint%20scanner" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.engineersgarage.com%2Farduino-adafruit-r30x-r307-fingerprint-scanner%2F&amp;linkname=How%20to%20enroll%20and%20match%20fingerprint%20templates%20with%20Adafruit%20and%20R30X%20fingerprint%20scanner" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share"></a></div></div><p>Biometric devices are the backbone of modern security and access systems. The most commonly used biometric device is a fingerprint scanner. Fingerprints are unique identifiers that cannot be easily faked. Optical fingerprint sensors are widely used in security systems as these are low-cost compared to capacitive and ultrasonic scanners. Optical fingerprint sensors digitize fingerprints by capturing a digital image and saving it to a fingerprint template. The fingerprint templates are stored in flash memory and are compared with new scans to detect a valid access attempt.</p> <p>Most optical fingerprint scanners have a TTL UART port and USB port to communicate with a computer system. The computer system, a microcontroller, single-board computer, a desktop system, or a server can control the fingerprint scanner to enroll a fingerprint ID, compare and match a scan with enrolled fingerprint templates, or even download a stored or scanned fingerprint template.</p> <div id="attachment_64982" style="width: 750px" class="wp-caption aligncenter"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01.jpg"><img decoding="async" aria-describedby="caption-attachment-64982" class="wp-image-64982 size-large" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01-1024x526.jpg" alt="" width="740" height="380" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01-1024x526.jpg 1024w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01-300x154.jpg 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01-768x394.jpg 768w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01-368x189.jpg 368w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-01.jpg 1112w" sizes="(max-width: 740px) 100vw, 740px" /></a><p id="caption-attachment-64982" class="wp-caption-text">Examples of Adafruit and R30X Fingerprint Sensors</p></div> <p>Adafruit AS608 fingerprint scanner is one of the popular optical fingerprint scanners, and it is often used with Arduino and other embedded development boards. The R30X series of fingerprint sensors from a Chinese vendor called Hangzhou Grow Technology Co., Ltd. is an alternative to the Adafruit sensor. Popular fingerprint scanners in this series include R300, RR301T, R302, R303, R303T, R305, R307, R308, and R311. Some of these R30X sensors are capacitive. Despite different fingerprint scanning technologies, all R30X sensors have the same interface and command set. R305 and R307 are the most popular optical fingerprint sensors of this series. Interestingly, the Adafruit fingerprint sensor library works fine with both Adafruit fingerprint sensor and R30X sensors. In this tutorial, we will demonstrate enrolling a fingerprint ID and match fingerprints using the R307 module.</p> <p><strong>How optical fingerprint scanners work<br /> </strong>The skin of our palm has friction ridges to grab and hold things, and the pattern of these ridges and valleys is also present on the fingertips. A miracle of nature is that this pattern of ridges and valleys is unique for every individual. An impression of our fingerprints is left whenever we grab or hold something due to oil, moisture, dust, and dead cells over the skin. These fingerprints objects are called latent fingerprints.</p> <div id="attachment_64983" style="width: 673px" class="wp-caption aligncenter"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-02.png"><img decoding="async" aria-describedby="caption-attachment-64983" class="wp-image-64983 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-02.png" alt="" width="663" height="477" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-02.png 663w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-02-300x216.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-02-331x238.png 331w" sizes="(max-width: 663px) 100vw, 663px" /></a><p id="caption-attachment-64983" class="wp-caption-text">Workings of optical fingerprint sensors.</p></div> <p>The optical fingerprint readers use the principle of Total Internal Reflection (TRI). An optical fingerprint scanner consists of a prism. On one face of the prism, there is a LED light source. The light enters the prism at a certain angle such that it is reflected from the adjacent face and exits from the third face, where a lens and an image capturing sensor are placed.</p> <p>When no finger or impression is placed over the sensor, the light transmitted by the LED source is completely reflected off, and the image sensor captures a plain image. However, when there is a fingertip placed over the scanner, some of the light is reflected while some of the light is leaked along the surface of the face of the prism. These are called Evanescent Waves.</p> <p>Different materials have different reflective indices and interact differently with the evanescent waves. When the fingertip is placed over the scanner, the ridges are in tight contact with the scanner&#8217;s surface while the valleys are filled with air pockets. The skin and air have different reflective indices causing different evanescent waves, called Frustrated Total Internal Reflection (FTIR). As a result of different evanescent waves from ridges and valleys, the intensity of the total internally reflected light changes according to the pattern of the ridges and valleys. The image sensor captures a high contrast image recording the changed light intensity pattern, capturing the pattern of ridges and valleys as a high-contrast digital image.</p> <p>The high-contrast digital image is stored in Flash memory as fingerprint ID according to a predefined template. The template indicates the presence of ridges or valleys at predefined positions in a captured or scanned image. Any fingerprint sensor is designed to perform two processes &#8211; enrollment and matching essentially. The process of reading fingerprint impression and storing it according to a predefined template is called enrollment. A fingerprint reader can enroll several fingerprint IDs depending upon its flash memory and the built-in controller. The enrollment process usually involves confirmation of the fingerprint impression, so it requires scanning the fingerprint twice. Fingerprint IDs store the images in the module.</p> <p>In fingerprint matching, a new scan is compared with stored fingerprint templates, and if it has the same template as any of the stored impressions, it is confirmed matched. Otherwise, the scan is rejected as unmatched. If the live finger is compared against a specific fingerprint ID, it is called 1:1 matching. If the live finger is compared to match against all fingerprint templates stored in the module, it is called 1:N matching.</p> <p><strong> </strong><strong>R307 fingerprint sensor<br /> </strong>R307 is one of the optical fingerprint readers from Hangzhou Grow Technology Co., Ltd. The scanner operates at a voltage of 4.2V~6V and 50 mA with a storage capacity of 1000 impressions. R307 has both UART and USB 2.0 interfaces to communicate with a computer system at a baud rate in multiples of 9600 bps. It is capable of both 1:1 and 1:N matching with FAR (False Acceptance Rate) less than 0.001 percent. The module can scan a live finger in less than 0.5 seconds and supports five security levels (1~5; 5 is highest). The operating temperature range of this sensor is -10˚C to 40˚C, making it deployable in most of the locations.</p> <p><strong>R307 sensor assembly</strong></p> <div id="attachment_64984" style="width: 764px" class="wp-caption aligncenter"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-03.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-64984" class="wp-image-64984 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-03.png" alt="Assembly of R30X fingerprint sensors" width="754" height="412" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-03.png 754w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-03-300x164.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-03-368x201.png 368w" sizes="auto, (max-width: 754px) 100vw, 754px" /></a><p id="caption-attachment-64984" class="wp-caption-text">Physical assembly of R30X fingerprint sensors</p></div> <p>R307 has a glass top where a fingertip can be placed for scanning. Below the glass top is placed a prism. The inside of the sensor is divided into two parts using a light barrier. On one side of the light barrier is a PCB consisting of four blue LED lights. At the other side of the light barrier is an image sensor connected with a processor. The outer PCB has the processor, connector, and other circuit elements. The prism, along with blue LEDs and an image sensor, is arranged such that light transmitted by blue LEDs is internally reflected through the prism to the image sensor.</p> <p><strong>R307 sensor pinout<br /> </strong>The connector of the R307 fingerprint sensor has six terminals. The pin configuration of this connector is as follows.</p> <p><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-sensor-table-1.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-64994" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-sensor-table-1.png" alt="" width="521" height="134" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-sensor-table-1.png 521w, https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-sensor-table-1-300x77.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/fingerprint-sensor-table-1-368x95.png 368w" sizes="auto, (max-width: 521px) 100vw, 521px" /></a><br /> </span></p> <p>The pins are arranged in the connector, as shown in the image below.</p> <div id="attachment_64985" style="width: 279px" class="wp-caption aligncenter"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-04.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-64985" class="wp-image-64985 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-04.png" alt="Pin configuration of R307 fingerprint sensor" width="269" height="283" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-04.png 269w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-04-226x238.png 226w" sizes="auto, (max-width: 269px) 100vw, 269px" /></a><p id="caption-attachment-64985" class="wp-caption-text">Pin configuration of R307 fingerprint sensor</p></div> <p><span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;">The sensor can be operated at both 5V as well as 3.3V DC. If the sensor is to be interfaced with a 3V3 controller, the 3.3V jumper must be short. If it is to be interfaced with a 5V controller, the jumper must be left open. </span></p> <p><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-05.png"><img loading="lazy" decoding="async" class="wp-image-64986 size-full aligncenter" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-05.png" alt="Jumper for selecting supply voltage in R307 fingerprint sensor" width="434" height="283" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-05.png 434w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-05-300x196.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-05-365x238.png 365w" sizes="auto, (max-width: 434px) 100vw, 434px" /></a>The scanner can communicate with a computer/controller using both TTL UART and a USB interface. When connected via a USB port, a virtual COM port is created. It should be noted that pin 6 is the supply voltage for finger detection. If pin 6 is connected to a 3.3V supply, the output of pin 5 goes HIGH when a live finger is placed over the sensor. It is helpful for manual scanning of the finger; otherwise, the sensor starts looking for a scan after few seconds from power-up. It is important to select proper supply voltage on the fingerprint scanner. A higher voltage can damage a 3V3 controller or its GPIO pins.</p> <p><strong>R307 sensor circuit<br /> </strong>The controller chip on the R307 fingerprint scanner is AS606 from Synochip. AS606 is a microcontroller capable of digital signal processing. For touch detection, the sensor has TTP233D IC from Tontek. The outer PCB has the following circuit diagram.</p> <p><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-06.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-64987 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-06.png" alt="R307 sensor circuit" width="795" height="342" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-06.png 795w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-06-300x129.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-06-768x330.png 768w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-06-368x158.png 368w" sizes="auto, (max-width: 795px) 100vw, 795px" /></a></p> <p><strong>R307 registers<br /> </strong>The R307 scanner has built-in flash memory, and it has many registers and buffer memory to store configuration and fingerprint data. Some of the important R307 registers are explained below.</p> <p>Notepad: This is a 512 bytes non-volatile flash memory arranged in 16 pages of 32 bytes each. The entire memory is written or updated at once.</p> <p>Image Buffer: It is a RAM used to store a digital image of the fingerprint impression temporarily. It stores a BMP image of dimensions 256 X 288, where each pixel is stored as a byte.</p> <p>Character File Buffer: It is used to store a processed high-contrast image of the fingerprint. There are two character file buffers of 512 bytes each, and these store two-character files from two consecutive scans. The two scans are combined to form a template file representing the final version of a fingerprint impression. The template files are stored in the fingerprint library.</p> <p>Fingerprint Library: It is built-in flash memory where 1000 fingerprint templates can be stored. The template files are stored sequentially in the library.</p> <p>System Configuration Registers: It is a 16-byte register bank that stores configuration data and status flags. The register bank starts a 2-byte status register, followed by a 2-byte system identifier code, 2-byte library size,  2-byte security level, 4-byte device address, 2-byte data packet size, and 2-byte baud multiplier. The status register is defined as follows.</p> <p><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-07.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-64988 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-07.png" alt="R30X Status Register " width="558" height="61" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-07.png 558w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-07-300x33.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-07-368x40.png 368w" sizes="auto, (max-width: 558px) 100vw, 558px" /></a></p> <p>Where, Busy = 1 if system is executing command else Busy = 0 if system is free. Pass = 1 if a matching fingerprint is found else Pass = 0 if fingerprint is not found. PWD = 1 if handshaking password is verified else PWD = 0 if password is not matched. ImgBufStat = 1 if image buffer contains a valid image else ImgBufStat = 0 if image is not processed.</p> <p>System Identifier Code has a fixed value that identifies the module in the R30X series. R307 has a code of 0x0009. Library size indicates the number of fingerprint templates the module can store. For R307, it is 1000. Security value determines the threshold of fingerprint matching. It can be 1 to 5, where 5 is the highest security level providing minimum FAR and maximum FRR. FAR is the likelihood of identifying a weakly matched fingerprint as positive. FRR (False Recognition Rate) is the likelihood of identifying a wrong fingerprint as negative. At level 5, FAR is highest, and FRR is lowest. This is the strictest level of fingerprint matching. The device address is by default 0xFFFFFFFF. It can be modified with the SetAddr command. Data Packet Size determines the maximum size of data sent in a single packet. Its value can be 0~3, where 0 = 32 bytes, 1 = 64 bytes, 2 = 128 bytes and 3 = 256 bytes. Baud Multiplier sets the data communication speed with a computer system. It can be 1~12 in multiples of 9600 bps with a minimum baud rate of 9600 bps and a maximum of 115200 bps.</p> <p><strong>R307 communication protocol<br /> </strong>The scanner can communicate data with a computer system using a UART or USB interface. Both interfaces use a common communication protocol. The data is communicated in the form of packets. Each packet is broken into 10-bit frames. A frame starts with a start bit 0 followed by a byte and ending with an end bit 1. A packet is divided into the following frames.</p> <p><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-08.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-64989 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-08.png" alt="R307 data packet structure" width="855" height="116" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-08.png 855w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-08-300x41.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-08-768x104.png 768w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-08-368x50.png 368w" sizes="auto, (max-width: 855px) 100vw, 855px" /></a></p> <p>The <em>Header</em> is 2-byte long, having a fixed value of 0xEF01. The high byte is always sent first. The <em>Address</em> is the 32-bit device address of the scanner. The module accepts a command or data only if the address is correct. The default device address is 0xFFFFFFFF. The Packet <em>Identifier</em> determines the type of packet. It is 0x01 for command, 0x02 for data, 0x07 for acknowledgement packet, 0x08 for indicating end of data transfer packet. A command packet must follow a data packet. The acknowledgment packet is sent from the module to the computer system. <em>Packet Length</em> indicates the size of the packet content, including a checksum byte. <em>Packet Content</em> can be a command, data, or parameter of varying length as indicated by <em>Packet Length</em>. <em>Checksum</em> is the arithmetic sum of all bytes in <em>Packet Identifier</em>, <em>Packet Length,</em> and <em>Packet Content</em>.</p> <p>The R307 supports the following instruction set.</p> <div id="attachment_64990" style="width: 776px" class="wp-caption aligncenter"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-09.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-64990" class="wp-image-64990 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-09.png" alt="" width="766" height="550" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-09.png 766w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-09-300x215.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-09-331x238.png 331w" sizes="auto, (max-width: 766px) 100vw, 766px" /></a><p id="caption-attachment-64990" class="wp-caption-text">R307 Commands</p></div> <p>In response to a command from the computer system, the scanner sends back an acknowledgment packet containing the result and status of command execution. Each command has a set of expected response codes called confirmation codes. Following is a list of confirmation codes for R30X modules.</p> <p><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy.png"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-65010" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy-823x1024.png" alt="" width="740" height="921" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy-823x1024.png 823w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy-241x300.png 241w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy-768x955.png 768w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy-191x238.png 191w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-10-copy.png 878w" sizes="auto, (max-width: 740px) 100vw, 740px" /></a></p> <p><strong>Making a simple fingerprint scanner<br /> </strong>A fingerprint scanner has two processes involved &#8211; fingerprint enrolment and fingerprint matching. Let us now scan and match fingerprints using the R307 module. With this simple knowledge of enrolling and matching fingerprints, we can build any biometric security or access system.</p> <p><em>Components required</em></p> <ol> <li>Adafruit Fingerprint Scanner or R307 Fingerprint Scanner x1</li> <li>Arduino UNO x1</li> <li>Male Header x1</li> </ol> <p><em>Tools required</em></p> <ol> <li>Soldering Iron</li> <li>Soldering wire</li> </ol> <p><em>Circuit connections<br /> </em>The sensor comes with a connector cable having flexible wires with open ends at one side. The wire ends need to be soldered with a male header to be connected to a breadboard or Arduino. First of all, solder the cable wires with male headers. Now insert the connector cable to the header of the fingerprint scanner. It is easy to insert the connector cable as the header has clearly marked cuts for inserting the cable.</p> <p><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-11.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-64992 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-11.png" alt=": R307 connector header" width="806" height="582" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-11.png 806w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-11-300x217.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-11-768x555.png 768w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-11-330x238.png 330w" sizes="auto, (max-width: 806px) 100vw, 806px" /></a>Connect the 5V pin and ground of the scanner with 5V out and any ground pin of the Arduino UNO, respectively. Connect the Rxd and Txd of the scanner with pins D2 and D3 of Arduino UNO, respectively.</p> <p><em>Installing Adafruit Fingerprint Sensor Library<br /> </em>Navigate to library manager in Arduino IDE and search for Adafruit fingerprint library. Install the Adafruit Fingerprint Scanner Library. This library works fine for both Adafruit fingerprint scanners as well as R30X fingerprint scanners.</p> <div id="attachment_64993" style="width: 809px" class="wp-caption aligncenter"><a href="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-12.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-64993" class="wp-image-64993 size-full" src="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-12.png" alt="" width="799" height="446" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-12.png 799w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-12-300x167.png 300w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-12-768x429.png 768w, https://www.engineersgarage.com/wp-content/uploads/2021/09/TCH33-12-368x205.png 368w" sizes="auto, (max-width: 799px) 100vw, 799px" /></a><p id="caption-attachment-64993" class="wp-caption-text">Adafruit Fingerprint Scanner Library</p></div> <p><em>Enrolling a fingerprint ID<br /> </em>To enroll a fingerprint impression to the module, navigate to Files -&gt; Examples -&gt; Adafruit&#8217;s fingerprint -&gt; Enroll. Upload the code to Arduino and run Serial Monitor. Select the baud rate to 9600. If the fingerprint scanner is properly interfaced with the Arduino, a prompt for entering a fingerprint ID will pop up into the Serial Monitor. Enter a valid fingerprint ID number and place your finger on the scanner. The scanner will prompt to scan the fingerprint impression twice. If successfully scanned, the confirmation message will be displayed in the Serial Monitor.</p> <p><em>Matching a fingerprint ID<br /> </em>It is possible to scan a live finger against stored fingerprint templates. To match a fingerprint impression to the module, navigate to Files -&gt; Examples -&gt; Adafruit&#8217;s fingerprint -&gt; Fingerprint. Upload the code to Arduino and run Serial Monitor. Select the baud rate to 9600. Place your finger on the scanner. If the scanner has a template stored for your finger, it will respond with the fingerprint ID of your template. If your fingerprint impression is not stored in the module, it will respond with &#8220;no match found&#8221;.</p> <p><em>Extracting fingerprint templates<br /> </em>It is even possible to get the template files stored in the fingerprint module. Navigate to Files -&gt; Examples -&gt; Adafruit&#8217;s fingerprint -&gt; show_fingerprint_templates. Upload the code to Arduino and run Serial Monitor. Select the baud rate to 9600. The Serial Monitor will display all the stored fingerprint templates one by one by their ID in sequential order.</p> <p><strong>Conclusion<br /> </strong>R30X and Adafruit Fingerprint Scanners are low-cost and easy-to-use biometric modules. These can be easily interfaced in a security or access system using UART or USB interfaces. The Adafruit library works with R30X and Adafruit Fingerprint Scanners and can be directly used for many hobby projects.</p> <div class="bawmrp"> <h3>You may also like:</h3> <ul> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.engineersgarage.com/how-does-lora-modulation-enable-long-range-communication/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.engineersgarage.com/wp-content/uploads/2023/06/chirping-150x150.png" class="attachment-100x100 size-100x100 wp-image-78867 wp-post-image" alt="" srcset="https://www.engineersgarage.com/wp-content/uploads/2023/06/chirping-150x150.png 150w, https://www.engineersgarage.com/wp-content/uploads/2023/06/chirping-300x300.png 300w, https://www.engineersgarage.com/wp-content/uploads/2023/06/chirping-238x238.png 238w, https://www.engineersgarage.com/wp-content/uploads/2023/06/chirping.png 512w" sizes="auto, (max-width: 100px) 100vw, 100px" /><br />How does LoRa modulation enable long-range communication?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.engineersgarage.com/different-types-fingerprint-scanners-optical-capacitive-ultrasonic-in-display/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.engineersgarage.com/wp-content/uploads/2021/04/finger-print-modules-featured-150x150.jpg" class="attachment-100x100 size-100x100 wp-image-63756 wp-post-image" alt="" /><br />What are the different types of fingerprint scanners?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.engineersgarage.com/biometric-sensor-with-arduino/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.engineersgarage.com/wp-content/uploads/2021/02/biometric-fingerprint-sensor-featured-150x150.jpg" class="attachment-100x100 size-100x100 wp-image-63098 wp-post-image" alt="" /><br />Biometric sensor with Arduino</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.engineersgarage.com/what-is-fingerprint-identification/"><img loading="lazy" decoding="async" alt="" src="https://www.engineersgarage.com/wp-admin/images/w-logo-blue.png" height="100" width="100" /><br />What is Fingerprint Identification?</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.engineersgarage.com/biometrics-an-overview/"><img loading="lazy" decoding="async" width="100" height="100" src="https://www.engineersgarage.com/wp-content/uploads/2019/07/A-Representational-Image-Biometric-Fingerprint-Recognition-Technology-150x150.jpg" class="attachment-100x100 size-100x100 wp-image-48452 wp-post-image" alt="" /><br />Biometrics : An Overview</a></li> <li style="float:left;width:120px;height:auto;overflow:hidden;list-style:none;border-right: 1px solid #ccc;text-align:center;padding:0px 5px;" class="bawmrp_manual"><a href="https://www.engineersgarage.com/iris-recognition-know-your-iris/"><img loading="lazy" decoding="async" alt="" src="https://www.engineersgarage.com/wp-admin/images/w-logo-blue.png" height="100" width="100" /><br />IRIS Recognition : Know Your IRIS</a></li> </ul> </div> <div style="clear:both;"></div> <hr><span class="entry-categories">Filed Under: <a href="https://www.engineersgarage.com/arduino/" rel="category tag">Arduino Projects</a>, <a href="https://www.engineersgarage.com/electronic-projects/" rel="category tag">Electronic Projects</a>, <a href="https://www.engineersgarage.com/featured-contributions/" rel="category tag">Featured Contributions</a></span><br /><span class="entry-tags">Tagged With: <a href="https://www.engineersgarage.com/tag/adafruit-fingerprint-scanner/" rel="tag">Adafruit fingerprint scanner</a>, <a href="https://www.engineersgarage.com/tag/fingerprint-scanner-arduino/" rel="tag">fingerprint scanner arduino</a>, <a href="https://www.engineersgarage.com/tag/fingerprint-scanners/" rel="tag">Fingerprint scanners</a>, <a href="https://www.engineersgarage.com/tag/r305-fingerprint-scanner-arduino/" rel="tag">R305 fingerprint scanner Arduino</a>, <a href="https://www.engineersgarage.com/tag/r307-fingerprint-module-arduino/" rel="tag">R307 fingerprint module arduino</a>, <a href="https://www.engineersgarage.com/tag/r307-fingerprint-scanner/" rel="tag">R307 fingerprint scanner</a>, <a href="https://www.engineersgarage.com/tag/r30x-fingerprint-scanner/" rel="tag">R30X fingerprint scanner</a></span><br />&nbsp;<hr><hr /> <nav class="navigation post-navigation" aria-label="Next Article"> <h2 class="screen-reader-text">Next Article</h2> <div class="nav-links"><div class="nav-previous"><a href="https://www.engineersgarage.com/sensor-value-display-on-tft-lcd-using-arduino-part-i/" rel="prev">&larr; Previous Article</a></div><div class="nav-next"><a href="https://www.engineersgarage.com/ldr-with-piezo-sensor/" rel="next">Next Article &rarr;</a></div></div> </nav><hr /></div><footer class="entry-footer"></footer></article> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title"><span style="font-size:16px">Questions related to this article?<br />👉Ask and discuss on <a href="https://electro-tech-online.com?utm_source=EG&utm_medium=link&utm_campaign=TellUsWhatYouThink&utm_content=article64978&utm_term=forum" target="_blank" rel="nofollow noopener" style="color:red">Electro-Tech-Online.com</a> and <a href="https://edaboard.com?utm_source=EG&utm_medium=link&utm_campaign=TellUsWhatYouThink&utm_content=article64978&utm_term=forum" target="_blank" rel="nofollow noopener" style="color:red">EDAboard.com</a> forums.</span><br /><br /><hr />Tell Us What You Think!! <small><a rel="nofollow" id="cancel-comment-reply-link" href="/arduino-adafruit-r30x-r307-fingerprint-scanner/#respond" style="display:none;">Cancel reply</a></small></h3><p class="must-log-in">You must be <a href="https://www.engineersgarage.com/login?spw_redirect=https://www.engineersgarage.com/arduino-adafruit-r30x-r307-fingerprint-scanner/">logged in</a> to post a comment.</p> </div><!-- #respond --> <section id="custom_html-7" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><!-- need GAM TAG --></div></div></section> <section id="custom_html-8" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/" target="_blank"><img src="https://www.engineersgarage.com/wp-content/uploads/2023/03/EG-300x100-1.jpg" alt=“engineers garage newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest info on technologies, tools and strategies for EE professionals.</span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> </main><aside class="sidebar sidebar-primary widget-area" role="complementary" aria-label="Primary Sidebar"><section id="search-2" class="widget widget_search"><div class="widget-wrap"><form class="search-form" method="get" action="https://www.engineersgarage.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-1" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.engineersgarage.com/?s={s}"></form></div></section> <section id="custom_html-5" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><div align="center"> <div id='div-gpt-eg_sidebar1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg_sidebar1'); }); </script> </div> </div></div></div></section> <section id="custom_html-20" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">EE TECH TOOLBOX</h4> <div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.eeworldonline.com/tech-toolbox-test-measurement/" target="_blank"><img src="https://www.eeworldonline.com/wp-content/uploads/2024/11/EE-TechToolbox-T_and_M_Page_01-scaled.jpg" alt=“ee tech toolbox”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">Tech Toolbox: Test & Measurement</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;"> Everything needs testing and testing needs measurement. This Tech Toolbox covers measurement fundamentals, accuracy, precision, and resolution. A look at the Smith chart, a handy tool for RF engineers, is also reviewed. </span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.eeworldonline.com/tech-toolbox-test-measurement/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">Download PDF</button></a></div> <div align="center" style="padding-top: 10px;"><a href="https://www.eeworldonline.com/category/tech-toolboxes/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">View All Tech Toolboxes</button></a></div> </div> </center> </div></div></section> <section id="custom_html-14" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">EE Learning Center</h4> <div class="textwidget custom-html-widget"><center><div style="display: flex; flex-direction: column; width: 270px;"><a href="https://www.eeworldonline.com/learning-center" target="_blank" rel="noopener"><img src="https://www.engineersgarage.com/wp-content/uploads/2024/08/300x250-2-EE-LearnCtr.png" alt="EE Learning Center" style="max-width: 270px;" /></a> <div class="dropdown" style="text-align: center; margin-top: 10px;"> <button class="motion-design-guides">BROWSE CLASSROOMS</button> <div class="dropdown-content"> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/model-based-systems-engineering-classroom" target="_blank">Model-Based System Engineering</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/transformers-ii-classroom" target="_blank">Transformers II</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/automotive-connectivity-classroom" target="_blank">Automotive Connectivity</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/capacitators-classroom" target="_blank">Capacitors</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/programmable-power-classroom" target="_blank">Programmable Power</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/inductors" target="_blank">Inductors</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/classroom-fpga" target="_blank">FPGA</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/silicon-carbide-classroom" target="_blank">Silicon Carbide</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/adas-classroom" target="_blank">ADAS</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/classroom-high-voltage" target="_blank">High Voltage Power</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/emi-rfi-classroom" target="_blank">Electromagnetic & Radio Frequency Interference</a> <a class="motion-design-guide-option" href="https://www.eeworldonline.com/testing-radio-frequency-classroom" target="_blank">Testing Basics Radio Frequency</a> </div> </div></div> </center> <center> <div class="dropdown" style="text-align: center; padding-top: 10px;"> <button class="motion-design-guides">Browse Design Guides</button> <div class="dropdown-content"> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa6026/?p=w_defa6026" target="_blank">USB-Based Oscilloscopes</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3554/" target="_blank">Connectors</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3475/" target="_blank">5G Connectivity</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3454/" target="_blank">Capacitors</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_rene01/" target="_blank">Bluetooth & Connectivity</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa2728/" target="_blank">WiFi & the IOT</a> <a class="motion-design-guide-option" href="https://dw-resources.designworldonline.com/free/w_defa2978/" target="_blank">Linear Position Sensors</a> <a class="motion-design-guide-option" href="https://eeworldonline.tradepub.com/free/w_defa3337/" target="_blank">Relays</a> </div> </div> </center></div></div></section> <section id="custom_html-19" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"><center> <div style="display: flex; flex-direction: column; justify-content: center; width: 300px;"> <div align="center"><a href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/" target="_blank"><img src="https://www.engineersgarage.com/wp-content/uploads/2023/03/EG-300x100-1.jpg" alt=“engineers garage newsletter”></a></div> <div align="center" style="width: 300px; line-height: 20px; padding-top: 10px;"><span style="font-weight: bold; color: #0c506d; text-align: center; font-size: 20px;">EXPAND YOUR KNOWLEDGE AND STAY CONNECTED</span></div> <div align="center" style="line-height: 16px; padding-top: 5px;"><span style="text-align: center; font-size: 16px;">Get the latest info on technologies, tools and strategies for EE professionals.</span></div> <div align="center" style="padding-top: 10px;"><a href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/" target="_blank"><button style="background-color: #57bf9b; color: white; font-weight: bold; border: none; padding: 10px; font-size: 16px; cursor: pointer;">GET THE ENEWSLETTER</button></a></div> </div> </center></div></div></section> <section id="custom_html-15" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">HAVE A QUESTION?</h4> <div class="textwidget custom-html-widget"><div id="digital" style="padding: 0 15px 10px 15px;"> <span style="font-size: 12px;font-weight:bold"> Have a technical question about an article or other engineering questions? Check out our engineering forums <a href="https://www.edaboard.com" target="_blank" style="color:red">EDABoard.com</a> and <a href="https://www.electro-tech-online.com" target="_blank" style="color:red">Electro-Tech-Online.com</a> where you can get those questions asked and answered by your peers! </span> <br /> <br /> <div align="Center"> <div style="float: center;"><a href="https://www.edaboard.com/?utm_source=EG&utm_medium=widget&utm_campaign=question&utm_term=HaveQuestion" target="_blank" rel="nofollow"><button class="greenbutton">EDA Board</button></a></div> <br /> <div style="float: center;"><a href="https://www.electro-tech-online.com/?utm_source=EG&utm_medium=widget&utm_campaign=question&utm_term=HaveQuestion" target="_blank" rel="nofollow"><button class="greenbutton">Electro-Tech-Online</button></a></div> </div> </div> </div></div></section> <section id="rss-2" class="widget widget_rss"><div class="widget-wrap"><h4 class="widget-title widgettitle"><a class="rsswidget rss-widget-feed" href="http://www.edaboard.com/external.php?type=RSS"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://www.engineersgarage.com/wp-includes/images/rss.png" alt="RSS" loading="lazy" /></a> <a class="rsswidget rss-widget-title" href="https://www.edaboard.com/">EDABOARD.com Discussions</a></h4> <ul><li><a class='rsswidget' href='https://www.edaboard.com/threads/restoring-a-wards-airline-radio-model-93br-1201-wards-airline-radio-model-93br-1201.413102/'>Restoring A WARDS AIRLINE RADIO MODEL 93BR-1201 WARDS AIRLINE RADIO MODEL 93BR-1201</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/all-black-screen-after-booting-zorin-os-16-on-hp-notebook-with-11th-gen-intel-cpu.413069/'>All black Screen After Booting Zorin OS 16 on HP Notebook with 11th Gen Intel CPU</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/how-parallel-patterns-are-pulsed-during-shift.413158/'>How parallel patterns are pulsed during shift?</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/relative-phase-compensation-technique.413067/'>Relative phase compensation technique</a></li><li><a class='rsswidget' href='https://www.edaboard.com/threads/buck-boost-inductor-design-calculation.413149/'>Buck-Boost Inductor design calculation</a></li></ul></div></section> <section id="rss-3" class="widget widget_rss"><div class="widget-wrap"><h4 class="widget-title widgettitle"><a class="rsswidget rss-widget-feed" href="https://www.electro-tech-online.com/forums/-/index.rss"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="https://www.engineersgarage.com/wp-includes/images/rss.png" alt="RSS" loading="lazy" /></a> <a class="rsswidget rss-widget-title" href="https://www.electro-tech-online.com/">Electro-Tech-Online.com Discussions</a></h4> <ul><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/pic-basic-finger-print-scanner-as608.166942/'>Pic basic finger print scanner AS608</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/filtering-for-a-signal-level-detector.166547/'>Filtering for a signal level detector</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/help-put-switch-back-together-on-cookerhood.166879/'>Help! Put switch back together on cookerhood</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/display-tft-st7789-oshonsoft-basic.166219/'>Display TFT ST7789 (OshonSoft Basic).</a></li><li><a class='rsswidget' href='https://www.electro-tech-online.com/threads/varying-voltage-in-a-circuit.166946/'>Varying voltage in a circuit</a></li></ul></div></section> <section id="category-posts-2" class="widget cat-post-widget"><div class="widget-wrap"><h4 class="widget-title widgettitle">Featured Series -Iot Tutorials (48 Part series)</h4> <ul id="category-posts-2-internal" class="category-posts-internal"> <li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.engineersgarage.com/secure-client-server-communication-over-tls-security-protocol-using-mosquitto-broker-iot-part-42/" title="Secure client server communication over TLS security protocol using Mosquitto Broker: IOT Part 42"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Secure-Client-Server-Communication-Over-TLS-Protocol-Using-Mosquitto-Broker.jpg" class="attachment- size- wp-image-52222 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Secure-Client-Server-Communication-Over-TLS-Protocol-Using-Mosquitto-Broker.jpg 588w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Secure-Client-Server-Communication-Over-TLS-Protocol-Using-Mosquitto-Broker-300x123.jpg 300w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Secure-Client-Server-Communication-Over-TLS-Protocol-Using-Mosquitto-Broker-368x151.jpg 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <h6 class="widget-title"><a class="cat-post-title" href="https://www.engineersgarage.com/secure-client-server-communication-over-tls-security-protocol-using-mosquitto-broker-iot-part-42/" rel="bookmark">Secure client server communication over TLS security protocol using Mosquitto Broker: IOT Part 42</a></h6></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.engineersgarage.com/application-of-ftp-protocol-in-internet-of-things-iot-part-43/" title="Application of FTP Protocol in Internet of Things &#8211; IOT Part 43"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.engineersgarage.com/wp-content/uploads/2019/07/Representational-Image-FTP-Protocol.jpg" class="attachment- size- wp-image-52475 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.engineersgarage.com/wp-content/uploads/2019/07/Representational-Image-FTP-Protocol.jpg 633w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Representational-Image-FTP-Protocol-300x201.jpg 300w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Representational-Image-FTP-Protocol-355x238.jpg 355w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <h6 class="widget-title"><a class="cat-post-title" href="https://www.engineersgarage.com/application-of-ftp-protocol-in-internet-of-things-iot-part-43/" rel="bookmark">Application of FTP Protocol in Internet of Things &#8211; IOT Part 43</a></h6></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.engineersgarage.com/automatic-software-update-by-iot-device-over-ftp-protocol-iot-part-44/" title="Automatic Software Update by IoT Device over FTP Protocol &#8211; IOT Part 44"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.engineersgarage.com/wp-content/uploads/2019/07/Block-Diagram-Raspberry-Pi-3-based-IoT-FTP-Client.jpg" class="attachment- size- wp-image-52286 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.engineersgarage.com/wp-content/uploads/2019/07/Block-Diagram-Raspberry-Pi-3-based-IoT-FTP-Client.jpg 1200w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Block-Diagram-Raspberry-Pi-3-based-IoT-FTP-Client-300x180.jpg 300w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Block-Diagram-Raspberry-Pi-3-based-IoT-FTP-Client-768x460.jpg 768w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Block-Diagram-Raspberry-Pi-3-based-IoT-FTP-Client-1024x613.jpg 1024w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Block-Diagram-Raspberry-Pi-3-based-IoT-FTP-Client-368x220.jpg 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <h6 class="widget-title"><a class="cat-post-title" href="https://www.engineersgarage.com/automatic-software-update-by-iot-device-over-ftp-protocol-iot-part-44/" rel="bookmark">Automatic Software Update by IoT Device over FTP Protocol &#8211; IOT Part 44</a></h6></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.engineersgarage.com/ssh-file-transfer-protocol-iot-part-45/" title="SSH File Transfer Protocol &#8211; IOT Part 45"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.engineersgarage.com/wp-content/uploads/2019/07/Symbol-SSH-File-Transfer-Protocol-SFTP.jpg" class="attachment- size- wp-image-54321 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.engineersgarage.com/wp-content/uploads/2019/07/Symbol-SSH-File-Transfer-Protocol-SFTP.jpg 465w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Symbol-SSH-File-Transfer-Protocol-SFTP-300x234.jpg 300w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Symbol-SSH-File-Transfer-Protocol-SFTP-306x238.jpg 306w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Symbol-SSH-File-Transfer-Protocol-SFTP-216x168.jpg 216w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <h6 class="widget-title"><a class="cat-post-title" href="https://www.engineersgarage.com/ssh-file-transfer-protocol-iot-part-45/" rel="bookmark">SSH File Transfer Protocol &#8211; IOT Part 45</a></h6></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.engineersgarage.com/raspberry-pi-server-based-hotel-restaurant-order-management-system-on-iot-iot-part-46/" title="Raspberry Pi Server based Hotel/Restaurant Order Management System on IoT &#8211; IOT Part 46"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.engineersgarage.com/wp-content/uploads/2021/02/hotel-restaurant-order-project-featured.jpg" class="attachment- size- wp-image-63002 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.engineersgarage.com/wp-content/uploads/2021/02/hotel-restaurant-order-project-featured.jpg 770w, https://www.engineersgarage.com/wp-content/uploads/2021/02/hotel-restaurant-order-project-featured-300x195.jpg 300w, https://www.engineersgarage.com/wp-content/uploads/2021/02/hotel-restaurant-order-project-featured-768x499.jpg 768w, https://www.engineersgarage.com/wp-content/uploads/2021/02/hotel-restaurant-order-project-featured-368x238.jpg 368w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <h6 class="widget-title"><a class="cat-post-title" href="https://www.engineersgarage.com/raspberry-pi-server-based-hotel-restaurant-order-management-system-on-iot-iot-part-46/" rel="bookmark">Raspberry Pi Server based Hotel/Restaurant Order Management System on IoT &#8211; IOT Part 46</a></h6></div></li><li class='cat-post-item'><div><a class="cat-post-thumbnail cat-post-dark" href="https://www.engineersgarage.com/imap-protocol-iot-part-47-2/" title="IMAP Protocol- IOT Part 47"><span class="cat-post-crop cat-post-format cat-post-format-standard"><img width="150" height="95" src="https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Protocol-Email-Retrieving-Algorithm.jpg" class="attachment- size- wp-image-52474 wp-post-image" alt="" data-cat-posts-width="150" data-cat-posts-height="95" decoding="async" loading="lazy" srcset="https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Protocol-Email-Retrieving-Algorithm.jpg 473w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Protocol-Email-Retrieving-Algorithm-184x300.jpg 184w, https://www.engineersgarage.com/wp-content/uploads/2019/07/Image-Showing-Protocol-Email-Retrieving-Algorithm-146x238.jpg 146w" sizes="auto, (max-width: 150px) 100vw, 150px" /></span></a> <h6 class="widget-title"><a class="cat-post-title" href="https://www.engineersgarage.com/imap-protocol-iot-part-47-2/" rel="bookmark">IMAP Protocol- IOT Part 47</a></h6></div></li></ul> </div></section> <section id="recent-posts-2" class="widget widget_recent_entries"><div class="widget-wrap"> <h4 class="widget-title widgettitle">Recent Articles</h4> <ul> <li> <a href="https://www.engineersgarage.com/top-spy-gadgets-you-can-actually-own/">What are the most practical and useful modern spy gadgets?</a> </li> <li> <a href="https://www.engineersgarage.com/st-releases-radio-enabled-mcus-with-15-year-battery-life/">ST releases radio-enabled MCUs with 15+ year battery life</a> </li> <li> <a href="https://www.engineersgarage.com/infineons-space-grade-512-mbit-flash-memory-supports-data-rates-up-to-133-mhz-for-fpga-boot/">Infineon’s space-grade 512 Mbit Flash memory supports data rates up to 133 MHz for FPGA Boot</a> </li> <li> <a href="https://www.engineersgarage.com/same-sky-expands-usb-portfolio-with-5-9-mm-type-c-series/">Same Sky expands USB portfolio with 5.9 mm Type-C series</a> </li> <li> <a href="https://www.engineersgarage.com/renesas-ddr5-chipset-reaches-12800-mt-s-transfer-speed/">Renesas DDR5 chipset reaches 12,800 MT/s transfer speed</a> </li> </ul> </div></section> <section id="custom_html-3" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><div class="textwidget custom-html-widget"> <div id='div-gpt-eg_sidebarbottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg_sidebarbottom'); }); </script> </div> </div></div></section> <section id="custom_html-18" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">EE ENGINEERING TRAINING DAYS</h4> <div class="textwidget custom-html-widget"><center><div style="display: flex; flex-direction: column; width: 270px;"><a href="https://eetrainingdays.com/" target="_blank" rel="noopener"><img src="https://www.eeworldonline.com/wp-content/uploads/2024/01/300x250-side-bar-graphic.png" alt="engineering" /></a> </div> </center></div></div></section> <section id="custom_html-17" class="widget_text widget widget_custom_html"><div class="widget_text widget-wrap"><h4 class="widget-title widgettitle">Submit a Guest Post</h4> <div class="textwidget custom-html-widget"><center> <a href="/join-us-as-a-guest-post-writer/"> <img src="/wp-content/uploads/2022/10/guest-post-banner.jpg" alt="submit a guest post"> </a> </center></div></div></section> </aside></div></div></div><div class="footer-socials"><div class="wrap"><label style="color:#ffffff">Connect with Engineers Garage</label> <a href="https://www.facebook.com/engineersgarage" target="_blank" rel="noopener noreferrer"><i class="icon-facebook"></i></a><a href="https://twitter.com/EngineersGarage" target="_blank" rel="noopener noreferrer"><i class="icon-twitter"></i></a><a href="https://www.youtube.com/@engineersgarage" target="_blank" rel="noopener noreferrer"><i class="icon-youtube"></i></a></div></div><footer class="site-footer"><div class="wrap"><div class="row"><div class="footer-logo"><a href="https://www.engineersgarage.com">Engineers Garage</a></div><div class="footer-menu"><div class="menu-footer-nav-container"><ul id="menu-footer-nav" class="menu"><li id="menu-item-55876" class="menu-item"><a target="_blank" href="http://www.analogictips.com/">Analog IC TIps</a></li> <li id="menu-item-55877" class="menu-item"><a target="_blank" href="https://www.connectortips.com/">Connector Tips</a></li> <li id="menu-item-80507" class="menu-item"><a href="https://www.batterypowertips.com/">Battery Power Tips</a></li> <li id="menu-item-55872" class="menu-item"><a target="_blank" href="https://www.DesignFast.com/">DesignFast</a></li> <li id="menu-item-55873" class="menu-item"><a target="_blank" href="http://www.edaboard.com/">EDABoard Forums</a></li> <li id="menu-item-55881" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com">EE World Online</a></li> <li id="menu-item-55874" class="menu-item"><a target="_blank" href="http://www.electro-tech-online.com/">Electro-Tech-Online Forums</a></li> <li id="menu-item-79699" class="menu-item"><a target="_blank" href="https://www.evengineeringonline.com/">EV Engineering</a></li> <li id="menu-item-55875" class="menu-item"><a target="_blank" href="http://www.microcontrollertips.com/">Microcontroller Tips</a></li> <li id="menu-item-55878" class="menu-item"><a target="_blank" href="http://www.powerelectronictips.com/">Power Electronic Tips</a></li> <li id="menu-item-55879" class="menu-item"><a target="_blank" href="http://www.sensortips.com/">Sensor Tips</a></li> <li id="menu-item-55880" class="menu-item"><a target="_blank" href="http://www.testandmeasurementtips.com/">Test and Measurement Tips</a></li> <li id="menu-item-60429" class="menu-item"><a target="_blank" href="https://www.5gtechnologyworld.com/">5G Technology World</a></li> <li id="menu-item-79962" class="menu-item"><a href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/">Subscribe to our newsletter</a></li> <li id="menu-item-55885" class="menu-item"><a href="https://www.engineersgarage.com/about-us/">About Us</a></li> <li id="menu-item-55886" class="menu-item"><a href="https://www.engineersgarage.com/contact-us/">Contact Us</a></li> <li id="menu-item-55887" class="menu-item"><a target="_blank" href="https://marketing.wtwhmedia.com/2024-ee-world-online-media-guide/">Advertise</a></li> </ul></div></div><div class="footer-copyright"><p>Copyright &copy; 2024 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media<br /> <a href="http://www.wtwhmedia.com/privacy-policy/" target="_blank">Privacy Policy</a> </p></div></div></div></footer></div><div class="site-search"><div class="wrap"><div class="search-inner"><h2>Search Engineers Garage</h2><form class="search-form" method="get" action="https://www.engineersgarage.com/" role="search"><input class="search-form-input" type="search" name="s" id="searchform-2" placeholder="Search this website"><input class="search-form-submit" type="submit" value="GO"><meta content="https://www.engineersgarage.com/?s={s}"></form></div></div></div> <!-- xyzzy bottom --> </div> <script> var GAMaccountID = 5272491; var GAMnetworkName = 'ee_network'; var GAMadUnitName = 'eg_prestitial'; googletag.slots = googletag.slots || {}; </script> <script type="text/javascript"> function genesisBlocksShare( url, title, w, h ){ var left = ( window.innerWidth / 2 )-( w / 2 ); var top = ( window.innerHeight / 2 )-( h / 2 ); return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=600, height=600, top='+top+', left='+left); } </script> <!-- Google Tag Manager (noscript) Global --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMC9PJ9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJMRR6Z" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id='div-gpt-eg_wallpaper'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg_wallpaper'); }); </script> </div> <div id='div-gpt-eg_allstreamflex'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg_allstreamflex'); }); </script> </div> <div id='div-gpt-eg_allstreamprelude'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-eg_allstreamprelude'); }); </script> </div> <div id="sidr-mobile-menu" class="sidr right"><a class="sidr-menu-close" href="#"><i class="icon-close"></i></a><div class="menu-main-nav-container"><ul id="menu-main-nav" class="menu"><li id="menu-item-61908" class="menu-item menu-item-has-children"><a href="https://www.engineersgarage.com/projects-and-tutorials/">Electronics Projects and Tutorials</a> <ul class="sub-menu"> <li id="menu-item-39808" class="menu-item menu-item-has-children"><a href="https://www.engineersgarage.com/electronic-projects/">Electronic Projects</a> <ul class="sub-menu"> <li id="menu-item-81272" class="menu-item"><a href="https://www.engineersgarage.com/arduino/">Arduino Projects</a></li> <li id="menu-item-81273" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/avr/">AVR</a></li> <li id="menu-item-80793" class="menu-item"><a href="https://www.engineersgarage.com/raspberry-pi-electronic-projects/">Raspberry pi</a></li> <li id="menu-item-78430" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/esp8266-electronic-projects/">ESP8266</a></li> <li id="menu-item-78434" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/beaglebone-electronic-projects/">BeagleBone</a></li> <li id="menu-item-80794" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/8051-microcontroller/">8051 Microcontroller</a></li> <li id="menu-item-55864" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/arm-electronic-projects-electronic-projects/">ARM</a></li> <li id="menu-item-80795" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/pic-microcontroller-electronic-projects/">PIC Microcontroller</a></li> <li id="menu-item-60239" class="menu-item"><a href="https://www.engineersgarage.com/electronic-projects/stm32-electronic-projects-electronic-projects/">STM32</a></li> </ul> </li> <li id="menu-item-7268" class="menu-item menu-item-has-children"><a href="https://www.engineersgarage.com/tutorials/">Tutorials</a> <ul class="sub-menu"> <li id="menu-item-78818" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/audio-tutorials/">Audio Electronics</a></li> <li id="menu-item-78819" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/battery-management-systems/">Battery Management</a></li> <li id="menu-item-78820" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/brainwave/">Brainwave</a></li> <li id="menu-item-78833" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/evs/">Electric Vehicles</a></li> <li id="menu-item-78822" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/emc-emi/">EMI/EMC/RFI</a></li> <li id="menu-item-78823" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/filters/">Hardware Filters</a></li> <li id="menu-item-78826" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/iot-tutorials/">IoT tutorials</a></li> <li id="menu-item-80151" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/power/">Power Tutorials</a></li> <li id="menu-item-78835" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/python/">Python</a></li> <li id="menu-item-78829" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/sensors-tutorials/">Sensors</a></li> <li id="menu-item-78830" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/usb/">USB</a></li> <li id="menu-item-78832" class="menu-item"><a href="https://www.engineersgarage.com/tutorials/vhdl-tutorials/">VHDL</a></li> </ul> </li> <li id="menu-item-56096" class="menu-item"><a href="https://www.engineersgarage.com/circuit_design/">Circuit Design</a></li> <li id="menu-item-62725" class="menu-item"><a target="_blank" href="https://www.youtube.com/user/engineersgarage">Project Videos</a></li> <li id="menu-item-7269" class="menu-item"><a href="https://www.engineersgarage.com/components/">Components</a></li> </ul> </li> <li id="menu-item-39810" class="menu-item menu-item-has-children"><a href="https://www.engineersgarage.com/article_page/">Articles</a> <ul class="sub-menu"> <li id="menu-item-63122" class="menu-item"><a href="https://www.engineersgarage.com/tech-articles/">Tech Articles</a></li> <li id="menu-item-13371" class="menu-item"><a href="https://www.engineersgarage.com/insight/">Insight</a></li> <li id="menu-item-13399" class="menu-item"><a href="https://www.engineersgarage.com/invention-stories/">Invention Stories</a></li> <li id="menu-item-13326" class="menu-item"><a href="https://www.engineersgarage.com/how_to/">How to</a></li> <li id="menu-item-59366" class="menu-item"><a href="https://www.engineersgarage.com/what_is/">What Is</a></li> </ul> </li> <li id="menu-item-1863" class="menu-item menu-item-has-children"><a href="#">News</a> <ul class="sub-menu"> <li id="menu-item-39809" class="menu-item"><a href="https://www.engineersgarage.com/news/">Electronic Product News</a></li> <li id="menu-item-77696" class="menu-item"><a href="https://www.engineersgarage.com/news/business-news/">Business News</a></li> <li id="menu-item-77697" class="menu-item"><a href="https://www.engineersgarage.com/news/company-start-up-news/">Company/Start-up News</a></li> <li id="menu-item-14489" class="menu-item"><a href="https://www.engineersgarage.com/reviews/">DIY Reviews</a></li> <li id="menu-item-14287" class="menu-item"><a href="https://www.engineersgarage.com/guest_post/">Guest Post</a></li> </ul> </li> <li id="menu-item-55871" class="menu-item menu-item-has-children"><a>Forums</a> <ul class="sub-menu"> <li id="menu-item-55870" class="menu-item"><a href="https://www.edaboard.com/">EDABoard.com</a></li> <li id="menu-item-55869" class="menu-item"><a href="https://www.electro-tech-online.com/">Electro-Tech-Online</a></li> <li id="menu-item-1851" class="menu-item"><a href="https://forums.engineersgarage.com/">EG Forum Archive</a></li> </ul> </li> <li id="menu-item-1868" class="menu-item menu-item-has-children"><a target="_blank" href="https://wtwh.me/9mk">DigiKey Store</a> <ul class="sub-menu"> <li id="menu-item-1869" class="menu-item"><a target="_blank" href="https://wtwh.me/9ml">Cables, Wires</a></li> <li id="menu-item-1870" class="menu-item"><a target="_blank" href="https://wtwh.me/9mm">Connectors, Interconnect</a></li> <li id="menu-item-1871" class="menu-item"><a target="_blank" href="https://wtwh.me/9mn">Discrete</a></li> <li id="menu-item-1872" class="menu-item"><a target="_blank" href="https://wtwh.me/9mo">Electromechanical</a></li> <li id="menu-item-1873" class="menu-item"><a target="_blank" href="https://wtwh.me/9mp">Embedded Computers</a></li> <li id="menu-item-1874" class="menu-item"><a target="_blank" href="https://wtwh.me/9mq">Enclosures, Hardware, Office</a></li> <li id="menu-item-1875" class="menu-item"><a target="_blank" href="https://wtwh.me/9mr">Integrated Circuits (ICs)</a></li> <li id="menu-item-1876" class="menu-item"><a target="_blank" href="https://wtwh.me/9ms">Isolators</a></li> <li id="menu-item-1877" class="menu-item"><a target="_blank" href="https://wtwh.me/9mt">LED/Optoelectronics</a></li> <li id="menu-item-1878" class="menu-item"><a target="_blank" href="https://wtwh.me/9mu">Passive</a></li> <li id="menu-item-1879" class="menu-item"><a target="_blank" href="https://wtwh.me/9mv">Power, Circuit Protection</a></li> <li id="menu-item-1880" class="menu-item"><a target="_blank" href="https://wtwh.me/9mw">Programmers</a></li> <li id="menu-item-1881" class="menu-item"><a target="_blank" href="https://wtwh.me/9mx">RF, Wireless</a></li> <li id="menu-item-1882" class="menu-item"><a target="_blank" href="https://wtwh.me/9mk">Semiconductors</a></li> <li id="menu-item-1883" class="menu-item"><a target="_blank" href="https://wtwh.me/9my">Sensors, Transducers</a></li> <li id="menu-item-1884" class="menu-item"><a target="_blank" href="https://wtwh.me/9mz">Test Products</a></li> <li id="menu-item-1885" class="menu-item"><a target="_blank" href="https://wtwh.me/9mA">Tools</a></li> </ul> </li> <li id="menu-item-56062" class="menu-item menu-item-has-children"><a href="https://www.eeworldonline.com/learning-center">Learn</a> <ul class="sub-menu"> <li id="menu-item-80114" class="menu-item"><a href="https://www.eeworldonline.com/category/tech-tips/">eBooks/Tech Tips</a></li> <li id="menu-item-76567" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/design-guide-library">Design Guides</a></li> <li id="menu-item-77221" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/learning-center">Learning Center</a></li> <li id="menu-item-81739" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/category/tech-toolboxes/">Tech Toolboxes</a></li> <li id="menu-item-80113" class="menu-item"><a href="https://gateway.on24.com/wcc/experience/elitewtwhmedia/2927718/4415581/eeworld">Webinars &#038; Digital Events</a></li> </ul> </li> <li id="menu-item-55895" class="menu-item menu-item-has-children"><a>Resources</a> <ul class="sub-menu"> <li id="menu-item-77693" class="menu-item"><a href="https://www.eeworldonline.com/category/digital-issues/">Digital Issues</a></li> <li id="menu-item-77694" class="menu-item"><a href="https://eetrainingdays.com/">EE Training Days</a></li> <li id="menu-item-55899" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/2023-leap-awards-winners-are-announced/">LEAP Awards</a></li> <li id="menu-item-77695" class="menu-item"><a href="https://www.eeworldonline.com/category/podcasts/">Podcasts</a></li> <li id="menu-item-77375" class="menu-item"><a target="_blank" href="https://www.eeworldonline.com/ee-world-webinars-and-digital-events/">Webinars / Digital Events</a></li> <li id="menu-item-55898" class="menu-item"><a href="http://www.engineeringwhitepapers.com/category/electricalelectronic/">White Papers</a></li> <li id="menu-item-62203" class="menu-item"><a href="https://www.designworldonline.com/category/news/engineering-diversity/">Engineering Diversity &#038; Inclusion</a></li> <li id="menu-item-55896" class="menu-item"><a href="https://www.DesignFast.com">DesignFast</a></li> </ul> </li> <li id="menu-item-80115" class="menu-item"><a href="https://www.engineersgarage.com/subscribe-engineers-garage-newsletter/">Subscribe</a></li> <li id="menu-item-80423" class="menu-item"><a href="https://www.engineersgarage.com/join-us-as-a-guest-post-writer/">Guest Post Guidelines</a></li> </ul></div></div></div><style type="text/css" media="screen"></style><script type="text/javascript" src="https://www.engineersgarage.com/wp-content/plugins/prestitial/assets/js/adlogic.js?ver=1.1.0" id="wtwh_prestitial_core_js-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-content/plugins/genesis-blocks/dist/assets/js/dismiss.js?ver=1720775797" id="genesis-blocks-dismiss-js-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-includes/js/comment-reply.min.js?ver=6.7" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-content/themes/ThemeWTWHv2/assets/js/global-min.js?ver=1629218360" id="ea-global-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-includes/js/jquery/ui/tabs.min.js?ver=1.13.3" id="jquery-ui-tabs-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-includes/js/hoverIntent.min.js?ver=1.10.2" id="hoverIntent-js"></script> <script type="text/javascript" src="https://www.engineersgarage.com/wp-content/plugins/megamenu/js/maxmegamenu.js?ver=3.4" id="megamenu-js"></script> <script type="text/javascript" async data-no-optimize="1" src="https://www.engineersgarage.com/wp-content/plugins/perfmatters/vendor/instant-page/pminstantpage.min.js?ver=2.3.4" id="perfmatters-instant-page-js"></script> <script type="text/javascript">jQuery(document).ready(function($) { $(".ui-tabs").tabs(); });</script> <script>"undefined"!=typeof jQuery&&jQuery(document).ready(function(){"objectFit"in document.documentElement.style==!1&&(jQuery(".cat-post-item figure").removeClass("cat-post-crop"),jQuery(".cat-post-item figure").addClass("cat-post-crop-not-supported")),(document.documentMode||/Edge/.test(navigator.userAgent))&&(jQuery(".cat-post-item figure img").height("+=1"),window.setTimeout(function(){jQuery(".cat-post-item figure img").height("-=1")},0))});</script> <script type="text/javascript"> if (typeof jQuery !== 'undefined') { var cat_posts_namespace = window.cat_posts_namespace || {}; cat_posts_namespace.layout_wrap_text = cat_posts_namespace.layout_wrap_text || {}; cat_posts_namespace.layout_img_size = cat_posts_namespace.layout_img_size || {}; cat_posts_namespace.layout_wrap_text = { preWrap : function (widget) { jQuery(widget).find('.cat-post-item').each(function(){ var _that = jQuery(this); _that.find('p.cpwp-excerpt-text').addClass('cpwp-wrap-text'); _that.find('p.cpwp-excerpt-text').closest('div').wrap('<div class="cpwp-wrap-text-stage"></div>'); }); return; }, add : function(_this){ var _that = jQuery(_this); if (_that.find('p.cpwp-excerpt-text').height() < _that.find('.cat-post-thumbnail').height()) { _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').addClass( "cpwp-wrap-text" ); }else{ _that.find('p.cpwp-excerpt-text').removeClass( "cpwp-wrap-text" ); _that.find('p.cpwp-excerpt-text').closest('.cpwp-wrap-text-stage').addClass( "cpwp-wrap-text" ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).find('img').width(); if( 0 !== width ){ cat_posts_namespace.layout_wrap_text.add(_this); } else { jQuery(_this).find('img').one("load", function(){ cat_posts_namespace.layout_wrap_text.add(_this); }); } return; }, setClass : function (widget) { // var _widget = jQuery(widget); jQuery(widget).find('.cat-post-item').each(function(){ cat_posts_namespace.layout_wrap_text.handleLazyLoading(this); }); return; } } cat_posts_namespace.layout_img_size = { replace : function(_this){ var _that = jQuery(_this), resp_w = _that.width(), resp_h = _that.height(), orig_w = _that.data('cat-posts-width'), orig_h = _that.data('cat-posts-height'); if( resp_w < orig_w ){ _that.height( resp_w * orig_h / orig_w ); } else { _that.height( '' ); } return; }, handleLazyLoading : function(_this) { var width = jQuery(_this).width(); if( 0 !== width ){ cat_posts_namespace.layout_img_size.replace(_this); } else { jQuery(_this).one("load", function(){ cat_posts_namespace.layout_img_size.replace(_this); }); } return; }, setHeight : function (widget) { jQuery(widget).find('.cat-post-item img').each(function(){ cat_posts_namespace.layout_img_size.handleLazyLoading(this); }); return; } } let widget = jQuery('#category-posts-2-internal'); jQuery( document ).ready(function () { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); jQuery(window).on('load resize', function() { cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); }); // low-end mobile cat_posts_namespace.layout_wrap_text.preWrap(widget); cat_posts_namespace.layout_wrap_text.setClass(widget); cat_posts_namespace.layout_img_size.setHeight(widget); } </script> </body></html>

Pages: 1 2 3 4 5 6 7 8 9 10