CINXE.COM
Overview | IOT Moon Phase Guide | 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>Overview | IOT Moon Phase Guide | Adafruit Learning System</title> <meta name="guide-title" content="IOT Moon Phase Guide"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@adafruit"> <meta name="twitter:title" content="IOT Moon Phase Guide"> <meta name="twitter:description" content="Make an Internet of Things Moon Phase Clock"> <meta name="twitter:image:src" content="https://cdn-learn.adafruit.com/guides/images/000/004/213/medium800/hero-moon-close.jpg"> <meta name="twitter:domain" content="https://learn.adafruit.com"> <link rel="canonical" href="https://learn.adafruit.com/moon-phase/overview" /> <meta name="title" property="og:title" content="IOT Moon Phase Guide" /> <meta name="description" property="og:description" content="Build an LED Moon Phase clock that updates throughout the cycle!" /> <meta property="og:type" content="website" /> <meta name="image" property="og:image" content="https://cdn-learn.adafruit.com/guides/images/000/004/213/medium800/hero-moon-close.jpg" /> <meta name="url" property="og:url" content="https://learn.adafruit.com/moon-phase/overview" /> <meta name="site_name" property="og:site_name" content="Adafruit Learning System" /> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "https://learn.adafruit.com/moon-phase/overview", "name": "IOT Moon Phase Guide", "description": "Build an LED Moon Phase clock that updates throughout the cycle!", "publisher": "Adafruit", "datePublished": "2025-03-18T23:54:34-04:00", "potentialAction": { "@type": "SearchAction", "target": "https://learn.adafruit.com/search?q={search_term}", "query-input": "required name=search_term" }, "author": { "@type": "Person", "name": "Ruiz Brothers" } } </script> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="qrI14LyIEIhlbgyIP_KlYcIodvqGyzrCV0nIi6zIRq8jO_EKgzpW8sHa7xOEKrmO6lMs8BVpteuw3TBKeMz11w" /> <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> <script> gtag("event", "view_item_list", { item_list_id: "4213:30078", item_list_name: "moon-phase/overview", items: [ { "item_id": "5325", "item_name": "Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT", "affiliation": "Featured Product" }, { "item_id": "6016", "item_name": "Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter", "affiliation": "Featured Product" }, { "item_id": "1663", "item_name": "3-pin JST SM Plug + Receptacle Cable Set", "affiliation": "Featured Product" }, { "item_id": "5044", "item_name": "Pink and Purple Woven USB A to USB C Cable - 2 meters long", "affiliation": "Featured Product" }, { "item_id": 5325, "item_name": "Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT", "affiliation": "Inline Product" }, { "item_id": 6016, "item_name": "Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter", "affiliation": "Inline Product" }, { "item_id": 1663, "item_name": "3-pin JST SM Plug + Receptacle Cable Set", "affiliation": "Inline Product" }, { "item_id": 5044, "item_name": "Pink and Purple Woven USB A to USB C Cable - 2 meters long", "affiliation": "Inline Product" } ] }); </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 pages 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?-309863008514300399" /> </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?-309863008514300399" /> </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 & 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 & 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 & 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="/moon-phase">IOT Moon Phase Guide</a> <i class="fa fa-chevron-right separator"></i> Overview </div> </div> <div class="right-content"> </div> </div> </div> <article id="content-wrapper" lang="en" class="" data-page-id="30078" data-guide-id="4213"> <header aria-label="Guide information" class="title-header"> <h1 class="title" aria-label="Guide title">IOT Moon Phase Guide</h1> <div class="details"> <img alt="Image for user pixil3d" class="user-image" src="https://secure.gravatar.com/avatar/aeac7f36833142722d3ec5979af5b796?s=100" /> <div class="metadata"> <div class="byline"> by <a aria-label="Guide author" data-turbo="false" href="/u/pixil3d">Ruiz Brothers</a> and <span class="dropdown floating-dropdown"> <button class="dropdown-icon" title="Guide contributors" aria-haspopup="true"> 1 other contributor </button> <div class="dropdown-container"> <div class="dropdown-content" tabindex="-1"> <strong>Contributors:</strong> <ul> <li> <a data-turbo="false" href="/u/BlitzCityDIY">Liz Clark</a> </li> </ul> </div> </div> </span> </div> <div class="updated"> published March 18, 2025, last edited March 18, 2025<br> </div> <div class="small"> posted in </div> </div> <span class="right-content" role="region" aria-live="polite"> <div class="badges"></div> <div class="buttons"> <span id="guide-favorite"> <span data-controller="modals"> <a data-action="click->modals#show" class="bg-btn-secondary" aria-label="Select to Save this guide." href="/guides/4213/favorites"> <i class="fa fa-bookmark-o"></i> Save </a> <div class="dialog-container modal" id="favorites-modal" data-modals-target="modal" aria-labelledby="dialog-title" aria-hidden="true"> <div class="dialog-overlay" data-a11y-dialog-hide></div> <div class="dialog-content dialog-small"> <div class="dialog-header"> <div> <h5 class="dialog-title">New Favorite</h5> </div> <a href="#" class="dialog-close" data-a11y-dialog-hide="favorites-modal" aria-label="Close this dialog window">×</a> </div> <div class="dialog-body"> <p>Please <a href="https://accounts.adafruit.com/users/sign_in">sign in</a> to include this guide in your list of favorites.</p> <p>You will be redirected back to this guide once you <a href="https://accounts.adafruit.com/users/sign_in">sign in</a>, and can then save this guide as one of your favorites.</p> </div> <div class="dialog-footer"> <a href="#" class="dialog-close" data-a11y-dialog-hide="favorites-modal" aria-label="Close this dialog window">Close</a> </div> </div><!-- /.modal-content --> </div><!-- /.modal --> </span> </span> <a class="bg-btn-secondary" href="https://cdn-learn.adafruit.com/downloads/pdf/moon-phase.pdf"> <i class="fa fa-download"></i> Download </a> </div> </span> </div> </header> <div class="left-sidebar-layout" role="region" aria-label="Page content"> <div class="sidebar"> <nav aria-label="Guide navigation"> <div class="data-group"> <ul class="nested-page-list" aria-label="Guide pages"> <li class='parent active'> <a class="published" href="/moon-phase/overview">Overview</a> </li> <li class='parent '> <a class="published" href="/moon-phase/circuit-diagram">Circuit Diagram</a> </li> <li class='parent '> <a class="published" href="/moon-phase/circuitpython">Install CircuitPython</a> </li> <li class='parent '> <a class="published" href="/moon-phase/create-your-settings-toml-file">Create Your settings.toml File</a> </li> <li class='parent '> <a class="published" href="/moon-phase/code">Code</a> </li> <li class='parent '> <a class="published" href="/moon-phase/3d-printing">3D Printing</a> </li> <li class='parent '> <a class="published" href="/moon-phase/assembly">Assembly</a> </li> </ul> <div class="single-page-spacer"></div> <ul class="nested-page-list" aria-label="Guide resources"> <li> <a href="/moon-phase?view=all">Single page</a> </li> <li> <div id="feedback_page_30078"> <a data-turbo-stream="true" class="feedback-link" title="Feedback? Corrections?" rel="nofollow" href="/feedback/new?page_id=30078"> Feedback? Corrections? </a> </div> </li> </ul> </div> <section class="list-with-header"> <div class="list-header"> Featured Products <span class="view-all"> <a class="featured-products-link" href="/moon-phase/featured_products">view all</a> </span> </div> <ul class="small-product-list"> <li class="small-product-content-card"> <input type="hidden" name="product_analytics_5325" id="product_analytics_5325" value="{ "item_list_id": 3681, "item_list_name": "soil-node", "items": { "item_id": 5325, "item_name": "Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT", "affiliation": "Featured Product" } }" class="product-json" autocomplete="off" /> <div class="product-image"> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/5325-12.jpg' alt='Angled shot of small square purple dev board.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-details"> <div> <a class="product-title" href="https://www.adafruit.com/product/5325">Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT</a> </div> <div class="product-price">$12.50</div> <a id="5325-product" class="product-buy btn-primary " data-pid="5325" data-qty="1" data-name="Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/5325">Add to Cart</a> </div> </li> <li class="small-product-content-card"> <input type="hidden" name="product_analytics_6016" id="product_analytics_6016" value="{ "item_list_id": 4213, "item_list_name": "moon-phase-guide", "items": { "item_id": 6016, "item_name": "Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter", "affiliation": "Featured Product" } }" class="product-json" autocomplete="off" /> <div class="product-image"> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/6016-00.jpg' alt='Angled shot of LED strip in a spiral, emitting pink and blue colors.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-details"> <div> <a class="product-title" href="https://www.adafruit.com/product/6016">Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter</a> </div> <div class="product-price">$24.95</div> <a id="6016-product" class="product-buy btn-primary " data-pid="6016" data-qty="1" data-name="Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/6016">Add to Cart</a> </div> </li> <li class="small-product-content-card"> <input type="hidden" name="product_analytics_1663" id="product_analytics_1663" value="{ "item_list_id": 3950, "item_list_name": "sound-reactive-paper-lanterns-with-led-fx", "items": { "item_id": 1663, "item_name": "3-pin JST SM Plug + Receptacle Cable Set", "affiliation": "Featured Product" } }" class="product-json" autocomplete="off" /> <div class="product-image"> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/1663-00.jpg' alt='Angled shot of 2 3-pin JST SM Plug + Receptacle Cable.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-details"> <div> <a class="product-title" href="https://www.adafruit.com/product/1663">3-pin JST SM Plug + Receptacle Cable Set</a> </div> <div class="product-price">$1.50</div> <a id="1663-product" class="product-buy btn-primary " data-pid="1663" data-qty="1" data-name="3-pin JST SM Plug + Receptacle Cable Set" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/1663">Add to Cart</a> </div> </li> <li class="small-product-content-card"> <input type="hidden" name="product_analytics_5044" id="product_analytics_5044" value="{ "item_list_id": 3795, "item_list_name": "epcot-spaceship-earth-with-wled", "items": { "item_id": 5044, "item_name": "Pink and Purple Woven USB A to USB C Cable - 2 meters long", "affiliation": "Featured Product" } }" class="product-json" autocomplete="off" /> <div class="product-image"> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/5044-04.jpg' alt='Angled shot of a pink/purple woven USB cable plugged into a laptop port and a small dev board.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-details"> <div> <a class="product-title" href="https://www.adafruit.com/product/5044">Pink and Purple Woven USB A to USB C Cable - 2 meters long</a> </div> <div class="product-price">$3.95</div> <a id="5044-product" class="product-buy btn-primary " data-pid="5044" data-qty="1" data-name="Pink and Purple Woven USB A to USB C Cable - 2 meters long" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/5044">Add to Cart</a> </div> </li> </ul> </section> </nav> </div> <div> <div class="badges headline-badges"> <div class="badge favorites " title="Saves"> 4 </div> <div class="badge new"> New </div> <div class="badge skill-level" title="Skill Level"> Beginner </div> <div class="badge skill-level" title="Guide Type"> Project guide </div> <turbo-frame id="display_reactions"> <span class="reactions"> <form data-controller="reactions" action="/guides/4213/reactions/toggle_reaction" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="Mo82bxk-fRfa3B4NWvKBjdRN-QeXPZGP51M93zmEWZHiQtccwabr9gbBCsJVFujyNY8vaNp2t0pywDnMDQz9IQ" autocomplete="off" /> <div class="reaction "> <span class="emoji">馃挕</span> <span class="count">1</span> </div> </form> </span> </turbo-frame> </div> <h2 class="title" aria-label="Page title"> <span id="overview">Overview</span> </h2> <div class="page-content"> <div class="" role="region" aria-label="Page content"> <div class="embed-element"> <div class='build-video'><lite-youtube videoid="NLtVKXIhyEQ" params="feature=oembed" style="background-image: url('data:image/jpeg;base64,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');"> <a href="https://youtu.be/NLtVKXIhyEQ" class="lty-playbtn" title="IOT Moon Phase Clock #3dprinting #adafruit"> <span class="lyt-visually-hidden">Play Video: IOT Moon Phase Clock #3dprinting #adafruit</span> </a> </lite-youtube> </div> </div> <div class="side-element"> <div class="side-images"> <div class="anchor-anchor"> <a href="#step-3195254" class='anchor-link'><span class='fa fa-link'></span></a> </div> <span id="step-3195254" class='anchor-link-target'></span> <a href="/assets/135798"> <video class="135798-asset medium-side-image" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/assets/assets/000/135/798/medium640thumb/3d_printing_phase-loop.jpg?1742229324"> <source src="https://cdn-learn.adafruit.com/assets/assets/000/135/798/medium640mp4/3d_printing_phase-loop.mp4?1742229324"> <source src="https://cdn-learn.adafruit.com/assets/assets/000/135/798/medium640webm/3d_printing_phase-loop.webm?1742229324" type="video/webm; codecs=vp8,vorbis"> Your browser does not support the video tag. </video> </a> </div> <div class="side-text"><div class="text"> <p>Build an internet-connected Moon Phase clock displaying the current moon cycle on a 3D printed topographical relief of the lunar surface!</p> <p><span>Powered by CircuitPython, this clock runs on a QT Py ESP32-S2 with a diffused, high density NeoPixel LED strip.聽</span></p> <p><span>The NeoPixel strip cycles to show the new moon, waxing crescent, first quarter, waxing gibbous, full moon, waning gibbous, third quarter, and waning crescent.</span></p> </div></div> </div> <div class="side-element"> <div class="side-images"> <div class="anchor-anchor"> <a href="#step-3195255" class='anchor-link'><span class='fa fa-link'></span></a> </div> <span id="step-3195255" class='anchor-link-target'></span> <a href="/assets/135799"> <img class='135799-asset medium-side-image' src='https://cdn-learn.adafruit.com/assets/assets/000/135/799/medium640/3d_printing_hero-qtpy.jpg?1742229880' alt='' /> </a> </div> <div class="side-text"><div class="text"> <p><span>This project uses the FarmSense API to get the phase of the moon and Adafruit IO to get the Unix timestamp. A request is made every 6 hours (tracked with ticks) to Adafruit IO and the API.</span></p> </div></div> </div> <div class="element image-element" aria-label="Image: 3d_printing_hero-moon-close.jpg"> <a href="/assets/135800"> <img class="135800-asset" srcset="https://cdn-learn.adafruit.com/assets/assets/000/135/800/small360/3d_printing_hero-moon-close.jpg?1742229960 360w, https://cdn-learn.adafruit.com/assets/assets/000/135/800/medium640/3d_printing_hero-moon-close.jpg?1742229960 640w, https://cdn-learn.adafruit.com/assets/assets/000/135/800/medium800/3d_printing_hero-moon-close.jpg?1742229960 800w, https://cdn-learn.adafruit.com/assets/assets/000/135/800/large1024/3d_printing_hero-moon-close.jpg?1742229960 1024w" sizes="(max-width: 360px) 360px, (max-width: 640px) 640px, (max-width: 800px) 800px, 1024px" src="https://cdn-learn.adafruit.com/assets/assets/000/135/800/medium800/3d_printing_hero-moon-close.jpg?1742229960" alt="3d_printing_hero-moon-close.jpg" /> <span class="image-expand"><i class="fa fa-search-plus"></i></span> </a> </div> <div class="text-element"> <p><span>This project is inspired by聽</span>the <a href="https://makerworld.com/en/models/955117-moon-lamp">Moon Lamp</a> project, originally posted by <a href="https://makerworld.com/en/@MartinKozak">Martin Kozak</a></p> </div> <div class="text-element"> <h2> <div class="anchor-anchor"> <a href="#parts-3195267" class="anchor-link"><span class="fa fa-link"></span></a><span id="parts-3195267" class="anchor-link-target"></span> </div>Parts</h2> </div> <div class='product-element first' data-product-id="5325" aria-labelledby="product-title-5325"> <input type="hidden" name="product_analytics_5325" id="product_analytics_5325" value="{ "item_list_id": "4213:30078", "item_list_name": "moon-phase/overview", "items": { "item_id": 5325, "item_name": "Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT", "affiliation": "Inline Product" } }" class="product-json" autocomplete="off" /> <div class='product-column product-image'> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/5325-12.jpg' alt='Angled shot of small square purple dev board.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-column product-details-wrapper"> <div class='product-details'> <div id="product-title-5325" class='product-title'><a class="product-link" href="https://www.adafruit.com/product/5325">Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT</a> </div> <div class='product-description'>What has your favorite Espressif WiFi microcontroller, comes with our favorite connector - the STEMMA QT, a chainable I2C port, and has...</div> <a class="small" href="/products/5325/guides">guides with product</a> </div> <div class="bottom-section"> <div class='product-price-wrapper'> <div class="product-price">$12.50</div> <div class="in-stock">In Stock</div> </div> <div class='product-buy-wrapper'> <a id="5325-product" class="product-buy btn-primary parts-url" data-pid="5325" data-name="Adafruit QT Py ESP32-S2 WiFi Dev Board with STEMMA QT" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/5325">Add to Cart</a> </div> </div> </div> </div> <div class='product-element ' data-product-id="6016" aria-labelledby="product-title-6016"> <input type="hidden" name="product_analytics_6016" id="product_analytics_6016" value="{ "item_list_id": "4213:30078", "item_list_name": "moon-phase/overview", "items": { "item_id": 6016, "item_name": "Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter", "affiliation": "Inline Product" } }" class="product-json" autocomplete="off" /> <div class='product-column product-image'> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/6016-00.jpg' alt='Angled shot of LED strip in a spiral, emitting pink and blue colors.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-column product-details-wrapper"> <div class='product-details'> <div id="product-title-6016" class='product-title'><a class="product-link" href="https://www.adafruit.com/product/6016">Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter</a> </div> <div class='product-description'>Plug in and glow with this incredible, ultra-high-density NeoPixel strip with an astonishing 180 LEDs/meter. That's no typo; this meter-long strip has 180 miniature NeoPixels...</div> </div> <div class="bottom-section"> <div class='product-price-wrapper'> <div class="product-price">$24.95</div> <div class="in-stock">In Stock</div> </div> <div class='product-buy-wrapper'> <a id="6016-product" class="product-buy btn-primary parts-url" data-pid="6016" data-name="Adafruit NeoPixel Silicone Bead LED Strip - 180 LEDs per Meter" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/6016">Add to Cart</a> </div> </div> </div> </div> <div class='product-element ' data-product-id="1663" aria-labelledby="product-title-1663"> <input type="hidden" name="product_analytics_1663" id="product_analytics_1663" value="{ "item_list_id": "4213:30078", "item_list_name": "moon-phase/overview", "items": { "item_id": 1663, "item_name": "3-pin JST SM Plug + Receptacle Cable Set", "affiliation": "Inline Product" } }" class="product-json" autocomplete="off" /> <div class='product-column product-image'> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/1663-00.jpg' alt='Angled shot of 2 3-pin JST SM Plug + Receptacle Cable.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-column product-details-wrapper"> <div class='product-details'> <div id="product-title-1663" class='product-title'><a class="product-link" href="https://www.adafruit.com/product/1663">3-pin JST SM Plug + Receptacle Cable Set</a> </div> <div class='product-description'>These 3-wire cables are 163mm (6.4") long and come as a set. One cable has a JST SM type connector plug on the end. The other cable has a matching JST SM type receptacle...</div> </div> <div class="bottom-section"> <div class='product-price-wrapper'> <div class="product-price">$1.50</div> <div class="in-stock">In Stock</div> </div> <div class='product-buy-wrapper'> <a id="1663-product" class="product-buy btn-primary parts-url" data-pid="1663" data-name="3-pin JST SM Plug + Receptacle Cable Set" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/1663">Add to Cart</a> </div> </div> </div> </div> <div class='product-element last ' data-product-id="5044" aria-labelledby="product-title-5044"> <input type="hidden" name="product_analytics_5044" id="product_analytics_5044" value="{ "item_list_id": "4213:30078", "item_list_name": "moon-phase/overview", "items": { "item_id": 5044, "item_name": "Pink and Purple Woven USB A to USB C Cable - 2 meters long", "affiliation": "Inline Product" } }" class="product-json" autocomplete="off" /> <div class='product-column product-image'> <img class='image-preview product-asset' src='https://cdn-shop.adafruit.com/640x480/5044-04.jpg' alt='Angled shot of a pink/purple woven USB cable plugged into a laptop port and a small dev board.' data-error='/assets/missing%2Fmissing.png' /> </div> <div class="product-column product-details-wrapper"> <div class='product-details'> <div id="product-title-5044" class='product-title'><a class="product-link" href="https://www.adafruit.com/product/5044">Pink and Purple Woven USB A to USB C Cable - 2 meters long</a> </div> <div class='product-description'>This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also made for USB C for our modernized breakout boards, Feathers and more. </div> </div> <div class="bottom-section"> <div class='product-price-wrapper'> <div class="product-price">$3.95</div> <div class="in-stock">In Stock</div> </div> <div class='product-buy-wrapper'> <a id="5044-product" class="product-buy btn-primary parts-url" data-pid="5044" data-name="Pink and Purple Woven USB A to USB C Cable - 2 meters long" target="_blank" aria-live="polite" rel="noopener noreferrer" href="https://www.adafruit.com/product/5044">Add to Cart</a> </div> </div> </div> </div> <div class="text-element"> <p>To have the moon semi-transparent, the following white PLA filament was used. The black PLA is generic.</p> </div> <div id="element-3195277" class='element parts-element last first' data-position="12" aria-label="Part White PLA Filament quantity 1"> <div class='parts-details'> <div> <span class='parts-quantity'>1</span><span> x </span> <a href='https://amzn.to/4bC2FcP' class='parts-name' target='_blank' rel="noopener noreferrer">White PLA Filament</a> <div class='parts-description'>White PLA Filament</div> </div> </div> <div class='parts-action'> <div> <a href='https://amzn.to/4bC2FcP' class='parts-url btn-primary' target='_blank' rel="noopener noreferrer">Buy Now</a> </div> </div> <div class="clearfix"></div> </div> </div> <div class="page-last-updated"> <p>Page last edited March 18, 2025</p> <p>Text editor powered by <a href="https://www.tiny.cloud/">tinymce</a>.</p> </div> </div> <div class="page-navigation"> <a class="next-page btn-primary large" aria-label="Next page" href="/moon-phase/circuit-diagram"> Circuit Diagram <i class="fa fa-chevron-right"></i> </a> </div> </div> </div> </article> <div class="related-guides-wrapper"> <section class="content-card-group-preview"> <div class="group-preview-headline"> <div class="title"> Related Guides </div> </div> <a class="scroll-back"><i class="fa fa-angle-left"></i></a> <div class="content-card-group-container"> <div class="content-card-group"> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/adafruit-qt-py-esp32-s2"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/494/medium640/QTESP_top_angle.jpg?1640035399" aria-hidden="true" alt="" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/adafruit-qt-py-esp32-s2">Adafruit QT Py ESP32-S2 and QT Py ESP32-S2 with uFL...</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/kattni"> <span class="name">Kattni Rembor</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 66 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/devicescript"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/809/medium640/hero.png?1690464780" aria-hidden="true" alt="A screenshot of the DeviceScript extension page in Visual Studio Code" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/devicescript">DeviceScript, TypeScript for Microcontrollers</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/pelikhan"> <span class="name">Peli de Halleux</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 10 </div> <div class="badge skill-level"> Intermediate </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/super-simple-sunrise-lamp"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/626/medium640thumb/out.gif?1657559164" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/626/medium640mp4/out.mp4?1657559164"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/626/medium640webm/out.webm?1657559164" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Super Simple Sunrise Lamp. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/626/medium640thumb/out.gif?1657559164" aria-hidden="true" alt="A flat table lamp that is slowly turning on" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/super-simple-sunrise-lamp">Super Simple Sunrise Lamp</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/caternuson"> <span class="name">Carter Nelson</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 26 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/cartoon-character-clock"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/183/medium640/cartoon_clock_hero_scaled.png?1739381084" aria-hidden="true" alt="Analog clock face on a round display, featuring a a cartoon from an early 20-th century public domain cartoon. The characters arms act as the clock hands." class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/cartoon-character-clock">Cartoon Character Clock</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/Foamyguy"> <span class="name">Tim C</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 2 </div> <div class="badge skill-level"> Beginner </div> <div class="badge new"> New </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/iot-food-scale-with-azure-and-circuitpython"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/630/medium640thumb/send_azure.gif?1658253707" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/630/medium640mp4/send_azure.mp4?1658253707"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/630/medium640webm/send_azure.webm?1658253707" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide IoT Food Scale with Azure and CircuitPython. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/630/medium640thumb/send_azure.gif?1658253707" aria-hidden="true" alt="GIF image of the project sending data to Azure" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/iot-food-scale-with-azure-and-circuitpython">IoT Food Scale with Azure and CircuitPython</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/BlitzCityDIY"> <span class="name">Liz Clark</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 6 </div> <div class="badge skill-level"> Intermediate </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/cheekmate-wireless-haptic-communication"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/672/medium640thumb/cheekmate-thumbnail.gif?1664818405" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/672/medium640mp4/cheekmate-thumbnail.mp4?1664818405"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/672/medium640webm/cheekmate-thumbnail.webm?1664818405" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Cheekmate - a Wireless Haptic Communication System. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/672/medium640thumb/cheekmate-thumbnail.gif?1664818405" aria-hidden="true" alt="Plastic capsule containing electronics, periodically vibrating" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/cheekmate-wireless-haptic-communication">Cheekmate - a Wireless Haptic Communication System</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/adafruit2"> <span class="name">lady ada</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 47 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/nau7802-pet-food-scale"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/627/medium640/edited_P1380412.jpg?1658250645" aria-hidden="true" alt="A scale with food container" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/nau7802-pet-food-scale">NAU7802 Pet Food Scale</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/BlitzCityDIY"> <span class="name">Liz Clark</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 7 </div> <div class="badge skill-level"> Intermediate </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/soil-node"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/681/medium640/hero-case.jpg?1666014885" aria-hidden="true" alt="Monitor plant vitals with WipperSnapper" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/soil-node">No-Code IoT Soil Sensor</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/pixil3d"> <span class="name">Ruiz Brothers</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 63 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/star-fragment-iot-lamp"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/764/medium640/hero-lamp-nighstand.jpg?1678480095" aria-hidden="true" alt="Star Fragment Lamp" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/star-fragment-iot-lamp">Star Fragment IoT Lamp</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/pixil3d"> <span class="name">Ruiz Brothers</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 48 </div> <div class="badge skill-level"> Intermediate </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/traffic-light-conference-badge"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/601/medium640thumb/P1370712.gif?1653406242" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/601/medium640mp4/P1370712.mp4?1653406242"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/601/medium640webm/P1370712.webm?1653406242" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Traffic Light Conference Badge. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/601/medium640thumb/P1370712.gif?1653406242" aria-hidden="true" alt="The traffic light's color is being changed by pressing a button on the side" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/traffic-light-conference-badge">Traffic Light Conference Badge</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/BlitzCityDIY"> <span class="name">Liz Clark</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 4 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/raspberry-pi-iot-dashboard-with-azure-and-circuitpython"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/645/medium640/edited_P1380700.jpg?1660851529" aria-hidden="true" alt="A Raspberry Pi outputting to a computer monitor displaying an IoT dashboard" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/raspberry-pi-iot-dashboard-with-azure-and-circuitpython">Raspberry Pi Azure IoT Hub Dashboard with CircuitPython</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/BlitzCityDIY"> <span class="name">Liz Clark</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 34 </div> <div class="badge skill-level"> Intermediate </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/iot-filament-sensor"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/029/medium640thumb/demo-wide-loop.gif?1719946424" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/029/medium640mp4/demo-wide-loop.mp4?1719946424"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/029/medium640webm/demo-wide-loop.webm?1719946424" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide IoT Filament Sensor. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/029/medium640thumb/demo-wide-loop.gif?1719946424" aria-hidden="true" alt="Use an IR Optical Sensor that can detect whenever an object passes by the sensor. The breakout is mounted to a 3D printed bracket right above the 3D printer" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/iot-filament-sensor">IoT Filament Sensor</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/pixil3d"> <span class="name">Ruiz Brothers</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 5 </div> <div class="badge skill-level"> Intermediate </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/qt-py-s2-round-display-compass"> <div class="image-container"> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/004/201/medium640/compass_hero_photo.png?1740522506" aria-hidden="true" alt="GC9A01A round display in a 3D printed box showing a compass rose and north, east, south, west heading lables. A red pointer needle points towards south." class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/qt-py-s2-round-display-compass">QT Py S2 Round Display Compass</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/Foamyguy"> <span class="name">Tim C</span> </a> </div> <div class="badges"> <div class="badge skill-level"> Beginner </div> <div class="badge new"> New </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/neopixel-sprite-weather-display"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/719/medium640thumb/partSunHero.gif?1671467568" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/719/medium640mp4/partSunHero.mp4?1671467568"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/719/medium640webm/partSunHero.webm?1671467568" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide NeoPixel Sprite Weather Display. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/719/medium640thumb/partSunHero.gif?1671467568" aria-hidden="true" alt="a partly sunny weather sprite followed by scrolling text showing the temperature" class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/neopixel-sprite-weather-display">NeoPixel Sprite Weather Display</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/BlitzCityDIY"> <span class="name">Liz Clark</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 23 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> <!-- Update templates/guides/guide.mustache in tandom --> <div class="guide-preview content-card"> <div class="preview-content"> <a aria-hidden="true" href="/wireless-esp32-s2-controller-for-pure-data"> <div class="image-container"> <video class="video-preview lazy" preload="auto" muted="muted" loop="loop" playsinline poster="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/564/medium640thumb/titleGif.gif?1649187719" data-error="/assets/missing%2Fmissing.png" 'aria-hidden'=true> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/564/medium640mp4/titleGif.mp4?1649187719"></data-src> <data-src src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/564/medium640webm/titleGif.webm?1649187719" type="video/webm; codecs=vp8,vorbis"></data-src> Your browser does not support the video tag. This links to the guide Wireless ESP32-S2 Touch Screen Controller for Pure Data. </video> <img data-src="https://cdn-learn.adafruit.com/guides/cropped_images/000/003/564/medium640thumb/titleGif.gif?1649187719" aria-hidden="true" alt="Animated GIF. Shows a Pure Data synth patch in the background. In the foreground, the ESP32-S2 controller is being used to control the patch." class="image-preview lazy" src="data:," /> </div> </a> <div class="bottom-section"> <div class="content"> <a class="title" aria-label="Guide title" href="/wireless-esp32-s2-controller-for-pure-data">Wireless ESP32-S2 Touch Screen Controller for Pure Data</a> <div class="author"> By <a aria-label="Guide author" data-turbo="false" href="/u/BlitzCityDIY"> <span class="name">Liz Clark</span> </a> </div> <div class="badges"> <div class="badge favorites " title="Saves"> 24 </div> <div class="badge skill-level"> Beginner </div> </div> </div> </div> </div> </div> </div> </div> <a class="scroll-forward"><i class="fa fa-angle-right"></i></a> </section> </div> <div class="dialog-container modal" id="create-wishlist-modal" data-modals-target="modal" aria-labelledby="dialog-title" aria-hidden="true"> <div class="dialog-overlay" data-a11y-dialog-hide></div> <div class="dialog-content"> <div class="dialog-header"> <h5 class="dialog-title">Create Wishlist</h5> <a href="#" class="dialog-close" data-a11y-dialog-hide="create-wishlist-modal" aria-label="Close this dialog window">×</a> </div> <form> <div class="dialog-body"> <div class="form-group"> <label for="wishlist_title">Title</label> <input type="text" name="wishlist_title" id="wishlist_title" /> </div> <div class="form-group"> <label for="wishlist_description">Description</label> <textarea name="wishlist_description" id="wishlist_description"> </textarea> </div> </div> <div class="dialog-footer"> <input type="submit" name="commit" value="Create Wishlist" class="btn-primary" id="create-wishlist" data-disable-with="Create Wishlist" /> <a href="#" class="dialog-close" data-a11y-dialog-hide="create-wishlist-modal" aria-label="Close this dialog window">Close</a> </div> </form> </div> </div> </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 & 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 & 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">"What I cannot create, I do not understand"</div> <div class="quote-attribution"><a href="http://en.wikipedia.org/wiki/Richard_Feynman">Richard Feynman</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?-125419689572448523" /> </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>