CINXE.COM
Just a moment...
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="390"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "blog.adafruit.com",cType: 'managed',cRay: '927b91c65e51408f',cH: 'fZvLtHzx86CP7MVwDCucFWxoRqH20AY2JGwF_po5B6c-1743211485-1.2.1.1-PMfZ1zPsMCKiWzMGCpknrimSKKW14R.xlYJV7xf6xA0rOJfqiKyGdK4VvLL7aWUV',cUPMDTk: "\/author\/john\/?__cf_chl_tk=N_pJBjzvXUmFeEUzbjRx9k.HgPMw0cf8BkkJ7r4MJBg-1743211485-1.0.1.1-FbzcnzsenpQyiKQbasftvqlzgfk7_Me1v697CkJET0M",cFPWv: 'b',cITimeS: '1743211485',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/author\/john\/?__cf_chl_f_tk=N_pJBjzvXUmFeEUzbjRx9k.HgPMw0cf8BkkJ7r4MJBg-1743211485-1.0.1.1-FbzcnzsenpQyiKQbasftvqlzgfk7_Me1v697CkJET0M",md: "ix5ZQDU71FbI9.k_l8MiAwxl826Mm0CATNS1Ij4BRfM-1743211485-1.2.1.1-cGgP1dDL4qznc7Jjm9IANQqMzdl4PuTE_dpzTL.jfYBcSnS6wZjP8Z7LfNAETiWni.YQtrthtaV_.9fRXfxEGCDfAKjd65NGDhbTkv5cOB0JbAgFFfhNM0_5z1fieT8XtiC95TuyqFcqYPVi8kaGldaJ1TFaCeJKDV_3IypV7edcCny5h2JNjEi7IrL6gRZCdnAx1fjdMYQdita7FRTe5T0loNgvYlyHLLQTFjDBcGNUxT1fife_Kfq5y0XAN0qUFC6qokJk6KNzEs2MyYgNTYtk4fOiGJymwOT7oSSq6LmWvZTGfL0FH.iXy60hTMn7C48e3cN4vEcL.93GOACXkBFXhrgXk.IuulJSVMZY.FgVF2MmAalZexC5fy6rh7RbtG0LccwGQCwW925vAeKXhTJXEywI0QqcO0g6Q6McW18QUMtbQt3pFn9l6LNErNHMV05j1hCPAD5U5LVLrNvRUm6.DLvI.vCon.cXW9eRFecGJZPpChYOWeSDI2zASrVnmv8fOpkd3a1XidDGbffkf3ptIJTGXjVHcdIudkqyCB9WGbocE843Uq0zEHnpHnxyEbfEUfTxm2zziGbORVhbXh13PSWSUhS0UxH4NzOH0MSj46bn0DgO4_2ND8Pzc.RNVAqzqHkJ8Xer_dRwelvhSVGxk_i0zv5RgW1Y.f4BolVQ3Luo73cUWgWsyU_sBGCUJcGey8SDxw0iYm_VBWBfwby5Y9Oc1FbADC4HMW6sVxpYijxkb_X5gXWbm54EeT1QpWVqK3o9gY19_mTApbyK3q48ivB0YNityDA4Eb6QHipW24xIaYu_Azi8UfVg1l6Hohpq0HuYiR1FAFUdHob71KBG_7uW4ijxOeC6QnyIyOrbZf6r6YI6CjrewqgYLDxJwtkFxBAM8Lcnju2W5y29PWXA74Ycqd8KYkSSg55DfajN3Fh.8Xy1rpbRbvh365dw_DZf5NNzLgLaXVxzq79p6sUxtkao04C8vdD6ThHPRDgi2qeXLu5np0ipZGaowBZJqfzfjDWu3mLnw774Q2BR_RAcgo8f2LgUVrB.o.JefHZkRC0YwGNh_1dcVIdHoiJbsG4wjmKeiXny1QPsz8OBvg",mdrd: "fBm_B3upy3RFnCLOxvlFjq86AmmqiwFVi4mLaD14_pE-1743211485-1.2.1.1-GWotIcLha0Q.sTlMO1G1wNco4DcDsdODJE_CnKTd.aRM0Ji5A61.Qe.iLskkIPUiShLTffWVA8f2Sr2NJnTj3pCAbQje8c2fYhYyveebytmw98Qh3dewx8jYGs1z.LNVeS3ALbGPxlOVMBBfL1sIsfsDbymxSpGdTnziM9pT9iQq.4WaTvVoUKdSxGf.W99sM9tBvmFtuNOigvVGe8EbNFu9Bs43NiTO51.4hjyB9CzRBLVF4SFDhTxuvFoyoihKn3XcbrVaoNKWm9OdXzJkHsF79vX8p.c_V8YZu3WzgwaxGiBBNaq240Plvxx0GD1SUaaC5me6tAJBqiUY_.L7TYOmv_RFBJSv1C6cqG8xOYCcdzQnpG2x9Oxw_4lnLV7F42kekY_deZvxDB96NeRerDoIyDM7OmOfSNhBydKolI8vIPLA3XLDLunNczRHmdatrVPv9qoR2FNLr1uCXkJUqjdTILbZE3vmSw99Z5F9Bf5D52_Q_Ly6f6pSy3Vq5MrQRzyp.DKmFSB9uPKWfPfVy8Qoo7uQl6O_HPIeTZv1nfSLF_u3.A4fWDjbp953REemXPUVqblsYspNcdwLEORJI7MpBB0z_tPdGDOWneES1kMtu9RST_nF7jDErlO4s1k9.sIv7ucyo.n9ESCEWq4PDz1w1MwgMGw99dXBOB4WFcbyunZ9KR21lSF8JZ_kH73SSNBi04E58tr6Q6ZYQS56Md14skQlAEu3Ogv1GuSA1BjldpImrPGzSzLBXEXAHRcNLRwCcg4fQFjG1m7FR657keaphvwAeDUd.d.EvOpsUT32ZKGZkQXKp7ooB53FtHWZuOViFtcxHBR9KEO9JfMonUuLOzv1xidfmPr_tzFxstdwCrdpuz9QKdZ696oyA4FTIySaQQUSODVoOJmfEgQn1TqAtS8M9uQzxpdO__T7pZdBmfLe7PukQhBdo5oT7SYUmIjdzQCExH55bTOXUvm7HjukjDaUiwDq8KlhamDfAKRR.hfY27feHWIUhkFp6WDB4aaD3XKFbMRt9BHkMIQX1rdNvLZ62LPOHxk9oVlygsxDPzXF3Y5v1.AyW9OtFRzW0HFcn_L8Zo.T7LPRLn7wnQdJKWcqhDNBX7I6439imLJd8DQj9UwVM9rhBgMV0wUyL4C8WrxTrMI_NaDB.p0LMc6LQ7o1XLdBX53OC3Ay_SbpG9eOOCW_SGaWDz75EylHPjLEVIHRUlaPMFSPswDPVDI83DIqIsvl3cTft1VYP0I0oUdL6rXGtFXl2.IPmnLTDDJCQkOLHNXbteK7Nn4XRl0LjwJ6l_fat5Nd71Tct49gyjw0kEcKY1chzS7aytD6bKZppgXVSWDjzA12gNKY3nK9vxDjH0lR_UBjzB_KgEa4vIW24lsv8dwqe7R1wc68xH96cFwOYax7B7Q_me3PK9RZqa1wRxUfBs.yLBM0MjBQCh1_jUJADYKqvPBWUJ8sb0qs68gFq9Ox2zZD7fnzDVd.MY7kdQQ3X6bII84tgxW8SpsZckO1z1NjhMD7P2QGnM3iqoUwsg0XrbkY.wyUopMK9ex__L6xE06.gm97YPrIY0DMXiQtKv5FpjzgxR29AxV9EgG4CB49gxqJS58JRMvJOaOkHDFDp3dFeXBoVDa2LEgjRhqGpzvYSRItCqfizGHqk6jvmH3v5KT6hCNKaqKXDgTNCp0wUUlLtzSTgzUyGYleuRGpwaWIEzSaw0L3Qa2ClJVkwCpOmYi896xA21i9zMKNJWrFNiTbuxIQpWANGMSPJsTLF4VBPCzzO4ybYGZP1HbATpLt2s23uSaysdbP05scx130CI_7zXtr6gcTZHcZ4tWiCXaAuf48CaLf6kf4.5h_AplAou8ZDisRNAxasVyHX9RXb43JfingGqiKNpJ5qjPinBXZ8hgjiA64ttO_tfE7ZbaF0mMl8nyIcfIY67GS4iqnXUEXq2cC_bLoi6Zm8BgZR1IWvR3b_N_r8WTyqt0ZDOcsUdib1z7jWTwhb3N4AY5AkYTiGHVa4bJ1fleF2RL6TuZzHMH6uie7dMppcML5a4ZpZNHULExlDQ"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=927b91c65e51408f';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/author\/john\/?__cf_chl_rt_tk=N_pJBjzvXUmFeEUzbjRx9k.HgPMw0cf8BkkJ7r4MJBg-1743211485-1.0.1.1-FbzcnzsenpQyiKQbasftvqlzgfk7_Me1v697CkJET0M" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>