CINXE.COM

Adafruit Learning System

<!doctype html> <html lang="en-US" prefix="og: http://ogp.me/ns#"> <head> <meta charset="utf-8"> <link rel="mask-icon" href="/assets/adafruit_favicon-fa25640e.svg" color="#000000"> <link rel="icon" type="image/x-icon" href="/assets/favicon-5362a6c7.ico" /> <title>Adafruit Learning System</title> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="UIrXTUuJGim6w_U6eUQ9F6Hg9XRSlr6YqjEuN-vperrU3izYT3mce1NS9ar98oqb9BBaAOJs-n5s1TXV3g6Y7w" /> <link rel="alternate" type="application/atom+xml" title="ATOM" href="/feed" /> <link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.rss" /> <link rel="stylesheet" href="/assets/application-c3315b32.css" data-turbo-track="reload" media="screen" /> <link rel="preload" href="https://cdn-shop.adafruit.com/fonts/proximanova/proximanova-light-webfont.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://cdn-shop.adafruit.com/fonts/proximanova/proximanova-regular-webfont.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://cdn-shop.adafruit.com/fonts/proximanova/proximanova-semibold-webfont.woff2" as="font" type="font/woff2" crossorigin> <script> var dataLayer = []; function gtag(){dataLayer.push(arguments);} </script> <!-- 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-PRPXBQ6');</script> <!-- End Google Tag Manager --> <script> gtag('js', new Date()); </script> <meta name='viewport' content='initial-scale=1, viewport-fit=cover'> <!-- <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> --> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <script> window.rails_env = 'production'; </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "https://learn.adafruit.com/", "potentialAction": { "@type": "SearchAction", "target": "https://learn.adafruit.com/search?q={search_term}", "query-input": "required name=search_term" } } </script> <script src="/assets/application-3792cf70.js" data-turbo-track="reload" type="module"></script> </head> <body class="application user users show production"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PRPXBQ6" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="outer-wrapper"> <div id="inner-wrapper"> <div id="messaging-wrapper" class="messages-container" data-load="https://www.adafruit.com/api/multi_message.php"></div> <a data-turbo="false" class="skip-to-main" href="#main-content-container">Skip to main content</a> <header id="adafruit-header" aria-label="Adafruit header"> <div id="small-header"> <div class="first-row"> <nav aria-label="Adafruit applications menu"> <ul class="application-links"> <li><a aria-label="Adafruit Shop" href="https://www.adafruit.com">Shop</a></li> <li class="selected"><a aria-label="Adafruit Learning System" href="https://learn.adafruit.com">Learn</a></li> <li><a aria-label="Adafruit Blog" href="https://blog.adafruit.com">Blog</a></li> <li><a aria-label="Adafruit Forums and Support" href="https://forums.adafruit.com">Forums</a></li> <li><a aria-label="Adafruit IO, the internet of things" href="https://io.adafruit.com">IO</a></li> <li><a aria-label="Adafruit Youtube Videos" href="https://www.youtube.com/adafruit/live">LIVE!</a></li> <li><a aria-label="Adafruit product box subscription" href="https://www.adabox.com">AdaBox</a></li> </ul> </nav> </div> <div class="second-row"> <div class="row-content"> <div id="mobile-header-logo"> <a href="https://learn.adafruit.com"> <img id="small-logo" height="50" width="50" alt="Adafruit Logo" src="/logos/adafruit_logo_small.png?-4044135477562173491" /> </a> </div> <button id="mobile-menu-button" class="c-hamburger c-hamburger--htx"> <span>toggle menu</span> </button> <div id="mobile-search-wrapper"> <form action="https://learn.adafruit.com/search" method="get"> <label for="mobile-search" style="display:none;">Search</label> <input id="mobile-search" type="text" name="q" autocomplete="off" data-app-id="W9DMM4OTH0" data-app-key="28a76a2b87be38db12283ebda329425a" data-app-index="learn_guides_production" data-app-uri="https://learn.adafruit.com" /> <button type="submit" aria-label="Submit search"><i class="fa fa-search"></i></button> </form> </div> <a id="mobile-header-cart" href="https://www.adafruit.com/shopping_cart"> <span class="small-cart-count" aria-live="polite">0</span> <i class="fa fa-shopping-cart"></i> </a> </div> </div> <nav id="small-header-nav"> <div id="small-menu"> <ul> <li class="account-info"> <a href="/users/sign_in">Sign In</a> | <a href="https://accounts.adafruit.com/">Create Account</a> </li> <li><a href="https://adafruit-playground.com">Playground</a></li> <li><a href="/guides/latest">New Guides</a></li> <li><a href="/groups">Series</a></li> <li><a href="https://www.adafruit.com/wishlists">Wishlists</a></li> <li> <a class="random-guide-link" aria-label="View a Random Guide" href="https://learn.adafruit.com/guides/random"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <g> <g> <path fill="currentColor" d="M478.578,244.475H278.047c-3.81,0-7.42,0.78-10.829,1.961l56.305-56.305c6.306-6.306,9.759-14.706,9.759-23.64 c0-8.935-3.454-17.335-9.759-23.64L190.282,9.609c-12.589-12.611-34.692-12.611-47.281,0L9.759,142.85 C3.454,149.156,0,157.556,0,166.491s3.454,17.335,9.759,23.64l133.242,133.242c6.306,6.306,14.683,9.759,23.64,9.759 c8.957,0,17.335-3.454,23.64-9.759l56.305-56.305c-1.181,3.409-1.961,7.019-1.961,10.829v200.531 c0,18.427,14.995,33.422,33.422,33.422h200.531c18.427,0,33.422-14.995,33.422-33.422V277.897 C512,259.47,497.005,244.475,478.578,244.475z M182.394,271.368c-4.345,4.345-10.049,6.506-15.753,6.506 s-11.408-2.161-15.753-6.506c-8.712-8.69-8.712-22.816,0-31.506c8.69-8.712,22.816-8.712,31.506,0 C191.106,248.552,191.106,262.679,182.394,271.368z M182.394,182.244c-4.345,4.345-10.049,6.506-15.753,6.506 c-5.704,0-11.408-2.161-15.753-6.506c-8.712-8.69-8.712-22.816,0-31.506c8.69-8.712,22.816-8.712,31.506,0 C191.106,159.428,191.106,173.554,182.394,182.244z M182.394,93.119c-4.345,4.345-10.049,6.506-15.753,6.506 c-5.704,0-11.408-2.161-15.753-6.506c-8.712-8.69-8.712-22.816,0-31.506c8.69-8.712,22.816-8.712,31.506,0 C191.106,70.303,191.106,84.429,182.394,93.119z M311.469,467.287c-12.277,0-22.281-9.982-22.281-22.281 c0-12.299,10.004-22.281,22.281-22.281c12.277,0,22.281,9.982,22.281,22.281C333.75,457.305,323.746,467.287,311.469,467.287z M311.469,333.6c-12.277,0-22.281-9.982-22.281-22.281c0-12.299,10.004-22.281,22.281-22.281c12.277,0,22.281,9.982,22.281,22.281 C333.75,323.618,323.746,333.6,311.469,333.6z M378.313,400.444c-12.277,0-22.281-9.982-22.281-22.281 c0-12.299,10.004-22.281,22.281-22.281s22.281,9.982,22.281,22.281C400.594,390.462,390.59,400.444,378.313,400.444z M445.156,467.287c-12.277,0-22.281-9.982-22.281-22.281c0-12.299,10.004-22.281,22.281-22.281s22.281,9.982,22.281,22.281 C467.438,457.305,457.433,467.287,445.156,467.287z M445.156,333.6c-12.277,0-22.281-9.982-22.281-22.281 c0-12.299,10.004-22.281,22.281-22.281s22.281,9.982,22.281,22.281C467.438,323.618,457.433,333.6,445.156,333.6z"/> </g> </g> </svg> </a> </li> </ul> </div> <div id="mobile-search-results"></div> </nav> </div> <div id="large-header"> <nav class="first-row" aria-label="Adafruit main site"> <div class="row-content"> <nav aria-label="Adafruit applications menu"> <ul class="application-links"> <li><a aria-label="Adafruit Shop" href="https://www.adafruit.com">Shop</a></li> <li class="selected"><a aria-label="Adafruit Learning System" href="https://learn.adafruit.com">Learn</a></li> <li><a aria-label="Adafruit Blog" href="https://blog.adafruit.com">Blog</a></li> <li><a aria-label="Adafruit Forums and Support" href="https://forums.adafruit.com">Forums</a></li> <li><a aria-label="Adafruit IO, the internet of things" href="https://io.adafruit.com">IO</a></li> <li><a aria-label="Adafruit Youtube Videos" href="https://www.youtube.com/adafruit/live">LIVE!</a></li> <li><a aria-label="Adafruit product box subscription" href="https://www.adabox.com">AdaBox</a></li> </ul> </nav> <div id="account"> <span class="sign-out"><a href="/users/sign_in">Sign In</a></span> <div class="cart"> <a aria-label="Shopping Cart, 0 items" aria-live="polite" href="https://www.adafruit.com/shopping_cart"> <i class="fa fa-shopping-cart"></i> 0 </a> </div> </div> </div> </nav> <nav class="second-row" aria-label="Adafruit Learn application"> <div class="row-content"> <div class="left-content"> <div id="logo"> <a title="Adafruit Learning System" href="https://learn.adafruit.com"> <img alt="Adafruit Logo" src="/logos/logo_2x.png?-4044135477562173491" /> </a> </div> <ul class="main-nav-links"> <li class="dropdown with-overlay nav-link"> <button class="dropdown-label" aria-haspopup="true">Explore & Learn</button> <div class="dropdown-container"> <div class="dropdown-content" tabindex="-1"> <div class="flyout"> <div class="three-panels"> <div class="first-column"> <div class="content-header"> <span class="title">Learn Categories</span> </div> <div class="categories"> <ul> <li><a href="https://learn.adafruit.com/category/3d-printing">3D Printing</a></li> <li><a href="https://learn.adafruit.com/category/adabox">AdaBox</a></li> <li><a href="https://learn.adafruit.com/category/adafruit-products">Adafruit Products</a></li> <li><a href="https://learn.adafruit.com/category/arduino">Arduino Compatibles</a></li> <li><a href="https://learn.adafruit.com/category/breakout-boards">Breakout Boards</a></li> <li><a href="https://learn.adafruit.com/category/circuit-playground">Circuit Playground</a></li> <li><a href="https://learn.adafruit.com/category/circuitpython">CircuitPython</a></li> <li><a href="https://learn.adafruit.com/category/clue">CLUE</a></li> <li><a href="https://learn.adafruit.com/category/community-support">Community Support</a></li> <li><a href="https://learn.adafruit.com/category/components">Components</a></li> <li><a href="https://learn.adafruit.com/category/crickit">Crickit</a></li> <li><a href="https://learn.adafruit.com/category/customer-projects">Customer &amp; Partner Projects</a></li> <li><a href="https://learn.adafruit.com/category/development-boards">Development Boards</a></li> <li><a href="https://learn.adafruit.com/category/educators">Educators</a></li> <li><a href="https://learn.adafruit.com/category/el">EL Wire/Tape/Panel</a></li> <li><a href="https://learn.adafruit.com/category/feather">Feather</a></li> <li><a href="https://learn.adafruit.com/category/gaming-1">Gaming</a></li> </ul> <ul> <li><a href="https://learn.adafruit.com/category/hacks">Hacks</a></li> <li><a href="https://learn.adafruit.com/category/internet-of-things-iot">Internet of Things - IOT</a></li> <li><a href="https://learn.adafruit.com/category/lcds-and-displays">LCDs &amp; Displays</a></li> <li><a href="https://learn.adafruit.com/category/leds">LEDs</a></li> <li><a href="https://learn.adafruit.com/category/machine-learning">Machine Learning</a></li> <li><a href="https://learn.adafruit.com/category/makecode">MakeCode</a></li> <li><a href="https://learn.adafruit.com/category/maker-business">Maker Business</a></li> <li><a href="https://learn.adafruit.com/category/micro-bit">micro:bit</a></li> <li><a href="https://learn.adafruit.com/category/microcontrollers">Microcontrollers</a></li> <li><a href="https://learn.adafruit.com/category/programming">Programming</a></li> <li><a href="https://learn.adafruit.com/category/raspberry-pi">Raspberry Pi</a></li> <li><a href="https://learn.adafruit.com/category/robotics">Robotics &amp; CNC</a></li> <li><a href="https://learn.adafruit.com/category/sensors">Sensors</a></li> <li><a href="https://learn.adafruit.com/category/stemma">STEMMA</a></li> <li><a href="https://learn.adafruit.com/category/tools">Tools</a></li> <li><a href="https://learn.adafruit.com/category/trellis">Trellis</a></li> <li><a href="https://learn.adafruit.com/category/wearables">Wearables</a></li> </ul> </div> </div> <div class="middle-column"> </div> <div class="last-column hide-md"> <section class="image-content-card"> <img data-src="https://learn.adafruit.com/assets/headlines/stemma-690676c3.jpg" class="lazy" aria-hidden="true" alt="Explore, Groups to get your gears turning" src="data:," /> <div class="text"> <div class="main"> <span>Explore</span> </div> <div class="tagline"> <span>Groups to get your gears turning</span> </div> </div> <div class="button"> <a title="Groups to get your gears turning, Explore" href="https://learn.adafruit.com/explore">Explore Groups</a> </div> </section> </div> </div> </div> </div> </div> </li> <li class="nav-link"> <a class="new-guides-link" href="https://learn.adafruit.com/guides/latest">New Guides</a> </li> <li class="nav-link"> <a href="https://adafruit-playground.com">Playground</a> </li> <li class="nav-link"> <a class="random-guide-link" aria-label="View a Random Guide" href="https://learn.adafruit.com/guides/random"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <g> <g> <path fill="currentColor" d="M478.578,244.475H278.047c-3.81,0-7.42,0.78-10.829,1.961l56.305-56.305c6.306-6.306,9.759-14.706,9.759-23.64 c0-8.935-3.454-17.335-9.759-23.64L190.282,9.609c-12.589-12.611-34.692-12.611-47.281,0L9.759,142.85 C3.454,149.156,0,157.556,0,166.491s3.454,17.335,9.759,23.64l133.242,133.242c6.306,6.306,14.683,9.759,23.64,9.759 c8.957,0,17.335-3.454,23.64-9.759l56.305-56.305c-1.181,3.409-1.961,7.019-1.961,10.829v200.531 c0,18.427,14.995,33.422,33.422,33.422h200.531c18.427,0,33.422-14.995,33.422-33.422V277.897 C512,259.47,497.005,244.475,478.578,244.475z M182.394,271.368c-4.345,4.345-10.049,6.506-15.753,6.506 s-11.408-2.161-15.753-6.506c-8.712-8.69-8.712-22.816,0-31.506c8.69-8.712,22.816-8.712,31.506,0 C191.106,248.552,191.106,262.679,182.394,271.368z M182.394,182.244c-4.345,4.345-10.049,6.506-15.753,6.506 c-5.704,0-11.408-2.161-15.753-6.506c-8.712-8.69-8.712-22.816,0-31.506c8.69-8.712,22.816-8.712,31.506,0 C191.106,159.428,191.106,173.554,182.394,182.244z M182.394,93.119c-4.345,4.345-10.049,6.506-15.753,6.506 c-5.704,0-11.408-2.161-15.753-6.506c-8.712-8.69-8.712-22.816,0-31.506c8.69-8.712,22.816-8.712,31.506,0 C191.106,70.303,191.106,84.429,182.394,93.119z M311.469,467.287c-12.277,0-22.281-9.982-22.281-22.281 c0-12.299,10.004-22.281,22.281-22.281c12.277,0,22.281,9.982,22.281,22.281C333.75,457.305,323.746,467.287,311.469,467.287z M311.469,333.6c-12.277,0-22.281-9.982-22.281-22.281c0-12.299,10.004-22.281,22.281-22.281c12.277,0,22.281,9.982,22.281,22.281 C333.75,323.618,323.746,333.6,311.469,333.6z M378.313,400.444c-12.277,0-22.281-9.982-22.281-22.281 c0-12.299,10.004-22.281,22.281-22.281s22.281,9.982,22.281,22.281C400.594,390.462,390.59,400.444,378.313,400.444z M445.156,467.287c-12.277,0-22.281-9.982-22.281-22.281c0-12.299,10.004-22.281,22.281-22.281s22.281,9.982,22.281,22.281 C467.438,457.305,457.433,467.287,445.156,467.287z M445.156,333.6c-12.277,0-22.281-9.982-22.281-22.281 c0-12.299,10.004-22.281,22.281-22.281s22.281,9.982,22.281,22.281C467.438,323.618,457.433,333.6,445.156,333.6z"/> </g> </g> </svg> </a> </li> </ul> </div> <div class="right-content"> <div class="search-wrapper"> <div id="search-info" data-page="" data-app-id="W9DMM4OTH0" data-app-key="28a76a2b87be38db12283ebda329425a" data-app-index="learn_guides_production" data-app-uri="https://learn.adafruit.com"></div> <div id="search"></div> <i class="fa fa-search"></i> </div> </div> </div> </nav> </div> </header> <turbo-frame id="flash"></turbo-frame> <main id="main-content"> <div id="main-content-container" tabindex="-1"> <div class="toolbar-primary "> <div class="content"> <div class="left-content"> <div class="breadcrumbs" aria-label="Breadcrumbs"> <a href="https://learn.adafruit.com/"><i class='fa fa-home' role='img' title="Learn home"></i></a> <i class="fa fa-chevron-right separator"></i> <a href="/u/brubell">brubell</a> </div> </div> <div class="right-content"> </div> </div> </div> <article class="right-sidebar-layout"> <header class="sidebar"> <div class="title-bar"> <img alt="Image for user brubell" class="user-image" src="https://secure.gravatar.com/avatar/d9286a381b48c98acdeb542589a61db4?s=100" /> <span> <h1>brubell</h1> <div><a href="/u/brubell">u/brubell</a></div> </span> </div> </header> <section class="main"> <div class="guides"> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/no-code-offline-data-logging-with-wippersnapper"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/185/medium640/cropped-IMG_4424.JPG?1740686308" aria-hidden="true" alt="An Adafruit Feather RP2040 Adalogger connected to an Adafruit BME280 breakout. The products are above a file which shows data logged from the sensor." class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/no-code-offline-data-logging-with-wippersnapper"> No-Code Offline Data Logger with WipperSnapper </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Looking to build an electronics project that logs data to a MicroSD card?聽 Build a simple datalogger that can log temperature, barometric pressure, and humidity to a microSD card, without programming! Install WipperSnapper&#39;s offline mode firmware on an Adafruit Feather RP2040 Adalogger, use a microSD card for storage, and add a configuration file to use the Feather RP2040 with the BME280 Humidity + Barometric Pressure + Temperature Sensor breakout.聽 </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/where-s-my-friend-a-location-display-frame-with-pyportal"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/056/medium640thumb/IMG_14631-ezgif.com-video-to-gif-converter.gif?1722955456" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/056/medium640mp4/IMG_14631-ezgif.com-video-to-gif-converter.mp4?1722955456"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/056/medium640webm/IMG_14631-ezgif.com-video-to-gif-converter.webm?1722955456" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Where&#39;s My Friend? A Location-Aware Display with PyPortal and ItsASnap. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/056/medium640thumb/IMG_14631-ezgif.com-video-to-gif-converter.gif?1722955456" aria-hidden="true" alt="An Adafruit PyPortal displaying a location" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/where-s-my-friend-a-location-display-frame-with-pyportal"> Where&#39;s My Friend? A Location-Aware Display with PyPortal and ItsASnap </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> This IoT project helps you display a friend&#39;s or loved one&#39;s location on an Adafruit PyPortal. This project uses the ItsaSnap iOS app and Apple Shortcuts to send a phone&#39;s GPS location to a shared Adafruit IO feed. An Adafruit PyPortal connects to the internet, fetches location data from the shared feed, and displays it on the screen. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/face-tracking-robot-with-memento"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/957/medium640thumb/hero-shoulder-follow-gavin-medium.gif?1709585426" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/957/medium640mp4/hero-shoulder-follow-gavin-medium.mp4?1709585426"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/957/medium640webm/hero-shoulder-follow-gavin-medium.webm?1709585426" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Face Tracking Robot with MEMENTO. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/957/medium640thumb/hero-shoulder-follow-gavin-medium.gif?1709585426" aria-hidden="true" alt="A GIF of a robot on a shoulder tracking the face of a boy" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/face-tracking-robot-with-memento"> Face Tracking Robot with MEMENTO </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> This guide builds a computer vision system from a previous guide to build a playful robot that uses the Adafruit MEMENTO to capture an image, detect a face, and track it until the face is no longer in the frame. This is a great intermediate-level project for trying out machine learning, computer vision, and robotics. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/facial-detection-and-recognition-with-memento"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/944/medium640/memento_fd.png?1707245518" aria-hidden="true" alt="Memento camera tracking a face" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/facial-detection-and-recognition-with-memento"> Facial Detection and Recognition with MEMENTO </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Want to play around with computer vision &quot;at the edge&quot; without the overhead and complexity of compiling a dataset and training a model? This guide turns the MEMENTO into a camera that can both detect and recognize faces! </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/diy-iot-doorbell-camera-with-memento"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/920/medium640thumb/guide-thumb.gif?1706625340" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/920/medium640mp4/guide-thumb.mp4?1706625340"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/920/medium640webm/guide-thumb.webm?1706625340" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide DIY IoT Doorbell Camera with MEMENTO. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/920/medium640thumb/guide-thumb.gif?1706625340" aria-hidden="true" alt="A GIF of a doorbell with it&#39;s button being pressed" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/diy-iot-doorbell-camera-with-memento"> DIY IoT Doorbell Camera with MEMENTO </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Build a simple IoT doorbell camera using Adafruit&#39;s MEMENTO. Press a mini LED arcade button to snap a photo and display it on an Adafruit IO Dashboard. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/no-code-ikea-vindriktning-hack-with-qt-py-esp32-s3-and-adafruit-io"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/908/medium640/IMG_9799.JPG?1701291874" aria-hidden="true" alt="a air quality sensor next to a phone showing humidity and AQI" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/no-code-ikea-vindriktning-hack-with-qt-py-esp32-s3-and-adafruit-io"> No-Code IKEA Vindriktning Air Quality Sensor Hack with Adafruit IO </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> In this guide, you will modify the IKEA Vindriktning air quality sensor by adding a microcontroller (an Adafruit QT Py ESP32-S3) inside it. You&#39;ll also add a BME280 sensor inside the Vindriktning, giving it the capability to also read temperature, relative humidity, and air pressure in addition to air quality. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/quick-start-the-pico-w-with-wippersnapper"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/720/medium640/ws-header.jpg?1672345266" aria-hidden="true" alt="Image of the Raspberry Pi Pico W with the WipperSnapper Logo in the background" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/quick-start-the-pico-w-with-wippersnapper"> Quick Start: Pico W / 2W with WipperSnapper </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> The Raspberry Pi Pico W is an inexpensive WiFi microcontroller from Raspberry Pi. This guide covers setting up the Pico W (or Pico 2W) with WipperSnapper, the Adafruit no-code IoT firmware, and connecting it to the Cloud. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/how-to-add-a-new-board-to-wippersnapper"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/573/medium640/adafruit_io_image.png?1651082939" aria-hidden="true" alt="A new microcontroller board is detected by Adafruit.io WipperSnapper" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/how-to-add-a-new-board-to-wippersnapper"> How to Add a New Board to WipperSnapper </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> This guide will walk you through the process of adding a new board to Adafruit.io WipperSnapper - a no-code IoT platform designed for experimentation. Upon completion of the guide, your board will be included with every new release of the WipperSnapper library. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/how-to-add-a-new-component-to-adafruit-io-wippersnapper"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/520/medium640/ws_your_here.png?1646858889" aria-hidden="true" alt="" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/how-to-add-a-new-component-to-adafruit-io-wippersnapper"> How to Add a New Sensor or Component to Adafruit IO WipperSnapper </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> If you don&#39;t see the component you need for your IoT project on Adafruit.io, you can make an input, output, or sensor component and add it to WipperSnapper </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/quickstart-adafruit-io-wippersnapper"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/351/medium640/adafruit_products_devicepage.png?1649888040" aria-hidden="true" alt="" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/quickstart-adafruit-io-wippersnapper"> Quickstart: Adafruit IO WipperSnapper </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Snap-togther your Internet of Things (IoT) project with WipperSnapper! This guide walks you through the process of installing WipperSnapper on a new development board, a brief overview of the WipperSnapper platform, and instructions for adding and interacting with physical components from the web. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/quickstart-raspberry-pi-rp2040-with-ble-and-circuitpython"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/286/medium640thumb/ezgif.com-gif-maker_%282%29.gif?1616702148" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/286/medium640mp4/ezgif.com-gif-maker_%282%29.mp4?1616702148"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/286/medium640webm/ezgif.com-gif-maker_%282%29.webm?1616702148" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Quickstart - Raspberry Pi RP2040 with BLE and CircuitPython. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/286/medium640thumb/ezgif.com-gif-maker_%282%29.gif?1616702148" aria-hidden="true" alt="Quickstart - Raspberry Pi RP2040 with BLE and CircuitPython" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/quickstart-raspberry-pi-rp2040-with-ble-and-circuitpython"> Quickstart - Raspberry Pi RP2040 with BLE and CircuitPython </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Add Bluetooth Low Energy (BLE) connectivity to your RP2040 by adding an Adafruit AirLift ESP32 processor. This guide covers upgrading the BLE firmware on an AirLift module, examples for using the RP2040 as a Bluetooth peripheral with CircuitPython, and instructions to adapt existing CircuitPython BLE code for use with the AirLift. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/quickstart-rp2040-pico-with-wifi-and-circuitpython"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/275/medium640thumb/ezgif.com-gif-maker.gif?1614978852" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/275/medium640mp4/ezgif.com-gif-maker.mp4?1614978852"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/275/medium640webm/ezgif.com-gif-maker.webm?1614978852" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Quickstart IoT - Raspberry Pi Pico RP2040 with WiFi . </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/275/medium640thumb/ezgif.com-gif-maker.gif?1614978852" aria-hidden="true" alt="Quickstart IoT - Raspberry Pi Pico RP2040 with WiFi " class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/quickstart-rp2040-pico-with-wifi-and-circuitpython"> Quickstart IoT - Raspberry Pi Pico RP2040 with WiFi </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Connect your Raspberry Pi RP2040 CircuitPython project to the internet by adding an Adafruit AirLift breakout board. In this guide, you&#39;ll wire up a Raspberry Pi Pico RP2040 with an AirLift breakout board. You&#39;ll connect your Raspberry Pi Pico to the internet and parse raw text and JSON data. Finally, you&#39;ll connect to Adafruit IO to send and receive data from your Pico. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/magtag-google-calendar-event-display"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/235/medium640/IMG_9235.JPG?1610563395" aria-hidden="true" alt="MagTag Google Calendar Event Display" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/magtag-google-calendar-event-display"> MagTag Google Calendar Event Display </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Never miss a meeting again with this Google Calendar Event Display. This project uses a MagTag to fetch and display upcoming events from your Google Calendar. This CircuitPython project uses the Google Calendar API to retrieve a list of the latest events from your Google Calendar and displays them on the MagTag&#39;s crisp e-Ink screen. Between fetching new events on your schedule, the MagTag goes into a deep sleep mode to conserve battery life.聽 </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/pyportal-google-calendar-event-display"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/236/medium640/IMG_9189.JPG?1610551113" aria-hidden="true" alt="PyPortal Google Calendar Event Display" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/pyportal-google-calendar-event-display"> PyPortal Google Calendar Event Display </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Never miss a meeting again with this Google Calendar Event Display. This project uses an Adafruit PyPortal to fetch and display upcoming events from your Google Calendar. This CircuitPython project uses the Google Calendar API to retrieve a list of the latest events from your Google Calendar and displays them on the PyPortal&#39;s LCD screen. </div> </div> </div> <div class="guide-detailed-preview"> <div class="image-container"> <a href="/magtag-twitter-display"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/222/medium640/wireless_PXL_20201228_160905815.jpg?1609172128" aria-hidden="true" alt="MagTag Twitter Display" class="image-preview lazy" src="data:," /> </a> </div> <div class="details"> <a class="title" href="/magtag-twitter-display"> MagTag Twitter Display </a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/brubell"> <span class="name">Brent Rubell</span> </a> </div> <div class="description"> Stay up to date with this MagTag Twitter display. This guide shows how to use an Adafruit MagTag, CircuitPython and the Twitter API to display the latest tweets from a Twitter account. </div> </div> </div> </div> <div class="pagination"> <ul> <li class="active numbered-page"> <a href="#">1</a> </li> <li class=" numbered-page"> <a rel="next" href="/u/brubell?guides=2">2</a> </li> <li class=" numbered-page"> <a href="/u/brubell?guides=3">3</a> </li> <li class=" numbered-page"> <a href="/u/brubell?guides=4">4</a> </li> <li class=" numbered-page"> <a href="/u/brubell?guides=5">5</a> </li> <li class="disabled"> <a href="#">&hellip;</a> </li> <li> <a rel="next" href="/u/brubell?guides=2">Next</a> </li> <li class="last-page"> <a href="/u/brubell?guides=6">Last</a> </li> </ul> </div> </section> </article> </div> <div id="search-container"> <div class="toolbar-primary"> <div class="content"> <div class="left-content"> <div class="breadcrumbs"> <a href="https://learn.adafruit.com" aria-label="Home page"><i class='fa fa-home'></i></a> <i class="fa fa-chevron-right separator"></i> Search <i class="fa fa-chevron-right separator"></i> </div> </div> </div> </div> <div class="sub-header"> <div class="header-intro"> <h1 class="title">Search</h1> </div> <div class="header-main-content-wrapper"> <div class="header-main-content"> <div id="search-refinements" class="breakdown"> </div> </div> </div> </div> <div class="search-content left-sidebar-layout"> <div> <div class="facets-wrapper"> <h5 class="search-refinement-header">Categories</h5> <div id="search-categories"></div> </div> </div> <div> <div id="search-results" class="search-content-card-group"></div> <div id="search-pagination" class="pagination"></div> </div> </div> </div> <div id="remote-modal-wrapper"></div> <div id='main-content-overlay'></div> </main> <footer id="adafruit-footer"> <div class="footer-container"> <div class="application-support-link"> <div> <ul> <li> <a href="https://www.adafruit.com/contact_us">Contact Us</a> </li> <li> <a href="https://forums.adafruit.com/">Tech Support Forums</a> </li> <li> <a href="https://www.adafruit.com/faq">FAQs</a> </li> <li> <a href="https://www.adafruit.com/shippinginfo">Shipping &amp; Returns</a> </li> <li> <a href="https://www.adafruit.com/free">Freebies</a> </li> <li> <a href="https://www.adafruit.com/terms_of_service">Terms of Service</a> </li> <li> <a href="https://www.adafruit.com/privacy">Privacy &amp; Legal</a> </li> <li> <a href="https://www.adafruit.com/accessibility">Website Accessibility</a> </li> </ul> </div> <div> <ul> <li> <a href="https://www.adafruit.com/about">About Us</a> </li> <li> <a href="https://www.adafruit.com/press">Press</a> </li> <li> <a href="https://www.adafruit.com/educators">Educators</a> </li> <li> <a href="https://www.adafruit.com/distributors">Distributors</a> </li> <li> <a href="https://jobs.adafruit.com">Jobs</a> </li> <li> <a href="https://www.adafruit.com/category/14">Gift Cards</a> </li> </ul> </div> </div> <aside> <div class="quote">"I always wanted to be someone better the next day than I was the day before"</div> <div class="quote-attribution"><a href="https://blog.adafruit.com/2022/01/07/sidney-poitier-who-paved-the-way-for-black-actors-in-film-dies-at-94/">Sidney Poitier</a></div> </aside> </div> <div class="footer-container bottom"> <a title="About Adafruit" id="footer-logo" href="https://learn.adafruit.com"> <img alt="Adafruit Logo" src="/logos/adafruit_logo_small.png?1852144339776377062" /> </a> <div class="social-links"> <a href="https://www.instagram.com/adafruit/" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on Instagram"><i class="fa fa-instagram" aria-hidden="true"></i></a> <a href="https://twitter.com/adafruit/" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i></a> <a class="mastodon-logo" href="https://mastodon.cloud/@adafruit" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on Mastodon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 216.4144 232.00976"><path class="logo" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915" fill="currentColor"/><path d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675" fill="#000"/></svg></a> <a href="https://www.facebook.com/adafruitindustries" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on Facebook"><i class="fa fa-facebook" aria-hidden="true"></i></a> <a href="https://www.youtube.com/adafruit" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on YouTube"><i class="fa fa-youtube" aria-hidden="true"></i></a> <a href="https://github.com/adafruit" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on Github"><i class="fa fa-github" aria-hidden="true"></i></a> <a class="tiktok-logo" aria-label="Adafruit on TikTok" href="https://www.tiktok.com/@adafruit" target="_blank" rel="noopener noreferrer"><svg viewBox="3 2 20 22" xmlns="http://www.w3.org/2000/svg"><path class="logo" d="M19.8059 7.50695C18.7771 7.50695 17.8278 7.16612 17.0655 6.59113C16.1912 5.93198 15.5631 4.9651 15.3412 3.85069C15.2863 3.57534 15.2567 3.29119 15.2539 3H12.3149V11.0308L12.3114 15.4297C12.3114 16.6057 11.5455 17.6029 10.4839 17.9536C10.1758 18.0553 9.8431 18.1036 9.49663 18.0846C9.05438 18.0603 8.63995 17.9268 8.27975 17.7113C7.51322 17.2529 6.99351 16.4212 6.97942 15.4698C6.95724 13.9829 8.15933 12.7706 9.64522 12.7706C9.93852 12.7706 10.2202 12.8185 10.4839 12.9054V10.7104V9.92134C10.2058 9.88015 9.92268 9.85867 9.63641 9.85867C8.01004 9.85867 6.48894 10.5347 5.40164 11.7526C4.57982 12.6731 4.08687 13.8473 4.01082 15.0786C3.91117 16.6962 4.50306 18.2339 5.65093 19.3683C5.81959 19.5349 5.9967 19.6895 6.1819 19.8321C7.16604 20.5894 8.36919 21 9.63641 21C9.92268 21 10.2058 20.9789 10.4839 20.9377C11.6677 20.7623 12.7599 20.2204 13.6219 19.3683C14.681 18.3215 15.2662 16.9318 15.2726 15.4526L15.2574 8.88369C15.7627 9.27347 16.3152 9.596 16.9081 9.84635C17.8303 10.2354 18.8081 10.4326 19.8144 10.4322V8.29814V7.50625C19.8151 7.50695 19.8066 7.50695 19.8059 7.50695Z" fill="currentColor"/></svg></a> <a class="tumblr-logo" aria-label="Adafruit on Tumblr" href="https://adafruit.tumblr.com/" target="_blank" rel="noopener noreferrer"><i class="fa fa-tumblr" aria-hidden="true"></i></a> <a class="threads-logo" href="https://www.threads.net/@adafruit" target="_blank" rel="noopener noreferrer" aria-label="Adafruit on Threads"><span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M331.5 235.7c2.2 .9 4.2 1.9 6.3 2.8c29.2 14.1 50.6 35.2 61.8 61.4c15.7 36.5 17.2 95.8-30.3 143.2c-36.2 36.2-80.3 52.5-142.6 53h-.3c-70.2-.5-124.1-24.1-160.4-70.2c-32.3-41-48.9-98.1-49.5-169.6V256v-.2C17 184.3 33.6 127.2 65.9 86.2C102.2 40.1 156.2 16.5 226.4 16h.3c70.3 .5 124.9 24 162.3 69.9c18.4 22.7 32 50 40.6 81.7l-40.4 10.8c-7.1-25.8-17.8-47.8-32.2-65.4c-29.2-35.8-73-54.2-130.5-54.6c-57 .5-100.1 18.8-128.2 54.4C72.1 146.1 58.5 194.3 58 256c.5 61.7 14.1 109.9 40.3 143.3c28 35.6 71.2 53.9 128.2 54.4c51.4-.4 85.4-12.6 113.7-40.9c32.3-32.2 31.7-71.8 21.4-95.9c-6.1-14.2-17.1-26-31.9-34.9c-3.7 26.9-11.8 48.3-24.7 64.8c-17.1 21.8-41.4 33.6-72.7 35.3c-23.6 1.3-46.3-4.4-63.9-16c-20.8-13.8-33-34.8-34.3-59.3c-2.5-48.3 35.7-83 95.2-86.4c21.1-1.2 40.9-.3 59.2 2.8c-2.4-14.8-7.3-26.6-14.6-35.2c-10-11.7-25.6-17.7-46.2-17.8H227c-16.6 0-39 4.6-53.3 26.3l-34.4-23.6c19.2-29.1 50.3-45.1 87.8-45.1h.8c62.6 .4 99.9 39.5 103.7 107.7l-.2 .2zm-156 68.8c1.3 25.1 28.4 36.8 54.6 35.3c25.6-1.4 54.6-11.4 59.5-73.2c-13.2-2.9-27.8-4.4-43.4-4.4c-4.8 0-9.6 .1-14.4 .4c-42.9 2.4-57.2 23.2-56.2 41.8l-.1 .1z"/></svg></span></a> <a class="discord-logo" aria-label="Adafruit on Discord" href="https://adafru.it/discord" target="_blank" rel="noopener noreferrer"><svg style="height: 1em; margin-bottom: -0.15em" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36"><path fill="currentColor" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"/></svg></a> <a class="bluesky-logo" aria-label="Adafruit on Bluesky" href="https://bsky.app/profile/adafruit.com" target="_blank" rel="noopener noreferrer"><svg style="height: 1em; margin-bottom: -0.15em" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z"/></svg> </a> </div> <div class="footer-messaging"> <a href="https://www.adafruit.com/about">A Minority and Woman-owned Business Enterprise (M/WBE)</a> </div> </div> </footer> </div> </div> </body> </html>

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