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: '928297e0781344b9',cH: 'FtcD7K34k1dq8umUhwOBm_Kkqkidu.kqjURA9Yp16Qg-1743285135-1.2.1.1-VKiw6Rb_d2axO4UHv2ZJenXQ2vGGLtZuRNbke8nnEMVtJKnreX6Sm8gAGQvbB9CJ',cUPMDTk: "\/2024\/03\/18\/circuitpython-9-0-0-released\/?__cf_chl_tk=8dLyQ9Tk2z5AyBwXUnpJDnHaE01.6caawS5r0l01BYE-1743285135-1.0.1.1-p6RSfLAzD9AUAsiBpIs_Og9wKCYBjLcf2oU9eHqd4iI",cFPWv: 'b',cITimeS: '1743285135',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/2024\/03\/18\/circuitpython-9-0-0-released\/?__cf_chl_f_tk=8dLyQ9Tk2z5AyBwXUnpJDnHaE01.6caawS5r0l01BYE-1743285135-1.0.1.1-p6RSfLAzD9AUAsiBpIs_Og9wKCYBjLcf2oU9eHqd4iI",md: "Jzgg3_cN5QeyksiFKMNiBZqdQTcJSDQqxuag4Y.GVKE-1743285135-1.2.1.1-NVCIVrszsW9tcm50_gSBODS8rNbXyYUJud3lYjMfZvrWp7Zwq7qLyu.vMqp0u.XOhOpqY_iB80YtyG0nqT0_gLJWnUlLTgPxDfIsHF3mZ1T6U287dwd_vB1lbV1Es4tUwohdn31Tq_6dP913Te1oeH6kMisaxr9gtyYEp3p36i1vDlmDRPt0INokFvIrWRDsSqT8qHhjSkJLPp1UsrCEYT6IFA39US8xoYfK4vvbk1blkAfAsK475YZeHjRMK8qJdq91Jp8cF3q9Du7K59LXIeXxfxYSlZdO.mYAvH0RYCsduKbrh8J4oPX2seHDoZZEXF5BuiATJD94S5D9i4shl5dC9.XdpO.U8FfFHmozWTmzGcNldUgFI0z82OeNFOm53yRJQCNy7i8pIoPS.86kqnpFOxqOBU7ptH1hmYjRMd7OnmZPvZ0MSGsoFSK0g9i6TILlOq4A9gpndjwNr1xcljfchPfemYCPXBQZN4Zbjm3M2LX3cjFQYbrYtuMCi7X96h.ZDbojkSt92S1IV7GfKYswNdvN7kLbq6TCRsj9cN8VrH_NLJ2jcNCvF8lycsApdF8PytvFHGdfX.FaiS7cLXGX5PQQtC9pficUFlevkPBwxsracnMHTnM.me0RVJ64WXLzvyJpxvmsU2V5KQpWd_3bEPfKc4HC2vC4AEtjpjkLvnFyBh0vRv8X7Xcgruh3yAYIIcwJfgBchF3vJXNEGEUnS65phO4e.HJyZLEXYYidXY9h11VuUeMfwpMiYI21ErGpMgwfNVGbf8Pck3Xnz0t_wEAM8JljZYQ8FxFdkm7V2JpVGybGxHo3MMNlUQOwfGu84QVg9fjV3um0ODjc7CSdQqNZgMEPZGuk_bwWz.fiqLoUUtiSOarcztlCu8eLNMMuMEDRpHkd5LGYCRV3Qy_SNV.3O1esLG_.RinPfVHOSdCQCAlyYjbrV9E6J4CqHO3YL7A5DZIs22IFJ0u12rn_TPxgEbj_AHhznT73ido9xczQRJsXZGLdmS8naNTDqdoJ8w_rmVAoXb0bHCx2Badxg.wtjP0CZbpwpPC2vjg1Nm3C_x4q8whYIq1Jl1xJUOj7gaT3ZQblpZJU4UVSrPvvx8QrhiVD2qTKJGZ4oiO7yIg7.HVEKXhs5VSorjuZjDnvhgGh0Fy803qYO3HH_A",mdrd: "tc8m4p5IQQOVnVuy1OAYUlXLUkusj6sHYKuGiVwHu14-1743285135-1.2.1.1-AxiIJ0RIjPK2Q22gpcWsdpETLktfUgMtrLmKXAv.6UOPfWUnGP7owcLOpyiYVKWm_uLFp_93eDFbU4p9eGfMhr1Q4TJTeRJDpW9tADz_EELuqF_d9aoLwusr4Ymnm_sNC.YbDk2nSPB9wEUvrbiKqoJzW7GjDWcavwW9mJ7Te0UKta1DtSQIrEWeVVxiqMjMbW7WKQxMNE3L_2SVrXd1M90uGtlCg1dmebC9uek8vQXqXJgKqKKI53XWWoj6eae8vL6uYeSMaEXb_VcV4zj7oBLfMlx4kyJteEWbcYNGUjUTvHZ269q90EnV2SUlsADkan56X2kVJQN5yNtjRCy2HS2TwKvGB8COfrnxMxnNiIJoga3XVPiMnXbx3mZx8Hm6OHwBCdtjScV4Oit2zAeVLS1sGdgZhK0RmkQck_TgMSbulFcHam3YjgOOv0WzfPoZYvrlcreOjhTIphUowaj8RPstahI5hS5may7COdRoIJjo04N58L19mEXIxsUSqPOC6pO1qfEKXJBYc5L73N3btEmZ3bwYntCV8zBUaWQrx5dz79CBC4tpJKlMzQ_OyE8YLiFd2WkYRlFSiieUr48T.w3qkAP9NCXZQDBEk8evcTgPftukFlQzvxSh1D.OyTDljGGt83okYlDIH1VQJTAXziyoSw6Y1gBbH2c2I04cSl1Eh8LB2GzrmdWloCZwpgcIKjP9dtJp9F8fWHJOKAjy2NMKgVr5hYCStt5A9y4AjGNdGxjh.1Aw0oN0hh1pSENTbif8uqRRbRaKI4aU5OmLvP5Qpzsvov2iOUl0hILDJ8yeULSiWbvIoz46UQjFdaUkNjJjrsboR74_Tly7KvBRLTKSBryN2WDfNOjfygkj2x.3pZVTl.km6hKDSEflKGFnMfPNar_nqnbxRYodVsVPFEvGRYPlmH7_SAqQfXyd..CFhZcjGfBqx6Z3bIx3LdajZpEHeBb8Xx9smeD7Ht7IYft9tBI7pVMIaXhdLdn.dUKjWZ13gOFqcA2N2iqyVILZ3ON6jXJbezTjMtBS.UmryJa_ux5LuZq5p7qKOF1c6j6XlCWc7zOHuyAG2BrueUV.MxQ3gKEO3ITf8WO54KlcyKiOa3vd0UqPKIXr44Zq_NtTBX1cCDMAmn_BtsDXiWoniMaSO9GiZuHPbGDh827y3KHljpc5_Xvvpraih3vPNaDLKCExwF.LBp2G6m5LnTKoR9oycQVyyPOACIqF7TW0MlsacjXc93fwN7_yntGoOoZ8xQJ8vbK_mrIlMU_HyPhqunH4LrzQvUZyFNK4JFHSNXyKE095J9cJ60gn715fkWhlsQdTw3ozOraEVs7cht2GXnOnQYJjEdnj279UbHBGyLEtlJ5_1G19HPQve2.Ds.FesgkmPOhjd539ARSmraeueY2EIYCBHvGpbQACMYVNv741K75hV_UcE5iCK7ipGK8CzWhPlbpHVu64uGrGyvCUGqMZNLpk_oNJ8CGSeYl3pguXrzw2F5tR0LKd2CLqMOrNVsCTpaYxsaprBru25FOFq7bJY5hQ8UYGqqpgvL_obLLYYgwY7thkHU134Q7.u2ASG6g13UvhleWImWKUuZpG6G86C_WzBDmp4EGb9ceSxYqAFQs01lS8eVZ7Y.mFcX.R2_xXrRFgv2G1uVhuRpeo7StzwfJxJwFnMZTg1fB97wv288JqaWboiAaMNYzP1I0krUiOULjh0mn9cB0euqoop.kKyLvMVDM4moT7hmjampjkfvPvkZ.VaqWA.gFzHszd7UcrOKWtCZmvZqXFkl45PWGCaAZYuNx3n36HI6KtRC6X7U7z0Es6w_7uIXflJ4W4_JeQfWq5z5EttV0IXxfA5zapcisP6qiIvSToihEveSD4n_b9A0aa0DX3l7Fd75HEKCUoazVQIooR4BCTXUjuNhiglXrt9E9i3Fa40FdCbzQ5XMSwVsqurrcNzo_PpzrEgZvMiRkWdPCdjs2.ef_8GRncmHUCbSD6T84jmUmxGx4ExgNSBBmUqnZfseq1s1CyBNY9RS7cfQvPFqSNQdpmbmKCp4pQ3EdVf0cFxIY7VA"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=928297e0781344b9';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, "\/2024\/03\/18\/circuitpython-9-0-0-released\/?__cf_chl_rt_tk=8dLyQ9Tk2z5AyBwXUnpJDnHaE01.6caawS5r0l01BYE-1743285135-1.0.1.1-p6RSfLAzD9AUAsiBpIs_Og9wKCYBjLcf2oU9eHqd4iI" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>