{"title":"Arduino Electronics","description":"\u003ch2\u003eEverything You Need to Build with Arduino\u003c\/h2\u003e\u003cp\u003eExplore our range of Arduino-compatible electronics, components, and accessories — carefully selected for makers, students, and hobbyists across New Zealand. Whether you're just starting out or working on an advanced project, you'll find the right parts here.\u003c\/p\u003e\u003ch3\u003eWhat You'll Find in This Collection\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eBreadboards and prototyping essentials\u003c\/li\u003e\n\u003cli\u003eSensors, modules, and shields\u003c\/li\u003e\n\u003cli\u003eWiring, connectors, and power components\u003c\/li\u003e\n\u003cli\u003eStarter kits and bundles for beginners\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eAll products are compatible with Arduino boards and most common microcontroller platforms. Shop with confidence — fast NZ shipping and local support from NZ Electronics.\u003c\/p\u003e","products":[{"product_id":"sc8002b-audio-module","title":"Keyestudio SC8002B Audio Amplifier Module","description":"\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700\u0026display=swap');\n  .nzn-desc .tagline{font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.7;color:#333;border-left:3px solid #e07e2c;padding-left:16px;margin-bottom:32px}\n  .nzn-desc .section-title{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e07e2c;margin-bottom:14px}\n  .nzn-desc .specs-table{width:100%;border-collapse:collapse;margin-bottom:32px;font-family:'DM Sans',sans-serif;font-size:14px}\n  .nzn-desc .specs-table tr{border-bottom:1px solid #ebebeb}\n  .nzn-desc .specs-table tr:last-child{border-bottom:none}\n  .nzn-desc .specs-table td{padding:10px 8px}\n  .nzn-desc .specs-table td:first-child{color:#888;width:42%;font-size:14px}\n  .nzn-desc .specs-table td:last-child{font-weight:600;color:#1a1a1a}\n  .nzn-desc .uses-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px}\n  .nzn-desc .use-item{background:#f7f7f7;border-left:3px solid #e07e2c;padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:13.5px;line-height:1.5;color:#2a2a2a}\n  .nzn-desc .note{background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:13px;color:#888;line-height:1.6}\n  .nzn-desc .note strong{color:#555}\n  .nzn-desc .setup-box{background:#f0f7ff;border-left:3px solid #4a90d9;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:13px;color:#2c4a6e;line-height:1.7;margin-bottom:32px;border-radius:0 4px 4px 0}\n  .nzn-desc .faq-item{margin-bottom:12px}\n  .nzn-desc .faq-q{font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:700;color:#1a1a1a;margin-bottom:3px}\n  .nzn-desc .faq-a{font-family:'DM Sans',sans-serif;font-size:13.5px;color:#555;line-height:1.5;padding-left:14px;border-left:2px solid #e07e2c}\n  .nzn-desc hr.divider{border:none;border-top:1px solid #ebebeb;margin:28px 0}\n\u003c\/style\u003e\n\u003cdiv class=\"nzn-desc\" style=\"max-width:1200px;margin:0 auto;\"\u003e\n  \u003cp class=\"tagline\"\u003eCompact mono audio output module built around the SC8002B Class AB amplifier IC. Includes an onboard speaker and adjustable volume potentiometer — ready to add tones, alerts, and sound feedback to any 3.3V or 5V microcontroller project with just three wires.\u003c\/p\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eSpecifications\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eKeyestudio SC8002B\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eAmplifier IC\u003c\/td\u003e\n\u003ctd\u003eSC8002B (Mono, Class AB)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e3.3V – 5V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSignal Gain\u003c\/td\u003e\n\u003ctd\u003e~8.5×\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eInterface\u003c\/td\u003e\n\u003ctd\u003e3-pin header (S \/ V \/ G)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eVolume Control\u003c\/td\u003e\n\u003ctd\u003eAdjustable potentiometer\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSpeaker Impedance\u003c\/td\u003e\n\u003ctd\u003e8Ω (±15%)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eRated Power\u003c\/td\u003e\n\u003ctd\u003e0.1W (max 0.15W)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eFrequency Range\u003c\/td\u003e\n\u003ctd\u003e800 – 4000 Hz\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eResonant Frequency\u003c\/td\u003e\n\u003ctd\u003e1500 Hz (±20%)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSound Output\u003c\/td\u003e\n\u003ctd\u003e≥80 dB @ 0.1W, 10cm, 1.5kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e−20°C to +60°C\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e3g\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eWiring\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eS — Signal\u003c\/td\u003e\n\u003ctd\u003ePWM signal input from microcontroller (e.g. Arduino tone() pin)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eV — VCC\u003c\/td\u003e\n\u003ctd\u003e3.3V or 5V power supply positive\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eG — GND\u003c\/td\u003e\n\u003ctd\u003ePower supply ground\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003cdiv class=\"setup-box\"\u003eConnect S to any PWM-capable digital pin on your Arduino and call \u003cstrong\u003etone(pin, frequency)\u003c\/strong\u003e to produce sound. Always set the onboard potentiometer to minimum volume before powering on — increase gradually once running. The signal input expects a PWM square wave, not a raw HIGH\/LOW or analog audio line.\u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eWhat's Included\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1 ×\u003c\/td\u003e\n\u003ctd\u003eKeyestudio SC8002B Audio Amplifier Module (speaker pre-installed)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eCommon Uses\u003c\/p\u003e\n  \u003cdiv class=\"uses-grid\"\u003e\n    \u003cdiv class=\"use-item\"\u003eTones and melodies via Arduino's tone() function\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eAudible alerts for sensor triggers and alarm systems\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eSound feedback in robotics and interactive projects\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eSimple audio output when paired with a DFPlayer Mini\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eInteractive learning kits and STEM education builds\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eButton click sounds, error beeps and status chimes\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eCommon Questions\u003c\/p\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eWill this work with a Raspberry Pi or other 3.3V boards?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eYes — the module operates on 3.3V to 5V and is compatible with any microcontroller that can output a PWM signal, including Raspberry Pi, ESP32, and STM32 boards.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eCan I play music or voice audio through it?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eThis module handles amplification only and is optimised for PWM square wave input. For MP3 or WAV playback, pair it with an audio source module such as a DFPlayer Mini.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eThe sound is distorted — what should I check?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eTurn the potentiometer down before powering on and increase gradually. Feeding a full-strength signal into the speaker without care can cause distortion or damage the speaker cone.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"note\"\u003e\u003cstrong\u003ePlease note:\u003c\/strong\u003e Signal input expects a PWM square wave — not a raw digital HIGH\/LOW or analog audio line. A basic datasheet is available at nznelectronics.co.nz\u003c\/p\u003e\n\u003c\/div\u003e","brand":"NZN Electronics","offers":[{"title":"Default Title","offer_id":42644996587616,"sku":"MOD-SC8002B-AMP","price":10.25,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/Keyestudio-Pin-Straighton.png?v=1778273430"},{"product_id":"830-400-point-breadboard","title":"Solderless Breadboard – 400 \u0026 830 Point","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eHow It Works\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eA reliable solderless breadboard for building and testing circuits without soldering. Quickly prototype Arduino, ESP32, Raspberry Pi, sensor, LED, and robotics projects by simply inserting components and jumper wires directly into the board.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eAvailable in 400 point and 830 point sizes\u003c\/li\u003e\n              \u003cli\u003eStandard 2.54mm spacing fits Arduino components\u003c\/li\u003e\n              \u003cli\u003eNo soldering required\u003c\/li\u003e\n              \u003cli\u003eSelf-adhesive backing for mounting projects\u003c\/li\u003e\n              \u003cli\u003eInterlocking design for expanding larger builds\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect power rails\u003c\/strong\u003e\n                \u003cp\u003eUse the red and blue side rails for VCC and GND power distribution.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInsert components\u003c\/strong\u003e\n                \u003cp\u003ePush LEDs, resistors, sensors, ICs, and jumper wires directly into the board.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect your Arduino or ESP32\u003c\/strong\u003e\n                \u003cp\u003eUse Dupont jumper wires to connect the breadboard to your microcontroller.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eTest and modify instantly\u003c\/strong\u003e\n                \u003cp\u003eMove components around without soldering while developing your circuit.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Select your required size (400 point or 830 point) from the variant selector. Boards include peelable adhesive backing for mounting.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eAvailable Sizes\u003c\/span\u003e\u003cstrong\u003e400 Point \/ 830 Point\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePitch Spacing\u003c\/span\u003e\u003cstrong\u003e2.54mm (0.1 inch)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e400 Point Size\u003c\/span\u003e\u003cstrong\u003e8.2 × 5.5cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e830 Point Size\u003c\/span\u003e\u003cstrong\u003e16.5 × 5.5cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eTerminal Tie Points\u003c\/span\u003e\u003cstrong\u003e300 \/ 630\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePower Rail Points\u003c\/span\u003e\u003cstrong\u003e100 \/ 200\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eRated Voltage\u003c\/span\u003e\u003cstrong\u003e300V\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eRated Current\u003c\/span\u003e\u003cstrong\u003e3–5A\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCompatible Wire Size\u003c\/span\u003e\u003cstrong\u003e20–29 AWG\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eContact Material\u003c\/span\u003e\u003cstrong\u003eNickel-plated phosphor bronze\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eHousing Material\u003c\/span\u003e\u003cstrong\u003eABS plastic\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eFeatures\u003c\/span\u003e\u003cstrong\u003eInterlocking + self-adhesive backing\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Standard 2.54mm spacing is compatible with most Arduino modules, sensors, DIP ICs, and Dupont jumper wires.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eHow It Works\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003ePower rails run horizontally\u003c\/strong\u003e\n              \u003cp\u003eThe red and blue strips connect continuously along the edge for power distribution.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eCentre rows connect in groups of 5\u003c\/strong\u003e\n              \u003cp\u003eEach vertical group of 5 holes is internally connected for easy circuit building.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eMiddle gap supports DIP ICs\u003c\/strong\u003e\n              \u003cp\u003eThe centre channel isolates both sides, perfect for chips and integrated circuits.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eExpand with interlocking tabs\u003c\/strong\u003e\n              \u003cp\u003eMultiple breadboards can clip together for larger and more complex projects.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eUse solid core wire for best results\u003c\/strong\u003e\n              \u003cp\u003e22–24 AWG solid core jumper wire provides the cleanest and most reliable connections.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Side power rails are detachable and can be removed for compact installations or protoshields.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eSolderless breadboard\u003c\/strong\u003e\n            \u003cp\u003eIncludes adhesive backing, printed row\/column labels, and interlocking side tabs.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Arduino boards, jumper wires, sensors, and components shown in photos are for demonstration purposes only unless otherwise stated.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eArduino, ESP32, and Raspberry Pi prototyping\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eLearning electronics and beginner STEM projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eSensor, LED, relay, and display testing\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRobotics and motor driver circuits\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eTesting circuits before soldering or PCB design\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eSchool, university, and workshop electronics labs\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Breadboards are ideal for rapid prototyping and temporary circuit development.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhich size should I choose?\u003c\/strong\u003e\n            \u003cp\u003eThe 400 point version is great for compact or beginner projects. The 830 point version provides much more space for larger circuits and multiple modules.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes it require soldering?\u003c\/strong\u003e\n            \u003cp\u003eNo. Components and jumper wires push directly into the board, allowing easy changes and re-use.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWill it work with Arduino modules and Dupont wires?\u003c\/strong\u003e\n            \u003cp\u003eYes, the standard 2.54mm spacing is designed for Arduino-compatible components and jumper wires.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e For the cleanest and most reliable connections, solid-core jumper wire is recommended over stranded wire.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e\n","brand":"NZN Electronics","offers":[{"title":"400 Point Breadboard \/ Single","offer_id":42644997668960,"sku":"BB-400-1PK","price":4.49,"currency_code":"NZD","in_stock":true},{"title":"400 Point Breadboard \/ 2 Pack","offer_id":42757858361440,"sku":"BB-400-2PK","price":7.99,"currency_code":"NZD","in_stock":true},{"title":"400 Point Breadboard \/ 3 Pack","offer_id":42757858558048,"sku":"BB-400-3PK","price":10.99,"currency_code":"NZD","in_stock":true},{"title":"400 Point Breadboard \/ 5 Pack","offer_id":42757858394208,"sku":"BB-400-5PK","price":15.99,"currency_code":"NZD","in_stock":true},{"title":"830 Point Breadboard \/ Single","offer_id":42644997701728,"sku":"BB-830-1PK","price":6.29,"currency_code":"NZD","in_stock":false},{"title":"830 Point Breadboard \/ 2 Pack","offer_id":42757858426976,"sku":"BB-830-2PK","price":4.89,"currency_code":"NZD","in_stock":false},{"title":"830 Point Breadboard \/ 3 Pack","offer_id":42757858590816,"sku":"BB-830-3PK","price":4.49,"currency_code":"NZD","in_stock":false},{"title":"830 Point Breadboard \/ 5 Pack","offer_id":42757858459744,"sku":"BB-830-5PK","price":4.89,"currency_code":"NZD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/Solderless_Breadboard_400-800pt_producthero.png?v=1778925939"},{"product_id":"mg90s-servo","title":"MG90S Metal Gear Micro Servos","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-card {\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: block;\n    animation: nznFade .18s ease both;\n  }\n\n  @keyframes nznFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.7;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 32px 0 0;\n    display: grid;\n    gap: 18px;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #fff7f1;\n    border-left: 4px solid #ff7a2f;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 18px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #b85b16;\n  }\n\n  .nzn-desc .nzn-step {\n    margin-bottom: 18px;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-step p {\n    font-size: 13px;\n    color: #555;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 28px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px,.8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    color: #101114;\n    font-weight: 800;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2,1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"variants\"\u003eVariants\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-overview\"\u003e\n\n        \u003cdiv class=\"nzn-overview-copy\"\u003e\n          \u003cp\u003e\n            The MG90S micro servo is a high-performance upgrade over the popular SG90, featuring stronger metal gears for improved durability, torque, and wear resistance. Ideal for Arduino projects, robotics, RC vehicles, pan-tilt systems, automation, and DIY electronics.\n          \u003c\/p\u003e\n\n          \u003cul class=\"nzn-checks\"\u003e\n            \u003cli\u003eAvailable in 180° or continuous 360° rotation versions\u003c\/li\u003e\n            \u003cli\u003eMetal gear drivetrain for improved durability\u003c\/li\u003e\n            \u003cli\u003eCompact 9g micro servo form factor\u003c\/li\u003e\n            \u003cli\u003eStandard 3-pin servo connector\u003c\/li\u003e\n            \u003cli\u003eCompatible with Arduino, ESP32, Raspberry Pi \u0026amp; RC receivers\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eQuick Overview\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cstrong\u003e180° Version\u003c\/strong\u003e\n            \u003cp\u003eProvides accurate angle positioning between 0° and 180°. Perfect for steering, robotic arms, grippers, and pan\/tilt mechanisms.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cstrong\u003e360° Version\u003c\/strong\u003e\n            \u003cp\u003eContinuous rotation servo for wheels, conveyors, drive systems, and moving mechanisms. PWM controls speed and direction instead of angle.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cstrong\u003eMetal Gear Design\u003c\/strong\u003e\n            \u003cp\u003eImproves lifespan and resistance to stripped gears compared to plastic SG90-style servos.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The 360° continuous rotation version does not support positional angle control.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n\n      \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-specs\"\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003eMG90S\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eWeight\u003c\/span\u003e\u003cstrong\u003e9g\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eDimensions\u003c\/span\u003e\u003cstrong\u003e22.6 × 12.1 × 22.5mm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e4.8V – 6.0V\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eSpeed\u003c\/span\u003e\u003cstrong\u003e0.10 sec\/60° @ 4.8V\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eTorque\u003c\/span\u003e\u003cstrong\u003eUp to 1.8kg·cm @ 6V\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eConnector\u003c\/span\u003e\u003cstrong\u003eStandard 3-pin JR\/FP servo connector\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eCable Length\u003c\/span\u003e\u003cstrong\u003e250mm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eOperating Temperature\u003c\/span\u003e\u003cstrong\u003e0°C – 55°C\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"variants\"\u003e\n\n      \u003ch3 class=\"nzn-section-title\"\u003eVariant Differences\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-faq\"\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003e180° Standard Servo\u003c\/strong\u003e\n          \u003cp\u003eDesigned for accurate angular positioning using PWM signals.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003e360° Continuous Rotation Servo\u003c\/strong\u003e\n          \u003cp\u003eRotates continuously in both directions. PWM controls speed and direction rather than position.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eAll Metal Gear\u003c\/strong\u003e\n          \u003cp\u003eFull metal gear train for maximum durability and torque handling.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eMetal Drive Gear Only\u003c\/strong\u003e\n          \u003cp\u003eMetal output gear with lighter internal gearing for lower weight and cost.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n\n      \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-specs\"\u003e\n        \u003cdiv\u003e\n\u003cspan\u003e1×\u003c\/span\u003e\u003cstrong\u003eMG90S Servo\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003e1× Set\u003c\/span\u003e\u003cstrong\u003eServo Horn Arms\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003e1× Set\u003c\/span\u003e\u003cstrong\u003eMounting Screws\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n\n      \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-uses\"\u003e\n        \u003cdiv class=\"nzn-use\"\u003eRC steering systems and throttle control\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eArduino and ESP32 robotics projects\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003ePan-tilt camera mounts\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eRobot arms and grippers\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eDIY automation and mechatronics\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eSmall mobile robots and drive systems\u003c\/div\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n\n      \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-faq\"\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eDoes this work with Arduino?\u003c\/strong\u003e\n          \u003cp\u003eYes. The MG90S works with Arduino, ESP32, Raspberry Pi, and most PWM servo controllers.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eWhat's the difference between SG90 and MG90S?\u003c\/strong\u003e\n          \u003cp\u003eThe MG90S uses metal gears for significantly improved durability and torque handling compared to the plastic gear SG90.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eCan I power this directly from an Arduino?\u003c\/strong\u003e\n          \u003cp\u003eFor small\/light loads yes, but for best performance use a dedicated 5V power source capable of handling servo current spikes.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Servos can draw high startup current. For multiple servos or heavy loads, use an external power supply instead of powering directly from a microcontroller.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('click', function(event) {\n  const tab = event.target.closest('.nzn-desc .nzn-tab');\n  if (!tab) return;\n\n  const wrapper = tab.closest('.nzn-desc');\n  const target = tab.getAttribute('data-tab');\n\n  wrapper.querySelectorAll('.nzn-tab').forEach(item =\u003e {\n    item.classList.remove('is-active');\n  });\n\n  wrapper.querySelectorAll('.nzn-panel').forEach(panel =\u003e {\n    panel.classList.remove('is-active');\n  });\n\n  tab.classList.add('is-active');\n\n  const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n  if (panel) panel.classList.add('is-active');\n});\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"180 Degrees","offer_id":42666174414944,"sku":"SRV-MG90S-180","price":5.99,"currency_code":"NZD","in_stock":false},{"title":"360 Degrees","offer_id":42666174447712,"sku":"SRV-MG90S-360","price":6.29,"currency_code":"NZD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/MG90s_Product_Hero.png?v=1778971601"},{"product_id":"lj12a3-2-z-bx-proximity-sensor-npn-no-3-wire","title":"LJ12A3-2-Z\/BX Inductive Proximity Sensor – NPN NO 12mm IP65 3-Wire","description":"\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700\u0026display=swap');\n  .nzn-desc .tagline{font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.7;color:#333;border-left:3px solid #e07e2c;padding-left:16px;margin-bottom:32px}\n  .nzn-desc .section-title{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e07e2c;margin-bottom:14px}\n  .nzn-desc .specs-table{width:100%;border-collapse:collapse;margin-bottom:32px;font-family:'DM Sans',sans-serif;font-size:14px}\n  .nzn-desc .specs-table tr{border-bottom:1px solid #ebebeb}\n  .nzn-desc .specs-table tr:last-child{border-bottom:none}\n  .nzn-desc .specs-table td{padding:10px 8px}\n  .nzn-desc .specs-table td:first-child{color:#888;width:42%;font-size:14px}\n  .nzn-desc .specs-table td:last-child{font-weight:600;color:#1a1a1a}\n  .nzn-desc .uses-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px}\n  .nzn-desc .use-item{background:#f7f7f7;border-left:3px solid #e07e2c;padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:13.5px;line-height:1.5;color:#2a2a2a}\n  .nzn-desc .note{background:#fafafa;border:1px solid #e8e8e8;border-radius:4px;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:13px;color:#888;line-height:1.6}\n  .nzn-desc .note strong{color:#555}\n  .nzn-desc .setup-box{background:#f0f7ff;border-left:3px solid #4a90d9;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:13px;color:#2c4a6e;line-height:1.7;margin-bottom:32px;border-radius:0 4px 4px 0}\n  .nzn-desc .faq-item{margin-bottom:12px}\n  .nzn-desc .faq-q{font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:700;color:#1a1a1a;margin-bottom:3px}\n  .nzn-desc .faq-a{font-family:'DM Sans',sans-serif;font-size:13.5px;color:#555;line-height:1.5;padding-left:14px;border-left:2px solid #e07e2c}\n  .nzn-desc hr.divider{border:none;border-top:1px solid #ebebeb;margin:28px 0}\n\u003c\/style\u003e\n\u003cdiv class=\"nzn-desc\" style=\"max-width:1200px;margin:0 auto;\"\u003e\n  \u003cp class=\"tagline\"\u003e12mm cylindrical inductive proximity sensor with NPN normally-open output and IP65 weather resistance. Detects ferrous and non-ferrous metals within 2mm without physical contact. 6–36V DC, 500Hz switching frequency. Standard for CNC homing, 3D printer bed levelling, conveyor systems, and robotics. Includes clamp nuts and washers.\u003c\/p\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eSpecifications\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003eLJ12A3-2-Z\/BX\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBody Diameter\u003c\/td\u003e\n\u003ctd\u003eM12 (12mm)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBody Length\u003c\/td\u003e\n\u003ctd\u003e~64mm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSensing Distance\u003c\/td\u003e\n\u003ctd\u003e2mm (±10%)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eOutput Type\u003c\/td\u003e\n\u003ctd\u003eNPN, Normally Open (NO)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSupply Voltage\u003c\/td\u003e\n\u003ctd\u003e6–36V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eOutput Current\u003c\/td\u003e\n\u003ctd\u003e≤300mA (sink)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eSwitching Frequency\u003c\/td\u003e\n\u003ctd\u003e500Hz\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCable Length\u003c\/td\u003e\n\u003ctd\u003e~100cm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eIP Rating\u003c\/td\u003e\n\u003ctd\u003eIP65\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eHousing Material\u003c\/td\u003e\n\u003ctd\u003eNickel-plated brass\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eTarget Material\u003c\/td\u003e\n\u003ctd\u003eFerrous \u0026amp; non-ferrous metals\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eWiring — 3-Wire NPN\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBrown wire\u003c\/td\u003e\n\u003ctd\u003eVCC — connect to positive supply (6–36V DC)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBlue wire\u003c\/td\u003e\n\u003ctd\u003eGND — connect to negative \/ ground of supply\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBlack wire\u003c\/td\u003e\n\u003ctd\u003eSignal output — pulls LOW when metal detected (NPN open collector). Connect to your input pin with a 10kΩ pull-up to VCC.\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003cdiv class=\"setup-box\"\u003e\n    \u003cstrong\u003eUsing with Arduino (5V):\u003c\/strong\u003e Power the sensor from the Arduino 5V pin (minimum operating voltage). Connect Brown → 5V, Blue → GND, Black → digital input pin. Add a 10kΩ resistor from the input pin to 5V as a pull-up. The pin reads HIGH when no metal, LOW when metal is detected.\u003cbr\u003e\u003cbr\u003e\n    \u003cstrong\u003eUsing with 12V\/24V PLC or system:\u003c\/strong\u003e Power from your 12V\/24V supply. Use a voltage divider or logic level converter on the black signal wire before connecting to a 5V or 3.3V microcontroller input.\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eWhat's Included\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1 ×\u003c\/td\u003e\n\u003ctd\u003eLJ12A3-2-Z\/BX inductive proximity sensor with ~100cm cable\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e2 ×\u003c\/td\u003e\n\u003ctd\u003eClamp nuts\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e2 ×\u003c\/td\u003e\n\u003ctd\u003eLock washers\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eCommon Uses\u003c\/p\u003e\n  \u003cdiv class=\"uses-grid\"\u003e\n    \u003cdiv class=\"use-item\"\u003eCNC machine homing, end-stops \u0026amp; limit switch replacement\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003e3D printer bed levelling \u0026amp; axis limit detection\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eConveyor belt object counting \u0026amp; position sensing\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eRobotic arm \u0026amp; actuator position feedback\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eIndustrial metal part presence\/absence detection\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eDIY automation \u0026amp; maker projects\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eCommon Questions\u003c\/p\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eWill this detect aluminium or copper?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eYes, but at a reduced sensing distance — typically 40–50% of the rated 2mm. So expect reliable detection at ~1mm for non-ferrous metals. For iron\/steel, the full 2mm range applies.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eCan I use this as a filament runout sensor on my 3D printer?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eNot directly — it detects metals only, not plastic filament. It's ideal for axis limit switches and bed levelling probes on metal print beds, but not for filament runout detection.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"note\"\u003e\u003cstrong\u003ePlease note:\u003c\/strong\u003e Detects metal only. Non-ferrous metals have ~40–50% reduced effective sensing range. Do not exceed 36V supply voltage. Includes 2 clamp nuts and 2 lock washers.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"NZN Electronics","offers":[{"title":"Default Title","offer_id":42680889868384,"sku":"SEN-LJ12A3-NPN-NO","price":8.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/main-hero-lj12a3-2-zbx-orange.png?v=1777361426"},{"product_id":"arduino-nano","title":"Arduino Nano V3 - USB C","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe Arduino Nano V3 USB-C is a compact, reliable microcontroller board built around the ATmega328P. It is ideal for breadboard projects, robotics, sensors, LED control, STEM learning, and general Arduino prototyping.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eATmega328P microcontroller running at 16MHz\u003c\/li\u003e\n              \u003cli\u003e14 digital I\/O pins, including 6 PWM pins\u003c\/li\u003e\n              \u003cli\u003e8 analog input pins\u003c\/li\u003e\n              \u003cli\u003eUSB-C interface for power and programming\u003c\/li\u003e\n              \u003cli\u003ePre-soldered headers, ready for breadboard use\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n                \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect board\u003c\/strong\u003e\n                \u003cp\u003eGo to Tools → Board → Arduino Nano.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect processor if upload fails\u003c\/strong\u003e\n                \u003cp\u003eTry Tools → Processor → ATmega328P Old Bootloader.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eUse a data USB-C cable\u003c\/strong\u003e\n                \u003cp\u003eCharge-only cables will not upload sketches.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003eArduino Nano V3 USB-C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eMicrocontroller\u003c\/span\u003e\u003cstrong\u003eATmega328P\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eClock Speed\u003c\/span\u003e\u003cstrong\u003e16 MHz\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eUSB Interface\u003c\/span\u003e\u003cstrong\u003eCH340 USB-C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e5V\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eInput Voltage\u003c\/span\u003e\u003cstrong\u003e7–12V recommended\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDigital I\/O Pins\u003c\/span\u003e\u003cstrong\u003e14, including 6 PWM\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eAnalog Inputs\u003c\/span\u003e\u003cstrong\u003e8\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eFlash Memory\u003c\/span\u003e\u003cstrong\u003e32 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSRAM\u003c\/span\u003e\u003cstrong\u003e2 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eEEPROM\u003c\/span\u003e\u003cstrong\u003e1 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCommunication\u003c\/span\u003e\u003cstrong\u003eUART, SPI, I²C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDimensions\u003c\/span\u003e\u003cstrong\u003e43 × 18mm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n              \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect via USB-C\u003c\/strong\u003e\n              \u003cp\u003eUse a data-capable USB-C cable. Some charging cables do not support data transfer.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect board\u003c\/strong\u003e\n              \u003cp\u003eGo to Tools → Board → Arduino Nano.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect processor if upload fails\u003c\/strong\u003e\n              \u003cp\u003eTry Tools → Processor → ATmega328P Old Bootloader.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect port and upload\u003c\/strong\u003e\n              \u003cp\u003eChoose the detected COM\/serial port, then upload your sketch.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eArduino Nano V3 USB-C board\u003c\/strong\u003e\n            \u003cp\u003eIncludes pre-soldered headers and bootloader installed, ready for breadboard use.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e USB-C cable is sold separately unless otherwise stated.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBeginner Arduino and STEM projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRobotics, RC, servos, and motor control\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eSensor projects using temperature, humidity, ultrasonic, PIR, and more\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eLED strips, displays, and lighting controllers\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eHome automation and prototyping\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBreadboard-compatible compact projects\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e This board is a strong general-purpose choice for compact Arduino projects.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhy will my sketch not upload?\u003c\/strong\u003e\n            \u003cp\u003eTry selecting Tools → Processor → ATmega328P Old Bootloader. Also make sure your USB-C cable supports data transfer.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eAre the headers already soldered?\u003c\/strong\u003e\n            \u003cp\u003eYes, this board comes with pre-soldered headers and is ready for breadboard use.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes it work with Arduino libraries?\u003c\/strong\u003e\n            \u003cp\u003eYes, it is compatible with standard Arduino Nano libraries, examples, and community tutorials.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"TZT","offers":[{"title":"In Stock \/ 1 Pack","offer_id":42769632002144,"sku":"ARD-NANO-V3-CH340","price":7.99,"currency_code":"NZD","in_stock":false},{"title":"In Stock \/ 5 Pack","offer_id":42769632034912,"sku":"ARD-NANO-V3-CH341","price":37.99,"currency_code":"NZD","in_stock":false},{"title":"In Stock \/ 10 Pack","offer_id":42769632067680,"sku":"ARD-NANO-V3-CH342","price":69.99,"currency_code":"NZD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/Arduino_Nano_Hero.jpg?v=1778595293"},{"product_id":"28byj-48-stepper-motor-kit","title":"28BYJ-48 Stepper Motor + ULN2003 Driver Board Kit — 5V","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    min-height: 544px;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: auto;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: flex;\n      min-height: 520px;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe 28BYJ-48 Stepper Motor + ULN2003 Driver Board Kit is a beginner-friendly precision motor control solution for Arduino, ESP32, Raspberry Pi, and DIY electronics projects.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003e28BYJ-48 5V geared stepper motor\u003c\/li\u003e\n              \u003cli\u003eULN2003 driver board included\u003c\/li\u003e\n              \u003cli\u003e2048 steps per revolution\u003c\/li\u003e\n              \u003cli\u003eSimple plug-and-play wiring\u003c\/li\u003e\n              \u003cli\u003ePerfect for Arduino learning projects\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect motor\u003c\/strong\u003e\n                \u003cp\u003ePlug the stepper motor directly into the ULN2003 driver board.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eWire IN1-IN4\u003c\/strong\u003e\n                \u003cp\u003eConnect the ULN2003 inputs to Arduino digital pins.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eApply power\u003c\/strong\u003e\n                \u003cp\u003eProvide stable 5V power to the driver board.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eUpload code\u003c\/strong\u003e\n                \u003cp\u003eUse the Arduino Stepper or AccelStepper library examples.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Stepper motors draw holding current even while stationary. For battery-powered projects, de-energise the coils when idle to reduce power consumption.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003e28BYJ-48\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e5V DC\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eMotor Type\u003c\/span\u003e\u003cstrong\u003e4-phase unipolar stepper\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eGear Ratio\u003c\/span\u003e\u003cstrong\u003e1:64 gearbox\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSteps Per Revolution\u003c\/span\u003e\u003cstrong\u003e2048\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eMotor Diameter\u003c\/span\u003e\u003cstrong\u003e27mm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDriver IC\u003c\/span\u003e\u003cstrong\u003eULN2003A\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDriver Inputs\u003c\/span\u003e\u003cstrong\u003eIN1-IN4\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eGetting Started\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003ePlug motor into driver board\u003c\/strong\u003e\n              \u003cp\u003eThe connector is keyed and only inserts one way.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect Arduino pins\u003c\/strong\u003e\n              \u003cp\u003eTypical wiring uses D8-D11 connected to IN1-IN4.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect 5V power\u003c\/strong\u003e\n              \u003cp\u003eApply 5V and GND to the ULN2003 board.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eUpload example code\u003c\/strong\u003e\n              \u003cp\u003eRun a simple sweep or rotation example to test movement.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003e28BYJ-48 Stepper Motor\u003c\/strong\u003e\n            \u003cp\u003ePre-wired geared stepper motor with 5-wire connector attached.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cbr\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eULN2003 Driver Board\u003c\/strong\u003e\n            \u003cp\u003eDriver board with indicator LEDs and motor connector.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eArduino robotics projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eCamera sliders and pan systems\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eAutomation mechanisms\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eDisplay turntables\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eEducational STEM kits\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eDIY motion control projects\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I use this with ESP32?\u003c\/strong\u003e\n            \u003cp\u003eYes. The ULN2003 works with Arduino, ESP32, Raspberry Pi, and most microcontrollers.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes the motor rotate continuously?\u003c\/strong\u003e\n            \u003cp\u003eYes. The motor can rotate continuously in either direction while powered.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan Arduino power the motor?\u003c\/strong\u003e\n            \u003cp\u003eYes for basic projects, though external 5V power is recommended for reliability.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eIs this good for beginners?\u003c\/strong\u003e\n            \u003cp\u003eAbsolutely. This is one of the most popular beginner Arduino motor kits.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\ndocument.querySelectorAll('.nzn-desc .nzn-tab').forEach(function(tab) {\n  tab.addEventListener('click', function() {\n    var wrap = tab.closest('.nzn-desc');\n    var target = tab.getAttribute('data-tab');\n\n    wrap.querySelectorAll('.nzn-tab').forEach(function(t) {\n      t.classList.remove('is-active');\n    });\n\n    wrap.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    var panel = wrap.querySelector('[data-panel=\"' + target + '\"]');\n\n    if (panel) {\n      panel.classList.add('is-active');\n    }\n  });\n});\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"Default Title","offer_id":42721181433952,"sku":"MOD-28BYJ48-ULN2003-KIT","price":5.69,"currency_code":"NZD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/28BYJ_Product_Hero.png?v=1778930183"},{"product_id":"voltage-detection-module-voltage-sensor-for-arduino-electronic-building-blocks","title":"DC 0–25V Voltage Detection Module — Arduino \u0026 Microcontroller Sensor","description":"\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700\u0026display=swap');\n  .nzn-desc .tagline { font-family:'DM Sans',sans-serif; font-size:17px; line-height:1.7; color:#333; border-left:3px solid #e07e2c; padding-left:16px; margin-bottom:32px; }\n  .nzn-desc .section-title { font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#e07e2c; margin-bottom:14px; }\n  .nzn-desc .specs-table { width:100%; border-collapse:collapse; margin-bottom:32px; font-family:'DM Sans',sans-serif; font-size:14px; }\n  .nzn-desc .specs-table tr { border-bottom:1px solid #ebebeb; }\n  .nzn-desc .specs-table tr:last-child { border-bottom:none; }\n  .nzn-desc .specs-table td { padding:10px 8px; }\n  .nzn-desc .specs-table td:first-child { color:#888; width:42%; }\n  .nzn-desc .specs-table td:last-child { font-weight:600; color:#1a1a1a; }\n  .nzn-desc .uses-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:32px; }\n  .nzn-desc .use-item { background:#f7f7f7; border-left:3px solid #e07e2c; padding:12px 14px; font-family:'DM Sans',sans-serif; font-size:13.5px; line-height:1.5; color:#2a2a2a; }\n  .nzn-desc .wire-row { display:flex; align-items:center; gap:12px; padding:9px 12px; background:#f7f7f7; border-radius:4px; margin-bottom:6px; font-family:'DM Sans',sans-serif; font-size:13.5px; }\n  .nzn-desc .wire-dot { width:12px; height:12px; border-radius:50%; flex-shrink:0; }\n  .nzn-desc .wire-label { font-weight:700; color:#1a1a1a; min-width:55px; }\n  .nzn-desc .faq-item { margin-bottom:12px; padding:12px 14px; background:#f7f7f7; border-radius:4px; font-family:'DM Sans',sans-serif; }\n  .nzn-desc .faq-q { font-weight:700; color:#1a1a1a; margin-bottom:5px; font-size:13.5px; }\n  .nzn-desc .faq-a { color:#555; font-size:13.5px; line-height:1.6; }\n  .nzn-desc .note { background:#fafafa; border:1px solid #e8e8e8; border-radius:4px; padding:14px 16px; font-family:'DM Sans',sans-serif; font-size:13px; color:#888; line-height:1.6; }\n  .nzn-desc .note strong { color:#555; }\n  .nzn-desc hr.divider { border:none; border-top:1px solid #ebebeb; margin:28px 0; }\n\u003c\/style\u003e\n\u003cdiv class=\"nzn-desc\" style=\"max-width:1200px;margin:0 auto;\"\u003e\n  \u003cp class=\"tagline\"\u003eCompact DC voltage detection module that safely measures 0–25V DC through a standard Arduino or microcontroller analog input. Uses a precision 30kΩ\/7.5kΩ resistive divider to scale voltage down 5:1 — letting you monitor battery packs, solar panels, and power supplies without risk to your board. Screw terminals for secure wiring.\u003c\/p\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eSpecifications\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eMH-Electronic\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eInput Voltage Range\u003c\/td\u003e\n\u003ctd\u003eDC 0 – 25V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eDetection Range\u003c\/td\u003e\n\u003ctd\u003e0.02445V – 25V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eDivider Ratio\u003c\/td\u003e\n\u003ctd\u003e5:1 (30kΩ + 7.5kΩ)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMax Input — 5V System\u003c\/td\u003e\n\u003ctd\u003e25V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMax Input — 3.3V System\u003c\/td\u003e\n\u003ctd\u003e16.5V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eADC Resolution\u003c\/td\u003e\n\u003ctd\u003e10-bit (analog resolution 0.00489V)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003ePCB Size\u003c\/td\u003e\n\u003ctd\u003e25 × 13mm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMounting Hole\u003c\/td\u003e\n\u003ctd\u003e3.0mm\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eWiring Reference\u003c\/p\u003e\n  \u003cdiv class=\"wire-row\"\u003e\n\u003cspan class=\"wire-dot\" style=\"background:#c0392b;\"\u003e\u003c\/span\u003e\u003cspan class=\"wire-label\"\u003eVCC (screw)\u003c\/span\u003e\u003cspan\u003ePositive of the voltage source being measured\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"wire-row\"\u003e\n\u003cspan class=\"wire-dot\" style=\"background:#222;\"\u003e\u003c\/span\u003e\u003cspan class=\"wire-label\"\u003eGND (screw)\u003c\/span\u003e\u003cspan\u003eNegative \/ ground of the voltage source being measured\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"wire-row\"\u003e\n\u003cspan class=\"wire-dot\" style=\"background:#e67e22;\"\u003e\u003c\/span\u003e\u003cspan class=\"wire-label\"\u003eS (header)\u003c\/span\u003e\u003cspan\u003eSignal output → connect to any analog input pin (e.g. A0) on your MCU\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"wire-row\"\u003e\n\u003cspan class=\"wire-dot\" style=\"background:#e07e2c;\"\u003e\u003c\/span\u003e\u003cspan class=\"wire-label\"\u003e+ (header)\u003c\/span\u003e\u003cspan\u003eMCU power → connect to 5V or 3.3V on your microcontroller\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"wire-row\" style=\"margin-bottom:32px;\"\u003e\n\u003cspan class=\"wire-dot\" style=\"background:#555;\"\u003e\u003c\/span\u003e\u003cspan class=\"wire-label\"\u003e– (header)\u003c\/span\u003e\u003cspan\u003eMCU ground → connect to GND on your microcontroller\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eGetting Started\u003c\/p\u003e\n  \u003ctable class=\"specs-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eArduino IDE\u003c\/td\u003e\n\u003ctd\u003eNo library needed — use \u003ccode\u003eanalogRead(A0)\u003c\/code\u003e and apply the 5:1 scale factor in your sketch\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eFormula\u003c\/td\u003e\n\u003ctd\u003eVoltage = (analogRead \/ 1023.0) × Vref × 5.0 — where Vref is 5.0V or 3.3V depending on your board\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eESPHome\u003c\/td\u003e\n\u003ctd\u003eUse \u003ccode\u003eplatform: adc\u003c\/code\u003e with \u003ccode\u003efilters: multiply: 5.0\u003c\/code\u003e to scale the reading\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e3.3V systems\u003c\/td\u003e\n\u003ctd\u003eChange max input to 16.5V — adjust your formula accordingly\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eCommon Uses\u003c\/p\u003e\n  \u003cdiv class=\"uses-grid\"\u003e\n    \u003cdiv class=\"use-item\"\u003eBattery voltage monitoring — LiPo, Li-ion, lead-acid \u0026amp; NiMH packs\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eSolar panel \u0026amp; renewable energy output measurement\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eUnder\/over-voltage fault detection in circuits\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eDC power supply testing \u0026amp; data logging\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eDIY voltmeter with OLED or LCD display\u003c\/div\u003e\n    \u003cdiv class=\"use-item\"\u003eMotor \u0026amp; actuator voltage monitoring in robotics\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"section-title\"\u003eFrequently Asked Questions\u003c\/p\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eCan this measure AC voltage?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eNo — DC only. The resistive divider cannot safely or accurately measure AC. For AC measurement you need a dedicated AC voltage sensor module.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eCan I measure negative voltages?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eNo — the module is designed for positive DC voltages only. Applying a negative voltage to the input will damage the module and potentially your microcontroller.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"faq-item\"\u003e\n    \u003cdiv class=\"faq-q\"\u003eWhat's the difference between the screw terminals and the header pins?\u003c\/div\u003e\n    \u003cdiv class=\"faq-a\"\u003eThe two screw terminals (VCC and GND) connect to the voltage source you're measuring. The three header pins (+, –, S) connect to your microcontroller — power, ground, and the analog signal output pin.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003chr class=\"divider\"\u003e\n  \u003cp class=\"note\"\u003e\u003cstrong\u003ePlease note:\u003c\/strong\u003e Do not exceed 25V input on 5V systems or 16.5V on 3.3V systems. Measures DC only. The \"+\" header pin connects to MCU power — not to the voltage source. No display or microcontroller included.\u003c\/p\u003e\n\u003c\/div\u003e","brand":"NZN Electronics","offers":[{"title":"Default Title","offer_id":42724740661344,"sku":"MH-VD25-MOD","price":1.39,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/Front-Hero-Cover-1pc_3c5e123e-ba69-4aa0-bd0e-db540febfe21.png?v=1777318750"},{"product_id":"esp32-c3-supermini-usb-c","title":"ESP32-C3 USB-C Dev Board","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n    margin-bottom: 14px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  .nzn-desc .nzn-pinout-img {\n    width: 100%;\n    max-width: 100%;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    display: block;\n    background: #fff;\n  }\n\n  .nzn-desc .nzn-pinout-caption {\n    margin-top: 14px;\n    font-size: 13px;\n    text-align: center;\n    color: #60646c;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"pinout\"\u003ePinout\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe ESP32-C3 SuperMini USB-C is an ultra-compact WiFi and Bluetooth 5 BLE development board built around Espressif's RISC-V ESP32-C3 chip. It is ideal for compact IoT projects, ESPHome, sensors, BLE beacons, smart home devices, and battery-powered wireless builds.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eESP32-C3 RISC-V processor running up to 160MHz\u003c\/li\u003e\n              \u003cli\u003eBuilt-in 2.4GHz WiFi and Bluetooth 5 BLE\u003c\/li\u003e\n              \u003cli\u003eUSB-C programming and power connection\u003c\/li\u003e\n              \u003cli\u003eCompact SuperMini footprint, around 22.5 × 18mm\u003c\/li\u003e\n              \u003cli\u003eCompatible with Arduino IDE, MicroPython, ESP-IDF, and ESPHome\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n                \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall ESP32 board package\u003c\/strong\u003e\n                \u003cp\u003eAdd the ESP32 Board Manager URL and install “esp32 by Espressif Systems”.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect board\u003c\/strong\u003e\n                \u003cp\u003eGo to Tools → Board → ESP32 Arduino → ESP32C3 Dev Module.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eUse a data USB-C cable\u003c\/strong\u003e\n                \u003cp\u003eCharge-only cables will not upload sketches or detect the board.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e GPIO pins operate at 3.3V logic only and are not 5V tolerant. Headers are supplied unsoldered so you can fit them to suit your project.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eChip\u003c\/span\u003e\u003cstrong\u003eEspressif ESP32-C3\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eArchitecture\u003c\/span\u003e\u003cstrong\u003e32-bit RISC-V single core\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCPU Speed\u003c\/span\u003e\u003cstrong\u003eUp to 160 MHz\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSRAM\u003c\/span\u003e\u003cstrong\u003e400 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eFlash Memory\u003c\/span\u003e\u003cstrong\u003e4 MB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWiFi\u003c\/span\u003e\u003cstrong\u003e802.11 b\/g\/n 2.4GHz\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eBluetooth\u003c\/span\u003e\u003cstrong\u003eBluetooth 5 BLE\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eGPIO\u003c\/span\u003e\u003cstrong\u003e11 exposed GPIO pins\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eADC\u003c\/span\u003e\u003cstrong\u003e6 pins, 12-bit resolution\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eUSB Connector\u003c\/span\u003e\u003cstrong\u003eUSB-C for programming and power\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eLogic Level\u003c\/span\u003e\u003cstrong\u003e3.3V, not 5V tolerant\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOnboard LED\u003c\/span\u003e\u003cstrong\u003eBlue LED on GPIO8\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eButtons\u003c\/span\u003e\u003cstrong\u003eBOOT on GPIO9 and RESET\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDimensions\u003c\/span\u003e\u003cstrong\u003eApprox. 22.5 × 18mm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e All GPIO are 3.3V only. Use a level shifter when connecting to 5V sensors or modules.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n              \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eAdd ESP32 Board Manager URL\u003c\/strong\u003e\n              \u003cp\u003eGo to File → Preferences → Additional Board Manager URLs and add the Espressif ESP32 package URL.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall ESP32 boards\u003c\/strong\u003e\n              \u003cp\u003eOpen Boards Manager, search “esp32 by Espressif Systems”, then install the package.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect ESP32C3 Dev Module\u003c\/strong\u003e\n              \u003cp\u003eGo to Tools → Board → ESP32 Arduino → ESP32C3 Dev Module.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eEnable CDC on Boot\u003c\/strong\u003e\n              \u003cp\u003eSet Tools → CDC on Boot → Enabled for USB-C serial monitor output.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e6\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect port and upload\u003c\/strong\u003e\n              \u003cp\u003eUse a data-capable USB-C cable and select the detected COM\/serial port.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e If uploading fails, hold BOOT, press RESET, then release BOOT to enter download mode.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eESP32-C3 SuperMini USB-C development board\u003c\/strong\u003e\n            \u003cp\u003eCompact WiFi and Bluetooth 5 BLE development board for IoT, ESPHome, Arduino, and MicroPython projects.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e2×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003e8-pin header strips\u003c\/strong\u003e\n            \u003cp\u003eSupplied unsoldered so you can solder the headers in the orientation that suits your project.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e USB-C cable is sold separately unless otherwise stated.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eESPHome and Home Assistant compact sensor nodes\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eIoT data logging for temperature, humidity, and environment monitoring\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBluetooth 5 BLE beacons, proximity sensors, and wireless controllers\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eMQTT-based remote monitoring and cloud-connected projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBattery-powered sensors using deep sleep for low current draw\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eReplacing Arduino plus WiFi shield setups with one compact board\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e This board is best suited for compact 3.3V projects where WiFi, BLE, and small size matter.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eAre the GPIO pins 5V tolerant?\u003c\/strong\u003e\n            \u003cp\u003eNo. All GPIO pins are 3.3V only. Do not apply 5V directly to any GPIO pin.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhy does my Serial Monitor show nothing?\u003c\/strong\u003e\n            \u003cp\u003eGo to Tools → CDC on Boot and set it to Enabled. This is required for direct USB-C serial output.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I use this with ESPHome?\u003c\/strong\u003e\n            \u003cp\u003eYes. Select ESP32-C3 as the platform in ESPHome. It works well for compact smart home sensors and WiFi nodes.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eAre the headers already soldered?\u003c\/strong\u003e\n            \u003cp\u003eNo. The headers are supplied unsoldered so you can fit them upright, downward, or omit them depending on your project.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e GPIO8 is shared with the onboard blue LED, and GPIO9 is used by the BOOT button.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"pinout\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eGPIO Pinout\u003c\/h3\u003e\n\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/esp32-c3-supermini-pinout.png?v=1778319610\" alt=\"ESP32-C3 SuperMini GPIO pinout diagram showing ADC, I2C, SPI, UART and GPIO assignments\" class=\"nzn-pinout-img\"\u003e\n\n        \u003cp class=\"nzn-pinout-caption\"\u003eAll GPIO operate at 3.3V logic and are not 5V tolerant. All exposed GPIO support PWM.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Always check your wiring before powering the board, especially when using external sensors or modules.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"1 Pack - ($8.99ea)","offer_id":42756707942496,"sku":"ESP32-C3-MINI-1PK","price":8.99,"currency_code":"NZD","in_stock":true},{"title":"2 Pack - ($8.495ea)","offer_id":42756707975264,"sku":"ESP32-C3-MINI-2PK","price":16.99,"currency_code":"NZD","in_stock":true},{"title":"5 Pack - ($7.99ea)","offer_id":42756708008032,"sku":"ESP32-C3-MINI-5PK","price":39.99,"currency_code":"NZD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/ESP32_C3_Productshot2.jpg?v=1778640227"},{"product_id":"usb-a-to-usb-c-cable-1m-data-charging-for-arduino-esp32-dev-boards","title":"USB A - USB-C - Power\/Data Cable 1m","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 520px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-info {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-info h3 {\n    margin: 0 0 16px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-info p {\n    color: #40566c;\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"compatibility\"\u003eCompatibility\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003cdiv class=\"nzn-overview\"\u003e\n\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n\n            \u003cp\u003eA reliable 1m USB-A to USB-C data and charging cable designed for ESP32 boards, Arduino development boards, Raspberry Pi devices, Android phones, and other USB-C electronics. Supports both charging and full USB data transmission.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eUSB-A to USB-C connection\u003c\/li\u003e\n              \u003cli\u003eSupports charging and data transfer\u003c\/li\u003e\n              \u003cli\u003e1 metre cable length\u003c\/li\u003e\n              \u003cli\u003eIdeal for ESP32 and Arduino programming\u003c\/li\u003e\n              \u003cli\u003eCompatible with most USB-C devices\u003c\/li\u003e\n            \u003c\/ul\u003e\n\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-info\"\u003e\n\n            \u003ch3\u003eImportant\u003c\/h3\u003e\n\n            \u003cp\u003eThis is a full data USB cable — not charge-only. Many low-cost USB-C cables only support charging and will not work for programming ESP32, Arduino, or other development boards.\u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Maximum charging current depends on your power adapter and connected device.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n\n          \u003cdiv\u003e\n\u003cspan\u003eConnector\u003c\/span\u003e\u003cstrong\u003eUSB-A to USB-C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eUSB Standard\u003c\/span\u003e\u003cstrong\u003eUSB 2.0\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCable Length\u003c\/span\u003e\u003cstrong\u003e1 metre (100cm)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eMaximum Current\u003c\/span\u003e\u003cstrong\u003e1.5A\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eFunction\u003c\/span\u003e\u003cstrong\u003eCharging + Data Transfer\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eConductor\u003c\/span\u003e\u003cstrong\u003e4-core composite copper\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOuter Jacket\u003c\/span\u003e\u003cstrong\u003ePVC\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWeight\u003c\/span\u003e\u003cstrong\u003e25g\u003c\/strong\u003e\n\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e USB 2.0 speeds are suitable for programming, serial communication, and general device charging.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n\n          \u003cdiv\u003e\n            \u003cstrong\u003eUSB-A to USB-C cable\u003c\/strong\u003e\n            \u003cp\u003e1 metre USB data and charging cable suitable for development boards and general USB-C devices.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Development boards and devices shown in photos are for demonstration purposes only.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"compatibility\"\u003e\n\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eCompatible With\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n\n          \u003cdiv class=\"nzn-use\"\u003eESP32-C3 SuperMini development boards\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eESP32 and ESP8266 boards with USB-C\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eArduino boards using USB-C\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRaspberry Pi 4 and Raspberry Pi 5\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eAndroid smartphones and tablets\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eMost USB-C charging and data devices\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Compatible with both charging and USB serial communication applications.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"Default Title","offer_id":42733421559904,"sku":"CBL-USBA-USBC-1M","price":3.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/USB_Data_Cable_Hero.png?v=1778664755"},{"product_id":"esp32-devkitc-32-development-board-esp-wroom-32-38-pin-type-c-wifi-bluetooth","title":"ESP32-WROOM32 Dev Module USB-C 30 Pin","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003cdiv class=\"nzn-overview\"\u003e\n\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003e\n              The ESP32 Dev Module USB-C is a powerful dual-core WiFi and Bluetooth development board based on the ESP-WROOM-32 module. Perfect for Arduino, ESPHome, Home Assistant, IoT, automation, robotics, wireless sensors, and MicroPython projects.\n            \u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eDual-core ESP32 processor running up to 240MHz\u003c\/li\u003e\n              \u003cli\u003eBuilt-in 2.4GHz WiFi and Bluetooth BLE support\u003c\/li\u003e\n              \u003cli\u003eUSB-C interface with CP2102 USB-to-UART chip\u003c\/li\u003e\n              \u003cli\u003e30-pin breadboard-friendly narrow layout\u003c\/li\u003e\n              \u003cli\u003eCompatible with Arduino IDE, ESPHome, and MicroPython\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n                \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall ESP32 board package\u003c\/strong\u003e\n                \u003cp\u003eAdd the ESP32 Board Manager URL and install “esp32 by Espressif Systems”.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect board\u003c\/strong\u003e\n                \u003cp\u003eGo to Tools → Board → ESP32 Arduino → ESP32 Dev Module.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eUse a data USB-C cable\u003c\/strong\u003e\n                \u003cp\u003eCharge-only cables will not upload sketches or detect the board.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e GPIO pins operate at 3.3V logic only and are not 5V tolerant. Every board is individually inspected before dispatch from NZ stock.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eModule\u003c\/span\u003e\u003cstrong\u003eESP-WROOM-32\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProcessor\u003c\/span\u003e\u003cstrong\u003eDual-core Tensilica LX6\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eClock Speed\u003c\/span\u003e\u003cstrong\u003eUp to 240 MHz\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eFlash Memory\u003c\/span\u003e\u003cstrong\u003e4 MB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSRAM\u003c\/span\u003e\u003cstrong\u003e520 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWiFi\u003c\/span\u003e\u003cstrong\u003e802.11 b\/g\/n 2.4GHz\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eBluetooth\u003c\/span\u003e\u003cstrong\u003eBluetooth Classic + BLE 4.2\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eUSB Interface\u003c\/span\u003e\u003cstrong\u003eUSB-C CP2102\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eI\/O Voltage\u003c\/span\u003e\u003cstrong\u003e3.3V logic\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePins\u003c\/span\u003e\u003cstrong\u003e30-pin narrow layout\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eInterfaces\u003c\/span\u003e\u003cstrong\u003eUART, SPI, I²C, I²S, ADC, DAC, PWM\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eButtons\u003c\/span\u003e\u003cstrong\u003eEN \/ Reset and Boot\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e5V USB input\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDeep Sleep Current\u003c\/span\u003e\u003cstrong\u003e\u0026lt;5µA\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n              \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eAdd ESP32 Board Manager URL\u003c\/strong\u003e\n              \u003cp\u003eAdd the Espressif ESP32 package URL in Arduino IDE Preferences.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall ESP32 boards\u003c\/strong\u003e\n              \u003cp\u003eOpen Boards Manager and install “esp32 by Espressif Systems”.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect ESP32 Dev Module\u003c\/strong\u003e\n              \u003cp\u003eGo to Tools → Board → ESP32 Arduino → ESP32 Dev Module.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect port and upload\u003c\/strong\u003e\n              \u003cp\u003eUse a data-capable USB-C cable and select the detected COM\/serial port.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eESP32 Dev Module USB-C board\u003c\/strong\u003e\n            \u003cp\u003eIncludes pre-soldered headers and onboard WiFi\/Bluetooth support, ready for development and prototyping.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eESPHome and Home Assistant smart home projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eWireless IoT sensors and cloud-connected devices\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBluetooth LE projects and wireless controllers\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRobotics and motor control applications\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eMicroPython and Arduino-based development\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBreadboard prototyping and embedded systems learning\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eAre the GPIO pins 5V tolerant?\u003c\/strong\u003e\n            \u003cp\u003eNo. ESP32 GPIO pins operate at 3.3V logic only. Applying 5V directly to GPIO pins may permanently damage the board.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhy is my board not detected?\u003c\/strong\u003e\n            \u003cp\u003eFirst try a different USB-C cable, as many cables are charge-only. Some systems may also require the CP2102 driver to be installed.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes this work with ESPHome?\u003c\/strong\u003e\n            \u003cp\u003eYes. This board is fully compatible with ESPHome and commonly used with Home Assistant smart home projects.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhich board should I select in Arduino IDE?\u003c\/strong\u003e\n            \u003cp\u003eIn most cases select “ESP32 Dev Module” under the ESP32 Arduino boards list.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\n  document.querySelectorAll('.nzn-desc').forEach(function(desc) {\n    const tabs = desc.querySelectorAll('.nzn-tab');\n    const panels = desc.querySelectorAll('.nzn-panel');\n\n    tabs.forEach(function(tab) {\n      tab.addEventListener('click', function() {\n        const target = tab.getAttribute('data-tab');\n\n        tabs.forEach(function(t) {\n          t.classList.remove('is-active');\n        });\n\n        panels.forEach(function(panel) {\n          panel.classList.remove('is-active');\n        });\n\n        tab.classList.add('is-active');\n\n        const activePanel = desc.querySelector('[data-panel=\"' + target + '\"]');\n        if (activePanel) {\n          activePanel.classList.add('is-active');\n        }\n      });\n    });\n  });\n\u003c\/script\u003e","brand":"Espressif","offers":[{"title":"Default Title","offer_id":42737167073376,"sku":"ESP32-DEVKITC-CP2102-TYPEC","price":11.99,"currency_code":"NZD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/ESP32-Hero.png?v=1778622760"},{"product_id":"dht22-am2302-temperature-humidity-sensor","title":"DHT22 \/ AM2302 Temperature \u0026 Humidity Sensor Module","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-card {\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    background: #fff;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: block;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    color: #ff7a2f;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n    text-transform: uppercase;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"howitworks\"\u003eHow It Works\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-overview\"\u003e\n\n        \u003cdiv\u003e\n          \u003cp\u003e\n            High-accuracy DHT22 \/ AM2302 digital temperature and humidity sensor module for Arduino, ESP32, Raspberry Pi, ESPHome, and Home Assistant projects. Offers significantly better accuracy and wider operating range than the popular DHT11 sensor.\n          \u003c\/p\u003e\n\n          \u003cul class=\"nzn-checks\"\u003e\n            \u003cli\u003eTemperature \u0026amp; humidity sensing\u003c\/li\u003e\n            \u003cli\u003eDigital single-bus output\u003c\/li\u003e\n            \u003cli\u003eBuilt-in pull-up resistor\u003c\/li\u003e\n            \u003cli\u003e3.3V \u0026amp; 5V compatible\u003c\/li\u003e\n            \u003cli\u003eIdeal for smart home projects\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect power\u003c\/strong\u003e\n              \u003cp\u003eWire VCC to 3.3V or 5V and connect GND.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect DATA pin\u003c\/strong\u003e\n              \u003cp\u003eUse any digital GPIO pin on Arduino or ESP32.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall library\u003c\/strong\u003e\n              \u003cp\u003eUse the standard DHT sensor library or native ESPHome support.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eRead live data\u003c\/strong\u003e\n              \u003cp\u003eBegin monitoring temperature and humidity instantly.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e This module includes the onboard pull-up resistor already fitted for plug-and-play operation.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-specs\"\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003eDHT22 \/ AM2302\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e3.3V – 5.5V DC\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eOutput Type\u003c\/span\u003e\u003cstrong\u003eDigital Single-Bus\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eTemperature Range\u003c\/span\u003e\u003cstrong\u003e-40°C to 80°C\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eTemperature Accuracy\u003c\/span\u003e\u003cstrong\u003e±0.5°C\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eHumidity Range\u003c\/span\u003e\u003cstrong\u003e20–90% RH\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eHumidity Accuracy\u003c\/span\u003e\u003cstrong\u003e±2% RH\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eSampling Rate\u003c\/span\u003e\u003cstrong\u003e1 Reading Every 2 Seconds\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eSignal Distance\u003c\/span\u003e\u003cstrong\u003eUp to 20 Metres\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003ePins\u003c\/span\u003e\u003cstrong\u003eVCC \/ DATA \/ GND\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003ePCB Size\u003c\/span\u003e\u003cstrong\u003e40 × 23mm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eWeight\u003c\/span\u003e\u003cstrong\u003e4g\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Compatible with both 3.3V and 5V microcontroller platforms.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"howitworks\"\u003e\n      \u003cdiv class=\"nzn-started\"\u003e\n        \u003ch3\u003eHow It Works\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-step\"\u003e\n          \u003cspan\u003e1\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eInternal sensor measures environment\u003c\/strong\u003e\n            \u003cp\u003eThe DHT22 continuously monitors surrounding temperature and humidity.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-step\"\u003e\n          \u003cspan\u003e2\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eDigital conversion\u003c\/strong\u003e\n            \u003cp\u003eSensor data is processed internally and transmitted digitally.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-step\"\u003e\n          \u003cspan\u003e3\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eSingle-wire communication\u003c\/strong\u003e\n            \u003cp\u003eOnly one DATA pin is required for communication.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-step\"\u003e\n          \u003cspan\u003e4\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eMicrocontroller reads values\u003c\/strong\u003e\n            \u003cp\u003eArduino, ESP32, or Raspberry Pi receives live readings for automation or display.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Recommended minimum interval between readings is 2 seconds.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-specs\"\u003e\n        \u003cdiv\u003e\n\u003cspan\u003e1 ×\u003c\/span\u003e\u003cstrong\u003eDHT22 \/ AM2302 Sensor Module\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003cspan\u003eConnector\u003c\/span\u003e\u003cstrong\u003ePre-soldered 3-pin header\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Ready to connect directly to breadboards and Dupont jumper wires.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-uses\"\u003e\n        \u003cdiv class=\"nzn-use\"\u003eHome Assistant \u0026amp; ESPHome projects\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eWeather stations\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eGreenhouse monitoring\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eHVAC automation\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eServer room monitoring\u003c\/div\u003e\n        \u003cdiv class=\"nzn-use\"\u003eEnvironmental data logging\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Popular for both beginner and advanced smart home projects.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n      \u003cdiv class=\"nzn-faq\"\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eWhat is the difference between DHT11 and DHT22?\u003c\/strong\u003e\n          \u003cp\u003eDHT22 offers significantly better accuracy, wider temperature range, and improved humidity sensing compared to DHT11.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eDoes this module include the pull-up resistor?\u003c\/strong\u003e\n          \u003cp\u003eYes. The pull-up resistor is already installed onboard, so no external resistor is required.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-faq-item\"\u003e\n          \u003cstrong\u003eWill it work with ESPHome and Home Assistant?\u003c\/strong\u003e\n          \u003cp\u003eYes. DHT22 sensors are natively supported by ESPHome and integrate easily into Home Assistant dashboards.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Compatible with Arduino IDE, MicroPython, CircuitPython, and ESPHome environments.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"AOSONG","offers":[{"title":"Default Title","offer_id":42737188044896,"sku":"DHT22-AM2302-MODULE","price":4.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/DHT-22-Producthero.png?v=1779011528"},{"product_id":"ds18b20-waterproof-temperature-sensor-probe-1m","title":"DS18B20 Waterproof Temperature Probe - 1m","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n    margin-bottom: 14px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe DS18B20 is a waterproof digital temperature probe with a 1 metre cable and bare wire ends. It provides accurate temperature readings using the Dallas 1-Wire protocol and works with Arduino, ESP32, Raspberry Pi, ESPHome, and other microcontroller platforms.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eWaterproof stainless steel probe design\u003c\/li\u003e\n              \u003cli\u003e1 metre cable with bare wire ends\u003c\/li\u003e\n              \u003cli\u003eDigital 1-Wire communication\u003c\/li\u003e\n              \u003cli\u003eCompatible with 3.3V and 5V systems\u003c\/li\u003e\n              \u003cli\u003eIdeal for liquid, outdoor, and temperature monitoring projects\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect VCC\u003c\/strong\u003e\n                \u003cp\u003eConnect the red wire to 3.3V or 5V.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect DATA\u003c\/strong\u003e\n                \u003cp\u003eConnect the yellow wire to any digital GPIO pin.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect GND\u003c\/strong\u003e\n                \u003cp\u003eConnect the black wire to GND.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eAdd pull-up resistor\u003c\/strong\u003e\n                \u003cp\u003eUse a 4.7kΩ resistor between VCC and DATA for reliable communication.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e A 4.7kΩ pull-up resistor is required between VCC and DATA for normal operation.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSensor\u003c\/span\u003e\u003cstrong\u003eDS18B20\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProtocol\u003c\/span\u003e\u003cstrong\u003eDallas 1-Wire\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSupply Voltage\u003c\/span\u003e\u003cstrong\u003e3.0V – 5.5V\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eTemperature Range\u003c\/span\u003e\u003cstrong\u003e−50°C to +125°C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eAccuracy\u003c\/span\u003e\u003cstrong\u003e±0.5°C (−10°C to +85°C)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eResolution\u003c\/span\u003e\u003cstrong\u003e9–12 bit adjustable\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCable Length\u003c\/span\u003e\u003cstrong\u003e1 metre\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWire End\u003c\/span\u003e\u003cstrong\u003eBare \/ unterminated\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProbe Housing\u003c\/span\u003e\u003cstrong\u003eStainless steel\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProbe Size\u003c\/span\u003e\u003cstrong\u003eApprox. 6mm × 50mm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWaterproofing\u003c\/span\u003e\u003cstrong\u003eFully sealed\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCommunication\u003c\/span\u003e\u003cstrong\u003eDigital 1-Wire bus\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Bare wire ends require soldering, screw terminals, or another suitable connector method.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eWire the sensor\u003c\/strong\u003e\n              \u003cp\u003eRed → VCC, Yellow → DATA, Black → GND.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eAdd pull-up resistor\u003c\/strong\u003e\n              \u003cp\u003eConnect a 4.7kΩ resistor between VCC and DATA.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall Arduino libraries\u003c\/strong\u003e\n              \u003cp\u003eInstall OneWire and DallasTemperature from the Arduino Library Manager.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eUpload example code\u003c\/strong\u003e\n              \u003cp\u003eUse a DS18B20 example sketch to verify communication and temperature readings.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003eTypical wiring:\u003c\/strong\u003e Red → 5V, Yellow → D2, Black → GND, with a 4.7kΩ resistor between D2 and 5V.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eDS18B20 waterproof temperature probe\u003c\/strong\u003e\n            \u003cp\u003e1 metre cable with stainless steel waterproof probe and bare wire ends.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e 4.7kΩ pull-up resistor is required but not included.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eAquarium and fish tank temperature monitoring\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003ePool and spa temperature sensing\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eHydroponics and soil temperature measurement\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eFermentation and brewing projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eESPHome and Home Assistant sensor nodes\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eIndustrial pipe and fluid temperature monitoring\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The stainless steel probe is suitable for immersion applications and outdoor environments.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I connect multiple DS18B20 sensors together?\u003c\/strong\u003e\n            \u003cp\u003eYes. Multiple DS18B20 sensors can share one data line because each sensor has a unique 64-bit address.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhy does my sensor read 85°C or −127°C?\u003c\/strong\u003e\n            \u003cp\u003eThis usually means the pull-up resistor is missing or the wiring is incorrect. Make sure a 4.7kΩ resistor is connected between VCC and DATA.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eIs the probe fully waterproof?\u003c\/strong\u003e\n            \u003cp\u003eThe stainless steel probe and cable joint are waterproof and suitable for immersion. The bare wire end should still be protected from moisture.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes it work with ESPHome and Home Assistant?\u003c\/strong\u003e\n            \u003cp\u003eYes, the DS18B20 is fully supported in ESPHome using the built-in Dallas temperature component.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Compatible with Arduino, ESP32, Raspberry Pi, STM32, ESPHome, and other 1-Wire capable platforms.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"Default","offer_id":42738657853536,"sku":"NZE-DS18B20-1M","price":3.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/DS18B20_1m_Hero_Main.png?v=1777968957"},{"product_id":"ds18b20-waterproof-temperature-sensor-probe-3m","title":"DS18B20 Waterproof Temperature Probe - 3m","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n    margin-bottom: 14px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  .nzn-desc .wire-dot {\n    display: inline-block;\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    margin-right: 8px;\n    vertical-align: middle;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe DS18B20 is a waterproof digital temperature probe with a 3 metre cable and bare wire ends. It uses the Dallas 1-Wire protocol for accurate temperature readings over a single data line, making it ideal for Arduino, ESP32, Raspberry Pi, Home Assistant, and outdoor sensing projects.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eWaterproof stainless steel temperature probe\u003c\/li\u003e\n              \u003cli\u003e3 metre cable for longer sensor placement\u003c\/li\u003e\n              \u003cli\u003eDigital 1-Wire output using a single data pin\u003c\/li\u003e\n              \u003cli\u003eWorks with 3.3V and 5V microcontrollers\u003c\/li\u003e\n              \u003cli\u003eGreat for liquid, outdoor, soil, freezer, and brewing projects\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect power\u003c\/strong\u003e\n                \u003cp\u003eConnect red to 3.3V or 5V, and black to GND.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect data\u003c\/strong\u003e\n                \u003cp\u003eConnect yellow to any digital I\/O pin on your microcontroller.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eAdd pull-up resistor\u003c\/strong\u003e\n                \u003cp\u003eUse a 4.7kΩ resistor between VCC and DATA for reliable 1-Wire operation.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall library\u003c\/strong\u003e\n                \u003cp\u003eFor Arduino, install the OneWire and DallasTemperature libraries.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e A 4.7kΩ pull-up resistor is required between VCC and DATA. Resistor is not included.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSensor Chip\u003c\/span\u003e\u003cstrong\u003eDS18B20\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProtocol\u003c\/span\u003e\u003cstrong\u003eDallas \/ Maxim 1-Wire\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSupply Voltage\u003c\/span\u003e\u003cstrong\u003e3.0V – 5.5V DC\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eTemperature Range\u003c\/span\u003e\u003cstrong\u003e-50°C to +125°C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eAccuracy\u003c\/span\u003e\u003cstrong\u003e±0.5°C from -10°C to +85°C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eResolution\u003c\/span\u003e\u003cstrong\u003e9–12 bit adjustable\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOutput\u003c\/span\u003e\u003cstrong\u003eDigital 1-Wire\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCable Length\u003c\/span\u003e\u003cstrong\u003e3 metres\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWire End\u003c\/span\u003e\u003cstrong\u003eBare \/ unterminated\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProbe Housing\u003c\/span\u003e\u003cstrong\u003eStainless steel\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eProbe Size\u003c\/span\u003e\u003cstrong\u003eApprox. 6mm × 50mm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWaterproofing\u003c\/span\u003e\u003cstrong\u003eFully sealed, suitable for immersion\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWires\u003c\/span\u003e\u003cstrong\u003eRed VCC, Yellow DATA, Black GND\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e This probe has bare wire ends, so soldering, screw terminals, or another suitable connector method is required.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eWire VCC\u003c\/strong\u003e\n              \u003cp\u003e\u003cspan class=\"wire-dot\" style=\"background:#c0392b;\"\u003e\u003c\/span\u003eRed wire → 3.3V or 5V.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eWire DATA\u003c\/strong\u003e\n              \u003cp\u003e\u003cspan class=\"wire-dot\" style=\"background:#f1c40f;border:1px solid #ccc;\"\u003e\u003c\/span\u003eYellow wire → any digital I\/O pin.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eWire GND\u003c\/strong\u003e\n              \u003cp\u003e\u003cspan class=\"wire-dot\" style=\"background:#222;\"\u003e\u003c\/span\u003eBlack wire → GND.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eAdd 4.7kΩ pull-up resistor\u003c\/strong\u003e\n              \u003cp\u003eConnect one 4.7kΩ resistor between VCC and DATA.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall libraries\u003c\/strong\u003e\n              \u003cp\u003eFor Arduino IDE, install OneWire by Paul Stoffregen and DallasTemperature by Miles Burton.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003eWiring:\u003c\/strong\u003e Red → VCC, Yellow → DATA, Black → GND. One 4.7kΩ pull-up resistor is required between VCC and DATA.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eDS18B20 waterproof temperature probe\u003c\/strong\u003e\n            \u003cp\u003e3 metre cable with stainless steel probe housing and bare wire ends.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e 4.7kΩ pull-up resistor is not included.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003ePond, tank, and aquaponics temperature monitoring\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eGreenhouse, garden bed, and soil temperature sensing\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eChest freezer and cold storage monitoring\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eHome brewing and fermentation temperature tracking\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eUnderfloor heating and HVAC temperature sensing\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eArduino, Raspberry Pi, ESP32, and Home Assistant projects\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The 3m cable makes this probe useful when the sensor needs to be placed away from the controller.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWill the signal degrade over 3 metres?\u003c\/strong\u003e\n            \u003cp\u003eNo, the DS18B20 uses a digital 1-Wire signal. For reliable operation, use the standard 4.7kΩ pull-up resistor between VCC and DATA.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I connect multiple sensors to one data pin?\u003c\/strong\u003e\n            \u003cp\u003eYes, multiple DS18B20 sensors can share one data line. Each sensor has a unique address. Use one 4.7kΩ pull-up resistor on the data line.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eIs the probe waterproof?\u003c\/strong\u003e\n            \u003cp\u003eYes, the stainless steel probe is sealed and suitable for immersion. The bare wire end and controller connection should be kept protected from moisture.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eIs the 4.7kΩ resistor included?\u003c\/strong\u003e\n            \u003cp\u003eNo, the resistor is not included. A 4.7kΩ pull-up resistor is required for normal 1-Wire operation.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The probe end is waterproof, but the bare wire\/controller end still needs proper protection in wet environments.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"Default","offer_id":42738660311136,"sku":"NZE-DS18B20-3M","price":5.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/DS18B20_3m_Hero.png?v=1777968755"},{"product_id":"tower-pro-sg90-9g-micro-servo-motor-arduino-rc-nz","title":"Tower Pro SG90 Micro Servo 9g | Arduino RC Robotics STEM","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    min-height: 544px;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from { opacity: 0; transform: translateY(6px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 16px;\n  }\n\n  .nzn-desc .nzn-include-box {\n    display: flex;\n    align-items: flex-start;\n    gap: 16px;\n    padding: 20px;\n    border: 1px solid #e7e7e7;\n    border-radius: 18px;\n    background: #fafafa;\n    min-height: 132px;\n  }\n\n  .nzn-desc .nzn-include-qty {\n    width: 50px;\n    height: 50px;\n    min-width: 50px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.22);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n    font-size: 15px;\n  }\n\n  .nzn-desc .nzn-include-info {\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-include-info strong {\n    display: block;\n    font-size: 15px;\n    line-height: 1.3;\n    color: #101114;\n    margin-bottom: 6px;\n  }\n\n  .nzn-desc .nzn-include-info p {\n    margin: 0;\n    font-size: 13px;\n    line-height: 1.55;\n    color: #666;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: auto;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      border-bottom: 0;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      min-height: 520px;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-uses,\n    .nzn-desc .nzn-included-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n\n\u003cdiv class=\"nzn-tabs\"\u003e\n\u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n\u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n\u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n\u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n\u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n\u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-card\"\u003e\n\n\u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n\n\u003cdiv class=\"nzn-panel-content\"\u003e\n\n\u003cdiv class=\"nzn-overview\"\u003e\n\n\u003cdiv class=\"nzn-overview-copy\"\u003e\n\u003cp\u003eThe Tower Pro SG90 is a compact and lightweight 9g micro servo designed for Arduino, Raspberry Pi, robotics, RC vehicles, STEM projects, and motion control applications.\u003c\/p\u003e\n\n\u003cul class=\"nzn-checks\"\u003e\n\u003cli\u003eLightweight 9g micro servo design\u003c\/li\u003e\n\u003cli\u003e~180° positional rotation control\u003c\/li\u003e\n\u003cli\u003eCompatible with Arduino Servo library\u003c\/li\u003e\n\u003cli\u003eStandard 3-wire PWM control interface\u003c\/li\u003e\n\u003cli\u003eIncludes multiple servo horn attachments\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-started\"\u003e\n\n\u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n\u003cdiv class=\"nzn-step\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eConnect power\u003c\/strong\u003e\n\u003cp\u003eConnect red to 5V and brown to GND.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-step\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eConnect signal wire\u003c\/strong\u003e\n\u003cp\u003eConnect the orange signal wire to a PWM pin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-step\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eInstall Servo library\u003c\/strong\u003e\n\u003cp\u003eUse the built-in Arduino Servo library.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-step\"\u003e\n\u003cspan\u003e4\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eControl position\u003c\/strong\u003e\n\u003cp\u003eUse servo.write(angle) to move the servo.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e For best reliability, power the SG90 from a dedicated 5V supply rather than directly from the Arduino 5V pin under heavy load.\n\u003cbr\u003e\u003cbr\u003e\nEvery servo is manually tested before dispatch to ensure proper operation. Each unit undergoes two full-range sweeps from 0° to 180°, followed by rapid response testing through both 0° → 90° → 0° and 0° → 180° → 0° movement cycles to verify smooth movement, positioning accuracy, and reliability.\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n\u003cdiv class=\"nzn-panel-content\"\u003e\n\n\u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n\u003cdiv class=\"nzn-specs\"\u003e\n\u003cdiv\u003e\n\u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003eTower Pro SG90\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eServo Type\u003c\/span\u003e\u003cstrong\u003e9g Micro Servo\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eGear Type\u003c\/span\u003e\u003cstrong\u003ePlastic\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e4.8V – 6V DC\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eControl Signal\u003c\/span\u003e\u003cstrong\u003ePWM\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eRotation Range\u003c\/span\u003e\u003cstrong\u003e~180°\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eSpeed\u003c\/span\u003e\u003cstrong\u003e0.12 sec\/60° @ 4.8V\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eTorque\u003c\/span\u003e\u003cstrong\u003e1.6kg\/cm @ 4.8V\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eConnector\u003c\/span\u003e\u003cstrong\u003e3-pin Futaba\/JR style\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eWire Length\u003c\/span\u003e\u003cstrong\u003e~25cm\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eDimensions\u003c\/span\u003e\u003cstrong\u003e22.2 × 11.8 × 31mm\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan\u003eWeight\u003c\/span\u003e\u003cstrong\u003e9g\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n\u003cdiv class=\"nzn-panel-content\"\u003e\n\n\u003ch3 class=\"nzn-section-title\"\u003eGetting Started\u003c\/h3\u003e\n\n\u003cdiv class=\"nzn-included-grid\"\u003e\n\n\u003cdiv class=\"nzn-include-box\"\u003e\n\u003cdiv class=\"nzn-include-qty\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"nzn-include-info\"\u003e\n\u003cstrong\u003eConnect the servo\u003c\/strong\u003e\n\u003cp\u003eBrown = GND, Red = 5V, Orange = signal\/PWM.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-include-box\"\u003e\n\u003cdiv class=\"nzn-include-qty\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"nzn-include-info\"\u003e\n\u003cstrong\u003eChoose a PWM pin\u003c\/strong\u003e\n\u003cp\u003eConnect the orange signal wire to a PWM-capable pin such as D9.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-include-box\"\u003e\n\u003cdiv class=\"nzn-include-qty\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"nzn-include-info\"\u003e\n\u003cstrong\u003eUpload example code\u003c\/strong\u003e\n\u003cp\u003eUse the Arduino IDE Servo example.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-include-box\"\u003e\n\u003cdiv class=\"nzn-include-qty\"\u003e4\u003c\/div\u003e\n\u003cdiv class=\"nzn-include-info\"\u003e\n\u003cstrong\u003eTest movement\u003c\/strong\u003e\n\u003cp\u003eThe servo should rotate smoothly between positions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n\u003cdiv class=\"nzn-panel-content\"\u003e\n\n\u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n\u003cdiv class=\"nzn-included-grid\"\u003e\n\n\u003cdiv class=\"nzn-include-box\"\u003e\n\u003cdiv class=\"nzn-include-qty\"\u003e1×\u003c\/div\u003e\n\u003cdiv class=\"nzn-include-info\"\u003e\n\u003cstrong\u003eSG90 Servo Motor\u003c\/strong\u003e\n\u003cp\u003eMain Tower Pro SG90 servo unit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-include-box\"\u003e\n\u003cdiv class=\"nzn-include-qty\"\u003e1×\u003c\/div\u003e\n\u003cdiv class=\"nzn-include-info\"\u003e\n\u003cstrong\u003eServo Horn Set\u003c\/strong\u003e\n\u003cp\u003eMultiple horn styles included.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n\u003cdiv class=\"nzn-panel-content\"\u003e\n\n\u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n\u003cdiv class=\"nzn-uses\"\u003e\n\u003cdiv class=\"nzn-use\"\u003eArduino robotics projects\u003c\/div\u003e\n\u003cdiv class=\"nzn-use\"\u003eRC steering systems\u003c\/div\u003e\n\u003cdiv class=\"nzn-use\"\u003ePan\/tilt camera systems\u003c\/div\u003e\n\u003cdiv class=\"nzn-use\"\u003eRobot arms and claws\u003c\/div\u003e\n\u003cdiv class=\"nzn-use\"\u003eAutomation projects\u003c\/div\u003e\n\u003cdiv class=\"nzn-use\"\u003eSTEM education kits\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n\u003cdiv class=\"nzn-panel-content\"\u003e\n\n\u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n\u003cdiv class=\"nzn-faq\"\u003e\n\n\u003cdiv class=\"nzn-faq-item\"\u003e\n\u003cstrong\u003eCan I use this with Arduino?\u003c\/strong\u003e\n\u003cp\u003eYes, the SG90 works perfectly with Arduino using the Servo library.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-faq-item\"\u003e\n\u003cstrong\u003eDoes it rotate continuously?\u003c\/strong\u003e\n\u003cp\u003eNo, this is a positional servo with approximately 180° rotation.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"nzn-faq-item\"\u003e\n\u003cstrong\u003eCan I power it directly from Arduino?\u003c\/strong\u003e\n\u003cp\u003eYes for light testing, but a dedicated 5V supply is recommended.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\ndocument.querySelectorAll('.nzn-desc .nzn-tab').forEach(function(tab) {\n  tab.addEventListener('click', function() {\n\n    var wrap = tab.closest('.nzn-desc');\n    var target = tab.getAttribute('data-tab');\n\n    wrap.querySelectorAll('.nzn-tab').forEach(function(t) {\n      t.classList.remove('is-active');\n    });\n\n    wrap.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    var panel = wrap.querySelector('[data-panel=\"' + target + '\"]');\n\n    if (panel) {\n      panel.classList.add('is-active');\n    }\n\n  });\n});\n\u003c\/script\u003e","brand":"Tower Pro","offers":[{"title":"1 pack - ($4.99ea)","offer_id":42755664380000,"sku":"SRV-SG90-9G-1","price":4.99,"currency_code":"NZD","in_stock":true},{"title":"3 pack - ($3.33 ea)","offer_id":42755664412768,"sku":"SRV-SG90-9G-2","price":9.99,"currency_code":"NZD","in_stock":true},{"title":"5 pack - ($2.70 ea)","offer_id":42755664445536,"sku":"SRV-SG90-9G-3","price":13.49,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/SG90_PRODUCT_HERO_154226f4-d674-4e35-9165-b9aa169e626a.png?v=1778973908"},{"product_id":"arduino-nano-v3-0-supermini-atmega328p-ch340-type-c","title":"Arduino Nano SuperMini USB-C","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe Arduino SuperMini USB-C is an ultra-compact ATmega328P development board designed for embedded projects, compact electronics, robotics, sensors, and breadboard prototyping. It delivers full Arduino Nano compatibility in a significantly smaller footprint.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eATmega328P microcontroller running at 16MHz\u003c\/li\u003e\n              \u003cli\u003eCompact SuperMini size — only 21.72 × 26.16mm\u003c\/li\u003e\n              \u003cli\u003eUSB-C interface with CH340G USB-to-serial chip\u003c\/li\u003e\n              \u003cli\u003e14 digital I\/O pins including 6 PWM outputs\u003c\/li\u003e\n              \u003cli\u003eHeaders supplied unsoldered for flexible builds\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n                \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect via USB-C Cable\u003c\/strong\u003e\n                \u003cp\u003eUse a data-capable USB-C cable for programming and serial communication. Some USB-C PD laptops, chargers, and smart power supplies may not correctly negotiate power with these Nano development boards. If the board does not power on or connect, try a USB-A to USB-C cable or a standard 5V USB power source.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect Board\u003c\/strong\u003e\n                \u003cp\u003eGo to Tools → Board → Arduino Nano.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect Processor if Upload Fails\u003c\/strong\u003e\n                \u003cp\u003eTry Tools → Processor → ATmega328P Old Bootloader.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Headers are supplied unsoldered. USB-C cable not included. Some systems may require CH340 drivers.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003eArduino SuperMini USB-C\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eMicrocontroller\u003c\/span\u003e\u003cstrong\u003eATmega328P\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eClock Speed\u003c\/span\u003e\u003cstrong\u003e16 MHz\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eUSB Interface\u003c\/span\u003e\u003cstrong\u003eCH340G USB-C\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e5V\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eUSB Power Input\u003c\/span\u003e\u003cstrong\u003e5V via USB-C\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eVIN Input Voltage\u003c\/span\u003e\u003cstrong\u003e6–12V via VIN\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eDigital I\/O Pins\u003c\/span\u003e\u003cstrong\u003e14 including 6 PWM\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eAnalog Inputs\u003c\/span\u003e\u003cstrong\u003e6, A0–A5\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eFlash Memory\u003c\/span\u003e\u003cstrong\u003e32 KB\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eSRAM\u003c\/span\u003e\u003cstrong\u003e2 KB\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eEEPROM\u003c\/span\u003e\u003cstrong\u003e1 KB\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eCommunication\u003c\/span\u003e\u003cstrong\u003eUART, SPI, I²C\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003eBoard Dimensions\u003c\/span\u003e\u003cstrong\u003e21.72 × 26.16mm\u003c\/strong\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003ePin Pitch\u003c\/span\u003e\u003cstrong\u003e2.54mm breadboard spacing\u003c\/strong\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Compact SuperMini layout may not match standard Nano shield dimensions.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n              \u003cp\u003eDownload and install the latest Arduino IDE from the official Arduino website.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect via USB-C\u003c\/strong\u003e\n              \u003cp\u003eUse a data-capable USB-C cable and connect the SuperMini to your computer. USB provides standard 5V power for programming and normal USB operation.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eUSB-C Compatibility Note\u003c\/strong\u003e\n              \u003cp\u003eSome USB-C PD laptops, chargers, and smart power supplies may not correctly negotiate voltage with these Nano development boards. If the board is not detected, powers intermittently, or shows 0V output on smart USB-C power supplies, try using a USB-A to USB-C cable or a standard fixed 5V USB source instead.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eVIN Power Option\u003c\/strong\u003e\n              \u003cp\u003eIf powering the board through VIN instead of USB, supply 6–12V through the VIN pin.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect Board Type\u003c\/strong\u003e\n              \u003cp\u003eIn Arduino IDE, go to Tools → Board → Arduino Nano.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e6\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect Processor if Upload Fails\u003c\/strong\u003e\n              \u003cp\u003eIf uploads fail, try Tools → Processor → ATmega328P Old Bootloader.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Some computers may require the CH340 USB driver for detection.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\" style=\"margin-bottom:14px;\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eArduino SuperMini USB-C development board\u003c\/strong\u003e\n            \u003cp\u003eCompact ATmega328P development board with USB-C interface and CH340G USB-to-serial chip.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e3×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eUnsoldered pin headers\u003c\/strong\u003e\n            \u003cp\u003eSupplied loose for flexible installation and custom soldering orientation.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Headers require soldering before breadboard or permanent installation use.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eCompact embedded electronics projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eWearables and miniature robotics\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eSensor nodes and environmental monitoring\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eHome automation and relay control\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBreadboard prototyping and Arduino learning\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBattery-powered portable projects\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Ideal for projects where standard Arduino Nano boards are too large.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eAre the headers pre-soldered?\u003c\/strong\u003e\n            \u003cp\u003eNo — the included headers are supplied unsoldered so you can install them in your preferred orientation.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhich board should I select in Arduino IDE?\u003c\/strong\u003e\n            \u003cp\u003eSelect Arduino Nano, then choose ATmega328P or ATmega328P Old Bootloader if uploads fail.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes it work with standard Arduino libraries?\u003c\/strong\u003e\n            \u003cp\u003eYes, this board is compatible with standard Arduino Nano sketches, examples, and libraries.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDo I need CH340 drivers?\u003c\/strong\u003e\n            \u003cp\u003eMost modern systems install drivers automatically, but some systems may require manual CH340 driver installation.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhy does it not power on from some USB-C chargers?\u003c\/strong\u003e\n            \u003cp\u003eSome USB-C PD chargers and smart USB-C ports may not supply power if they cannot negotiate correctly with the board. Use a standard 5V USB source or USB-A to USB-C cable for best compatibility.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e This is a third-party Arduino-compatible development board and is not manufactured by Arduino.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"Default Title","offer_id":42740731281504,"sku":"MCU-NANO-V3-328P","price":6.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/ArduinoNanoSuperminiProductHero.png?v=1778663462"},{"product_id":"bmp280-barometric-pressure-temperature-sensor-module","title":"BMP280 Barometric Pressure Temperature Sensor Module 3.3V","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n    margin-bottom: 14px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe BMP280 is a compact barometric pressure and temperature sensor module for Arduino, ESP32, Raspberry Pi, and other microcontroller projects. It is ideal for weather stations, altitude measurement, drones, environmental monitoring, and data logging.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eMeasures barometric pressure and temperature\u003c\/li\u003e\n              \u003cli\u003eSupports both I2C and SPI communication\u003c\/li\u003e\n              \u003cli\u003eCompact GY-BM280 breakout module\u003c\/li\u003e\n              \u003cli\u003eGreat for Arduino, ESP32, Raspberry Pi, and STM32 projects\u003c\/li\u003e\n              \u003cli\u003ePerfect for weather, altitude, and environmental sensing\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect power\u003c\/strong\u003e\n                \u003cp\u003eConnect VCC to 3.3V and GND to GND.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect I2C pins\u003c\/strong\u003e\n                \u003cp\u003eConnect SCL to A5\/SCL and SDA to A4\/SDA on an Arduino Uno.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall library\u003c\/strong\u003e\n                \u003cp\u003eUse the Adafruit BMP280 library or another compatible BMP280 Arduino library.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eCheck address\u003c\/strong\u003e\n                \u003cp\u003eDefault I2C address is usually 0x76. Pull SDO high to use 0x77.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e This is the BMP280 version. It measures pressure and temperature only, not humidity.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSensor Chip\u003c\/span\u003e\u003cstrong\u003eBMP280\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eBoard Type\u003c\/span\u003e\u003cstrong\u003eGY-BM280 breakout module\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e3.3V\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eInterface\u003c\/span\u003e\u003cstrong\u003eI2C \/ SPI\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eI2C Address\u003c\/span\u003e\u003cstrong\u003e0x76 default, 0x77 configurable\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePressure Range\u003c\/span\u003e\u003cstrong\u003e300–1100 hPa\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePressure Accuracy\u003c\/span\u003e\u003cstrong\u003e±1 hPa absolute\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eRelative Pressure Accuracy\u003c\/span\u003e\u003cstrong\u003e±0.12 hPa\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eTemperature Range\u003c\/span\u003e\u003cstrong\u003e−40°C to +85°C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eTemperature Accuracy\u003c\/span\u003e\u003cstrong\u003e±1.0°C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePressure Resolution\u003c\/span\u003e\u003cstrong\u003e0.16 Pa\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eTemperature Resolution\u003c\/span\u003e\u003cstrong\u003e0.01°C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePins\u003c\/span\u003e\u003cstrong\u003eVCC, GND, SCL, SDA, CSB, SDO\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Do not connect this 3.3V module directly to 5V unless your setup uses suitable level shifting.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eWire VCC and GND\u003c\/strong\u003e\n              \u003cp\u003eConnect VCC to 3.3V and GND to GND.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eWire I2C\u003c\/strong\u003e\n              \u003cp\u003eFor Arduino Uno, connect SCL to A5 and SDA to A4.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eLeave CSB and SDO unconnected\u003c\/strong\u003e\n              \u003cp\u003eThis keeps the module in default I2C mode with address 0x76.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall a BMP280 library\u003c\/strong\u003e\n              \u003cp\u003eInstall the Adafruit BMP280 library through the Arduino Library Manager.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eUpload example sketch\u003c\/strong\u003e\n              \u003cp\u003eOpen a BMP280 example sketch, select your board and port, then upload.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003eWiring:\u003c\/strong\u003e VCC → 3.3V, GND → GND, SCL → A5\/SCL, SDA → A4\/SDA.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eBMP280 3.3V sensor module\u003c\/strong\u003e\n            \u003cp\u003eCompact GY-BM280 breakout board for pressure and temperature sensing.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003e6-pin male header strip\u003c\/strong\u003e\n            \u003cp\u003eIncluded unsoldered so you can solder it in your preferred orientation.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Header pins are included but are not pre-soldered.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eWeather stations and local pressure monitoring\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eDIY altimeters and altitude measurement\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eDrone and UAV altitude sensing\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eEnvironmental monitoring and data logging\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eGPS altitude enhancement projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eIndoor navigation and floor-level detection\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e This module is best for pressure, temperature, and altitude-based projects.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eIs this a BMP280 or BME280?\u003c\/strong\u003e\n            \u003cp\u003eThis is a BMP280. It measures pressure and temperature only. It does not measure humidity.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I use this with Arduino?\u003c\/strong\u003e\n            \u003cp\u003eYes, it works with Arduino boards using I2C or SPI. For Arduino Uno I2C, use SDA on A4 and SCL on A5.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I use this with ESP32 or Raspberry Pi?\u003c\/strong\u003e\n            \u003cp\u003eYes, it is compatible with ESP32, Raspberry Pi, STM32, and other 3.3V microcontroller platforms.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan I connect it to 5V?\u003c\/strong\u003e\n            \u003cp\u003eThis is a 3.3V module. Do not connect directly to 5V unless using proper voltage level shifting.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e If your code cannot find the sensor, check the I2C address. It may be 0x76 or 0x77.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"Bosch","offers":[{"title":"Single - ($3.69 ea)","offer_id":42757854003296,"sku":"BMP280-3V3","price":3.69,"currency_code":"NZD","in_stock":true},{"title":"3 Pack ($3.33 ea)","offer_id":42757854036064,"sku":"BMP280-3V4","price":9.99,"currency_code":"NZD","in_stock":true},{"title":"5 Pack ($3.20 ea)","offer_id":42757854068832,"sku":"BMP280-3V5","price":15.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/BMP280-3.3V-Producthero.png?v=1779047527"},{"product_id":"rainbow-dupont-jumper-wire-kit-20cm","title":"40pc Dupont Jumper Wires (20cm)","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"configurations\"\u003eConfigurations\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003ePremium 40-pin DuPont jumper wire ribbon cable designed for Arduino, Raspberry Pi, ESP32, STM32, and breadboard prototyping. The ribbon can be kept as a full 40-pin strip or easily peeled apart into individual wires or smaller groups for custom connections.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003e40-pin peelable rainbow ribbon cable\u003c\/li\u003e\n              \u003cli\u003eStandard 2.54mm pitch compatibility\u003c\/li\u003e\n              \u003cli\u003eFlexible 20cm length for prototyping\u003c\/li\u003e\n              \u003cli\u003eAvailable in M-M, F-F, and M-F variants\u003c\/li\u003e\n              \u003cli\u003eIdeal for breadboards, sensors, and GPIO projects\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Setup\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect your connector type\u003c\/strong\u003e\n                \u003cp\u003eChoose Male-Male, Female-Female, or Male-Female depending on your project.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003ePeel wires if needed\u003c\/strong\u003e\n                \u003cp\u003eSeparate the ribbon into smaller wire groups or individual jumpers.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eConnect to your circuit\u003c\/strong\u003e\n                \u003cp\u003eCompatible with breadboards, headers, sensors, and GPIO pins.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003ePrototype and test\u003c\/strong\u003e\n                \u003cp\u003ePerfect for temporary solderless development and debugging.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Each order contains 1x 40-pin ribbon cable in your selected configuration.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCable Type\u003c\/span\u003e\u003cstrong\u003e40-Pin Peelable Ribbon\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eLength\u003c\/span\u003e\u003cstrong\u003e20cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePitch\u003c\/span\u003e\u003cstrong\u003e2.54mm Standard\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWire Gauge\u003c\/span\u003e\u003cstrong\u003e26 AWG\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eInsulation\u003c\/span\u003e\u003cstrong\u003eFlexible PVC\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eConfigurations\u003c\/span\u003e\u003cstrong\u003eM-M, F-F, M-F\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWire Colours\u003c\/span\u003e\u003cstrong\u003eRainbow Repeating Pattern\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCompatibility\u003c\/span\u003e\u003cstrong\u003eBreadboards, Arduino, Raspberry Pi, ESP32\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Colours may slightly vary between manufacturing batches.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"configurations\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eConfiguration Guide\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003eM\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eMale to Male\u003c\/strong\u003e\n              \u003cp\u003eBest for breadboard-to-breadboard or module-to-breadboard connections.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003eF\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eFemale to Female\u003c\/strong\u003e\n              \u003cp\u003eIdeal for connecting pins, headers, and sensor modules together.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003eM\/F\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eMale to Female\u003c\/strong\u003e\n              \u003cp\u003eUseful for extending headers or adapting between pin types.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e All variants use the same standard 2.54mm connector spacing.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n\n          \u003cdiv\u003e\n            \u003cstrong\u003e40-pin DuPont jumper ribbon cable\u003c\/strong\u003e\n            \u003cp\u003eYour selected connector configuration ready for prototyping and electronics projects.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Breadboards, modules, and development boards shown in photos are not included.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eArduino and ESP32 prototyping\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBreadboard circuit development\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eSensor and module connections\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRaspberry Pi GPIO projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRobotics and STEM education\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eTemporary test and debug wiring\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e These wires are designed primarily for signal and low-current applications.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eCan the ribbon cable be separated?\u003c\/strong\u003e\n            \u003cp\u003eYes. The ribbon is designed to peel apart into smaller groups or individual wires.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWill these fit standard breadboards?\u003c\/strong\u003e\n            \u003cp\u003eYes. They use the standard 2.54mm pitch used on breadboards and most development boards.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eWhich variant should I choose?\u003c\/strong\u003e\n            \u003cp\u003eMale-Male is the most common for breadboards. Female-Female works best for header pins. Male-Female is useful as an adapter or extension.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The rainbow colour sequence helps simplify wire identification during complex projects.\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"Female to female","offer_id":42747039416416,"sku":"JW-DUP-20CM-FF-40PK","price":4.59,"currency_code":"NZD","in_stock":true},{"title":"Male to female","offer_id":42747039449184,"sku":"JW-DUP-20CM-MF-40PK","price":4.69,"currency_code":"NZD","in_stock":true},{"title":"Male to male","offer_id":42747039481952,"sku":"JW-DUP-20CM-MM-40PK","price":4.89,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/DuPont_Wires_M_to_F.jpg?v=1778666824"},{"product_id":"arduino-nano-v3-atmega328p-usb-c","title":"Arduino Nano V3.0 - USB-C - Unsoldered","description":"\u003cstyle\u003e\n  .nzn-desc {\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n    font-family: inherit;\n    color: #101114;\n  }\n\n  .nzn-desc,\n  .nzn-desc * {\n    box-sizing: border-box;\n  }\n\n  .nzn-desc .nzn-tabs {\n    width: 100%;\n    max-width: 100%;\n    display: flex;\n    gap: 30px;\n    border-bottom: 1px solid #e7e7e7;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scrollbar-width: none;\n    min-height: 55px;\n    align-items: flex-end;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .nzn-desc .nzn-tabs::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nzn-desc .nzn-tab {\n    flex: 0 0 auto;\n    background: none;\n    border: 0;\n    padding: 16px 0;\n    font: inherit;\n    font-size: 14px;\n    font-weight: 800;\n    white-space: nowrap;\n    border-bottom: 3px solid transparent;\n    color: #101114;\n    cursor: pointer;\n    transition: color .18s ease, border-color .18s ease;\n  }\n\n  .nzn-desc .nzn-tab:hover {\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-tab.is-active {\n    border-bottom-color: #ff7a2f;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-card {\n    width: 100%;\n    border: 1px solid #e7e7e7;\n    border-top: 0;\n    border-radius: 0 0 18px 18px;\n    padding: 38px 34px;\n    box-shadow: 0 10px 24px rgba(0,0,0,.035);\n    background: #fff;\n    min-height: 620px;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .nzn-desc .nzn-panel {\n    display: none;\n  }\n\n  .nzn-desc .nzn-panel.is-active {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    animation: nznTabFade .18s ease both;\n  }\n\n  @keyframes nznTabFade {\n    from {\n      opacity: 0;\n      transform: translateY(6px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  .nzn-desc .nzn-panel-content {\n    flex: 1;\n  }\n\n  .nzn-desc .nzn-overview {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 46px;\n    align-items: start;\n  }\n\n  .nzn-desc .nzn-overview-copy {\n    padding-top: 6px;\n    text-align: center;\n  }\n\n  .nzn-desc p {\n    font-size: 15px;\n    line-height: 1.65;\n    color: #60646c;\n    margin: 0;\n  }\n\n  .nzn-desc .nzn-checks {\n    list-style: none;\n    padding: 0;\n    margin: 34px auto 0;\n    display: grid;\n    gap: 18px;\n    width: fit-content;\n    max-width: 100%;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-checks li {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    font-size: 14.5px;\n    color: #101114;\n    line-height: 1.45;\n  }\n\n  .nzn-desc .nzn-checks li::before {\n    content: \"✓\";\n    flex-shrink: 0;\n    color: #ff7a2f;\n    font-weight: 900;\n    font-size: 16px;\n    line-height: 1;\n  }\n\n  .nzn-desc .nzn-section-title {\n    margin: 0 0 30px;\n    padding-top: 10px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #ff7a2f;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-started {\n    background: #eef6ff;\n    border-left: 4px solid #4a9af7;\n    border-radius: 16px;\n    padding: 26px 28px;\n  }\n\n  .nzn-desc .nzn-started h3 {\n    margin: 0 0 20px;\n    text-transform: uppercase;\n    letter-spacing: .12em;\n    font-size: 14px;\n    font-weight: 900;\n    color: #1f4268;\n  }\n\n  .nzn-desc .nzn-step {\n    display: grid;\n    grid-template-columns: 34px 1fr;\n    gap: 14px;\n    margin-bottom: 18px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-step:last-child {\n    margin-bottom: 0;\n  }\n\n  .nzn-desc .nzn-step span {\n    width: 34px;\n    height: 34px;\n    border-radius: 999px;\n    background: #fff;\n    border: 1px solid #d9e9fb;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n  }\n\n  .nzn-desc .nzn-step strong {\n    display: block;\n    font-size: 14px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-step p {\n    margin-top: 4px;\n    font-size: 13px;\n    color: #40566c;\n  }\n\n  .nzn-desc .nzn-specs {\n    border-top: 1px solid #e7e7e7;\n  }\n\n  .nzn-desc .nzn-specs div {\n    display: grid;\n    grid-template-columns: minmax(180px, .8fr) 1.4fr;\n    gap: 24px;\n    padding: 15px 14px;\n    border-bottom: 1px solid #e7e7e7;\n    font-size: 14px;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-specs div:nth-child(even) {\n    background: #fafafa;\n  }\n\n  .nzn-desc .nzn-specs span {\n    color: #60646c;\n  }\n\n  .nzn-desc .nzn-specs strong {\n    font-weight: 800;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-included-card {\n    display: grid;\n    grid-template-columns: auto 1fr;\n    gap: 18px;\n    align-items: center;\n    border: 1px solid #e7e7e7;\n    border-radius: 16px;\n    background: #fafafa;\n    padding: 24px;\n  }\n\n  .nzn-desc .nzn-included-qty {\n    width: 48px;\n    height: 48px;\n    border-radius: 999px;\n    background: #fff5ef;\n    border: 1px solid rgba(255,122,47,.2);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-weight: 900;\n    color: #ff7a2f;\n  }\n\n  .nzn-desc .nzn-included-card strong {\n    display: block;\n    font-size: 16px;\n    margin-bottom: 4px;\n  }\n\n  .nzn-desc .nzn-included-card p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-uses {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-use {\n    border-left: 3px solid #ff7a2f;\n    background: #f7f7f7;\n    padding: 15px 16px;\n    font-size: 14px;\n    line-height: 1.45;\n    text-align: left;\n    border-radius: 0 8px 8px 0;\n  }\n\n  .nzn-desc .nzn-faq {\n    display: grid;\n    gap: 12px;\n  }\n\n  .nzn-desc .nzn-faq-item {\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    background: #fff;\n    text-align: left;\n  }\n\n  .nzn-desc .nzn-faq-item strong {\n    display: block;\n    margin-bottom: 7px;\n    color: #101114;\n  }\n\n  .nzn-desc .nzn-faq-item p {\n    font-size: 14px;\n  }\n\n  .nzn-desc .nzn-note {\n    margin-top: 30px;\n    background: #fafafa;\n    border: 1px solid #e7e7e7;\n    border-radius: 12px;\n    padding: 16px 18px;\n    text-align: center;\n    color: #60646c;\n    font-size: 13px;\n    line-height: 1.55;\n  }\n\n  @media (max-width: 750px) {\n    .nzn-desc {\n      width: 100%;\n      max-width: 100%;\n      padding: 0;\n      overflow: hidden;\n    }\n\n    .nzn-desc .nzn-tabs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 0;\n      overflow: visible;\n      min-height: unset;\n      border-bottom: 0;\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-tab {\n      width: 100%;\n      min-width: 0;\n      padding: 12px 6px;\n      font-size: 12px;\n      line-height: 1.15;\n      text-align: center;\n      white-space: normal;\n      border-bottom: 2px solid #e7e7e7;\n    }\n\n    .nzn-desc .nzn-tab.is-active {\n      border-bottom-color: #ff7a2f;\n    }\n\n    .nzn-desc .nzn-card {\n      padding: 24px 16px;\n      min-height: unset;\n      width: 100%;\n      max-width: 100%;\n      border-top: 1px solid #e7e7e7;\n      border-radius: 0 0 16px 16px;\n    }\n\n    .nzn-desc .nzn-panel.is-active {\n      display: block;\n    }\n\n    .nzn-desc .nzn-overview {\n      grid-template-columns: 1fr;\n      gap: 26px;\n    }\n\n    .nzn-desc .nzn-overview-copy {\n      padding-top: 0;\n      text-align: center;\n    }\n\n    .nzn-desc p {\n      font-size: 14.5px;\n      text-align: center;\n    }\n\n    .nzn-desc .nzn-checks {\n      margin-top: 24px;\n      gap: 13px;\n      width: fit-content;\n      max-width: 100%;\n    }\n\n    .nzn-desc .nzn-checks li {\n      align-items: flex-start;\n      gap: 10px;\n      font-size: 14px;\n      text-align: left;\n    }\n\n    .nzn-desc .nzn-checks li::before {\n      margin-top: 2px;\n    }\n\n    .nzn-desc .nzn-uses {\n      grid-template-columns: 1fr;\n    }\n\n    .nzn-desc .nzn-specs div {\n      grid-template-columns: 1fr;\n      gap: 4px;\n      padding: 13px 10px;\n    }\n\n    .nzn-desc .nzn-section-title {\n      text-align: left;\n      padding-top: 0;\n      margin-bottom: 22px;\n    }\n\n    .nzn-desc .nzn-started {\n      padding: 20px 16px;\n    }\n\n    .nzn-desc .nzn-included-card {\n      grid-template-columns: 1fr;\n      text-align: left;\n      justify-items: start;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nzn-desc\"\u003e\n  \u003cdiv class=\"nzn-tabs\"\u003e\n    \u003cbutton class=\"nzn-tab is-active\" type=\"button\" data-tab=\"overview\"\u003eOverview\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"specifications\"\u003eSpecifications\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"getting-started\"\u003eGetting Started\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"included\"\u003eWhat's Included\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"uses\"\u003eCommon Uses\u003c\/button\u003e\n    \u003cbutton class=\"nzn-tab\" type=\"button\" data-tab=\"faqs\"\u003eFAQs\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"nzn-card\"\u003e\n    \u003cdiv class=\"nzn-panel is-active\" data-panel=\"overview\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-overview\"\u003e\n          \u003cdiv class=\"nzn-overview-copy\"\u003e\n            \u003cp\u003eThe Arduino Nano V3.0 is a compact, reliable microcontroller board built around the ATmega328PB — an enhanced version of the classic ATmega328P. This is the modern USB-C version with the CH340G interface chip, and it programs as a standard Arduino Nano straight out of the box. Ideal for breadboard projects, robotics, sensors, LED control, STEM learning, and general Arduino prototyping.\u003c\/p\u003e\n\n            \u003cul class=\"nzn-checks\"\u003e\n              \u003cli\u003eATmega328PB microcontroller running at 16MHz\u003c\/li\u003e\n              \u003cli\u003eEnhanced 328PB core: extra I²C, SPI and timer peripherals\u003c\/li\u003e\n              \u003cli\u003ePrograms as a standard Arduino Nano, no special setup\u003c\/li\u003e\n              \u003cli\u003e14 digital I\/O pins, including 6 PWM pins\u003c\/li\u003e\n              \u003cli\u003e8 analog input pins (A0–A7)\u003c\/li\u003e\n              \u003cli\u003eUSB-C interface for power and programming\u003c\/li\u003e\n              \u003cli\u003eUnsoldered headers supplied loose for custom mounting\u003c\/li\u003e\n            \u003c\/ul\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-started\"\u003e\n            \u003ch3\u003eQuick Start\u003c\/h3\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e1\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n                \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e2\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eSelect board\u003c\/strong\u003e\n                \u003cp\u003eGo to Tools → Board → Arduino Nano, with Processor set to ATmega328P.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e3\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eUpload normally\u003c\/strong\u003e\n                \u003cp\u003eStandard upload works out of the box. No Old Bootloader mode is needed.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"nzn-step\"\u003e\n              \u003cspan\u003e4\u003c\/span\u003e\n              \u003cdiv\u003e\n                \u003cstrong\u003eUse a data USB-C cable\u003c\/strong\u003e\n                \u003cp\u003eCharge-only cables will not upload sketches.\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Headers are supplied unsoldered and require soldering before breadboard use. Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"specifications\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eSpecifications\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-specs\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eModel\u003c\/span\u003e\u003cstrong\u003eArduino Nano V3.0 USB-C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eMicrocontroller\u003c\/span\u003e\u003cstrong\u003eATmega328PB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003ePrograms As\u003c\/span\u003e\u003cstrong\u003eStandard Arduino Nano (ATmega328P)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eClock Speed\u003c\/span\u003e\u003cstrong\u003e16 MHz\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eUSB Interface\u003c\/span\u003e\u003cstrong\u003eCH340G USB-C\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eHeaders\u003c\/span\u003e\u003cstrong\u003eUnsoldered (supplied loose)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003cstrong\u003e5V\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eInput Voltage\u003c\/span\u003e\u003cstrong\u003e7–12V recommended\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDigital I\/O Pins\u003c\/span\u003e\u003cstrong\u003e14, including 6 PWM\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eAnalog Inputs\u003c\/span\u003e\u003cstrong\u003e8 (A0–A7)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eFlash Memory\u003c\/span\u003e\u003cstrong\u003e32 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSRAM\u003c\/span\u003e\u003cstrong\u003e2 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eEEPROM\u003c\/span\u003e\u003cstrong\u003e1 KB\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eCommunication\u003c\/span\u003e\u003cstrong\u003eUART, dual SPI, dual I²C (328PB)\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eDimensions\u003c\/span\u003e\u003cstrong\u003e43 × 18mm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Headers are supplied unsoldered. Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"getting-started\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003cdiv class=\"nzn-started\"\u003e\n          \u003ch3\u003eGetting Started\u003c\/h3\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e1\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSolder the headers (if required)\u003c\/strong\u003e\n              \u003cp\u003eThis board ships with unsoldered headers. Solder them in for breadboard use, or leave them off for direct wiring.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e2\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eInstall Arduino IDE\u003c\/strong\u003e\n              \u003cp\u003eDownload and install the Arduino IDE if you do not already have it.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e3\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eConnect via USB-C\u003c\/strong\u003e\n              \u003cp\u003eUse a data-capable USB-C cable. Some charging cables do not support data transfer.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e4\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect board\u003c\/strong\u003e\n              \u003cp\u003eGo to Tools → Board → Arduino Nano, with Processor set to ATmega328P.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-step\"\u003e\n            \u003cspan\u003e5\u003c\/span\u003e\n            \u003cdiv\u003e\n              \u003cstrong\u003eSelect port and upload\u003c\/strong\u003e\n              \u003cp\u003eChoose the detected COM\/serial port, then upload your sketch. Standard upload works out of the box, no Old Bootloader mode required.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Headers are supplied unsoldered. Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"included\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eWhat's Included\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-included-card\"\u003e\n          \u003cdiv class=\"nzn-included-qty\"\u003e1×\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cstrong\u003eArduino Nano V3.0 USB-C board\u003c\/strong\u003e\n            \u003cp\u003eBootloader installed and ready to program. Pin headers are included loose (unsoldered).\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Headers require soldering before breadboard use. USB-C cable is sold separately unless otherwise stated.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"uses\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Uses\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-uses\"\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBeginner Arduino and STEM projects\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eRobotics, RC, servos, and motor control\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eSensor projects using temperature, humidity, ultrasonic, PIR, and more\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eLED strips, displays, and lighting controllers\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eHome automation and prototyping\u003c\/div\u003e\n          \u003cdiv class=\"nzn-use\"\u003eBreadboard-compatible compact projects\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e This board is a strong general-purpose choice for compact Arduino projects.\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nzn-panel\" data-panel=\"faqs\"\u003e\n      \u003cdiv class=\"nzn-panel-content\"\u003e\n        \u003ch3 class=\"nzn-section-title\"\u003eCommon Questions\u003c\/h3\u003e\n\n        \u003cdiv class=\"nzn-faq\"\u003e\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eAre the headers soldered?\u003c\/strong\u003e\n            \u003cp\u003eNo, this is the unsoldered version. The pin headers are included loose, so you can solder them yourself or wire directly to the board.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eIt says ATmega328PB. Will it still work like a normal Nano?\u003c\/strong\u003e\n            \u003cp\u003eYes. This board uses the ATmega328PB — an enhanced version of the classic 328P — but is pre-flashed to program exactly like a standard Arduino Nano. Just select Arduino Nano with the ATmega328P processor in the IDE and upload as normal. The 328PB keeps the same 32KB flash, 2KB SRAM and 16MHz clock as the classic 328P, while adding extra peripherals (a second I²C, second SPI and additional timers) for advanced users who want them.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDo I need to use Old Bootloader mode?\u003c\/strong\u003e\n            \u003cp\u003eNo. Standard upload works out of the box with the regular bootloader setting. If you do hit an upload issue, double-check your USB-C cable supports data transfer and that the CH340 driver is installed.\u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"nzn-faq-item\"\u003e\n            \u003cstrong\u003eDoes it work with Arduino libraries?\u003c\/strong\u003e\n            \u003cp\u003eYes, it is compatible with standard Arduino Nano libraries, examples, and community tutorials.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"nzn-note\"\u003e\n\u003cstrong\u003ePlease note:\u003c\/strong\u003e Some systems may require the CH340 driver. Every board is individually inspected before dispatch from NZ stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('click', function(event) {\n    const tab = event.target.closest('.nzn-desc .nzn-tab');\n    if (!tab) return;\n\n    const wrapper = tab.closest('.nzn-desc');\n    if (!wrapper) return;\n\n    const target = tab.getAttribute('data-tab');\n\n    wrapper.querySelectorAll('.nzn-tab').forEach(function(item) {\n      item.classList.remove('is-active');\n    });\n\n    wrapper.querySelectorAll('.nzn-panel').forEach(function(panel) {\n      panel.classList.remove('is-active');\n    });\n\n    tab.classList.add('is-active');\n\n    const panel = wrapper.querySelector('[data-panel=\"' + target + '\"]');\n    if (panel) panel.classList.add('is-active');\n  });\n\u003c\/script\u003e","brand":"NZN Electronics","offers":[{"title":"1 Pack - ($6.99 ea)","offer_id":42770283135072,"sku":"MCU-NANO-V3-328P-NW-1","price":6.99,"currency_code":"NZD","in_stock":true},{"title":"5 Pack - ($6.60 ea)","offer_id":42770283167840,"sku":"MCU-NANO-V3-328P-NW-2","price":32.99,"currency_code":"NZD","in_stock":true},{"title":"10 Pack - ($6.00 ea)","offer_id":42770283200608,"sku":"MCU-NANO-V3-328P-NW-3","price":59.99,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0664\/6127\/0112\/files\/Arduino_Nano_Hero1-1_e77d7e84-318b-431d-9180-0e7b91b41bef.png?v=1779751829"}],"url":"https:\/\/www.nznelectronics.co.nz\/collections\/arduino-electronics.oembed","provider":"NZN Electronics","version":"1.0","type":"link"}