{"product_id":"duo2go-wi-fi-pixel-controller-rev-2-0","title":"Duo2Go Wi-Fi Pixel Controller (Rev 2.0)","description":"\u003c!--\nRGB2Go Duo2Go product description block\nPaste into the Shopify product description HTML\/code view.\nNo product images are embedded here; the product gallery already carries photos.\n--\u003e\n\n\u003cstyle\u003e\n  .rgb2go-product-copy,\n  .rgb2go-product-copy * {\n    box-sizing: border-box;\n  }\n\n  .rgb2go-product-copy {\n    --r2g-red: #d62828;\n    --r2g-green: #2e9d52;\n    --r2g-blue: #2364d2;\n    --r2g-ink: #172033;\n    --r2g-muted: #5d687a;\n    --r2g-soft: #f6f8fb;\n    --r2g-line: #e3e8f0;\n    --r2g-warn: #fff5df;\n    --r2g-warn-line: #f2c66d;\n    color: var(--r2g-ink);\n    font-size: 20px;\n    line-height: 1.55;\n  }\n\n  .rgb2go-product-copy a {\n    color: var(--r2g-blue);\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .rgb2go-product-copy .r2g-hero {\n    border: 1px solid var(--r2g-line);\n    border-radius: 18px;\n    padding: 28px;\n    background:\n      radial-gradient(circle at top left, rgba(214,40,40,.11), transparent 28%),\n      radial-gradient(circle at top right, rgba(35,100,210,.12), transparent 30%),\n      linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);\n    margin: 0 0 18px;\n  }\n\n  .rgb2go-product-copy .r2g-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin: 0 0 8px;\n    color: var(--r2g-blue);\n    font-weight: 700;\n    letter-spacing: .04em;\n    text-transform: uppercase;\n    font-size: 1.1rem;\n  }\n\n  .rgb2go-product-copy h3,\n  .rgb2go-product-copy h4 {\n    color: var(--r2g-ink);\n    line-height: 1.2;\n    margin: 0 0 10px;\n  }\n\n  .rgb2go-product-copy h3 {\n    font-size: clamp(2rem, 3vw, 2.65rem);\n  }\n\n  .rgb2go-product-copy h4 {\n    font-size: 1.35rem;\n  }\n\n  .rgb2go-product-copy p {\n    margin: 0 0 12px;\n  }\n\n  .rgb2go-product-copy .r2g-card p,\n  .rgb2go-product-copy .r2g-section p,\n  .rgb2go-product-copy .r2g-list li,\n  .rgb2go-product-copy .r2g-warning p,\n  .rgb2go-product-copy .r2g-note p {\n    font-size: 1.16rem;\n  }\n\n  .rgb2go-product-copy .r2g-spec span,\n  .rgb2go-product-copy .r2g-tier span {\n    font-size: 1.12rem;\n  }\n\n  .rgb2go-product-copy .r2g-lede {\n    color: var(--r2g-muted);\n    font-size: 1.35rem;\n    max-width: 760px;\n  }\n\n  .rgb2go-product-copy .r2g-chip-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin-top: 16px;\n  }\n\n  .rgb2go-product-copy .r2g-chip {\n    border: 1px solid var(--r2g-line);\n    border-radius: 999px;\n    padding: 10px 15px;\n    background: #fff;\n    color: #2f3a4d;\n    font-size: 1.1rem;\n    font-weight: 650;\n  }\n\n  .rgb2go-product-copy .r2g-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 12px;\n    margin: 16px 0;\n    align-items: stretch;\n  }\n\n  .rgb2go-product-copy .r2g-card {\n    border: 1px solid var(--r2g-line);\n    border-radius: 16px;\n    padding: 20px;\n    background: #fff;\n    height: 100%;\n  }\n\n  .rgb2go-product-copy .r2g-card.red { border-top: 4px solid var(--r2g-red); }\n  .rgb2go-product-copy .r2g-card.green { border-top: 4px solid var(--r2g-green); }\n  .rgb2go-product-copy .r2g-card.blue { border-top: 4px solid var(--r2g-blue); }\n\n  .rgb2go-product-copy .r2g-card p,\n  .rgb2go-product-copy .r2g-note p,\n  .rgb2go-product-copy .r2g-warning p {\n    margin-bottom: 0;\n  }\n\n  .rgb2go-product-copy .r2g-section {\n    border: 1px solid var(--r2g-line);\n    border-radius: 18px;\n    padding: 20px;\n    background: #fff;\n    margin: 16px 0;\n  }\n\n  .rgb2go-product-copy .r2g-section.soft {\n    background: var(--r2g-soft);\n  }\n\n  .rgb2go-product-copy .r2g-list {\n    margin: 10px 0 0;\n    padding-left: 1.2rem;\n  }\n\n  .rgb2go-product-copy .r2g-list li {\n    margin: 6px 0;\n  }\n\n  .rgb2go-product-copy .r2g-specs {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 10px;\n    margin-top: 12px;\n  }\n\n  .rgb2go-product-copy .r2g-spec {\n    border: 1px solid var(--r2g-line);\n    border-radius: 14px;\n    padding: 16px;\n    background: #fff;\n  }\n\n  .rgb2go-product-copy .r2g-spec strong {\n    display: block;\n    margin-bottom: 3px;\n    color: var(--r2g-ink);\n  }\n\n  .rgb2go-product-copy .r2g-spec span {\n    color: var(--r2g-muted);\n  }\n\n  .rgb2go-product-copy .r2g-warning {\n    border: 1px solid var(--r2g-warn-line);\n    border-left: 6px solid #e6a400;\n    border-radius: 16px;\n    padding: 20px;\n    background: var(--r2g-warn);\n    margin: 16px 0;\n  }\n\n  .rgb2go-product-copy .r2g-note {\n    border: 1px solid #cfe0ff;\n    border-left: 6px solid var(--r2g-blue);\n    border-radius: 16px;\n    padding: 20px;\n    background: #f4f8ff;\n    margin: 16px 0;\n  }\n\n  .rgb2go-product-copy .r2g-ports {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 8px;\n    margin-top: 12px;\n  }\n\n  .rgb2go-product-copy .r2g-port {\n    border: 1px solid var(--r2g-line);\n    border-radius: 12px;\n    padding: 14px;\n    background: #fff;\n    text-align: center;\n  }\n\n  .rgb2go-product-copy .r2g-port strong {\n    display: block;\n  }\n\n  .rgb2go-product-copy .r2g-port span {\n    color: var(--r2g-muted);\n    font-size: 1.1rem;\n  }\n\n  .rgb2go-product-copy .r2g-performance {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 10px;\n    margin-top: 12px;\n  }\n\n  .rgb2go-product-copy .r2g-tier {\n    border: 1px solid var(--r2g-line);\n    border-radius: 14px;\n    padding: 16px;\n    background: #fff;\n  }\n\n  .rgb2go-product-copy .r2g-tier strong {\n    display: block;\n    margin-bottom: 3px;\n  }\n\n  .rgb2go-product-copy .r2g-tier.recommended {\n    border-color: rgba(46,157,82,.45);\n    background: #f3fbf6;\n  }\n\n  .rgb2go-product-copy .r2g-license {\n    font-size: 1.12rem;\n    color: var(--r2g-muted);\n  }\n\n  @media (max-width: 820px) {\n    .rgb2go-product-copy .r2g-grid,\n    .rgb2go-product-copy .r2g-specs,\n    .rgb2go-product-copy .r2g-performance {\n      grid-template-columns: 1fr;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"rgb2go-product-copy\"\u003e\n  \u003csection class=\"r2g-hero\"\u003e\n    \u003cdiv class=\"r2g-eyebrow\"\u003e2-port Wi-Fi pixel controller\u003c\/div\u003e\n    \u003ch3\u003eSmall board, simple start.\u003c\/h3\u003e\n    \u003cp class=\"r2g-lede\"\u003eDuo2Go is an ESP32-based pixel controller for builders who want a compact two-output controller that is easy to learn on and easy to fit into smaller props. It ships with WLED installed, works with xLights, and supports 5V and 12V 3-wire pixels.\u003c\/p\u003e\n    \u003cdiv class=\"r2g-chip-row\"\u003e\n      \u003cspan class=\"r2g-chip\"\u003e2 local pixel outputs\u003c\/span\u003e\n      \u003cspan class=\"r2g-chip\"\u003eGreat for beginners\u003c\/span\u003e\n      \u003cspan class=\"r2g-chip\"\u003eWLED 16.0.1 installed\u003c\/span\u003e\n      \u003cspan class=\"r2g-chip\"\u003e2.4GHz Wi-Fi\u003c\/span\u003e\n      \u003cspan class=\"r2g-chip\"\u003exLights compatible\u003c\/span\u003e\n      \u003cspan class=\"r2g-chip\"\u003eCompact and repairable\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"r2g-grid\"\u003e\n    \u003cdiv class=\"r2g-card red\"\u003e\n      \u003ch4\u003eBuilt for starter layouts\u003c\/h4\u003e\n      \u003cp\u003eTwo outputs are a good fit for smaller props, test benches, and first pixel projects where you want fewer wires to manage.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"r2g-card green\"\u003e\n      \u003ch4\u003eBeginner-friendly WLED\u003c\/h4\u003e\n      \u003cp\u003eWLED comes pre-installed so you can connect, configure your outputs, and start testing without compiling firmware.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"r2g-card blue\"\u003e\n      \u003ch4\u003eSimple by design\u003c\/h4\u003e\n      \u003cp\u003eDuo2Go keeps the layout compact. Please note that Duo2Go does not have an expansion header, so it is not compatible with RGB2Go expansion modules.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"r2g-section soft\"\u003e\n    \u003ch4\u003eWhat it supports\u003c\/h4\u003e\n    \u003cul class=\"r2g-list\"\u003e\n      \u003cli\u003e5V and 12V pixels and strip, using 3-wire data only. No clock\/data pixel types.\u003c\/li\u003e\n      \u003cli\u003e5V data output through 33 ohm resistors.\u003c\/li\u003e\n      \u003cli\u003eWLED effects, presets, segments, playlists, and network control.\u003c\/li\u003e\n      \u003cli\u003exLights use through WLED-supported network protocols.\u003c\/li\u003e\n      \u003cli\u003eCompact two-output builds where expansion modules are not needed.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"r2g-section\"\u003e\n    \u003ch4\u003ePower layout\u003c\/h4\u003e\n    \u003cp\u003eDuo2Go uses one DC power input for the controller and the two local pixel outputs. Set the voltage jumper correctly for your pixel voltage before powering up.\u003c\/p\u003e\n    \u003cdiv class=\"r2g-specs\"\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n        \u003cstrong\u003eDC power input\u003c\/strong\u003e\n        \u003cspan\u003eFeeds the onboard step-down supply for the ESP32 and powers ports 1-2.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n        \u003cstrong\u003eNo expansion header\u003c\/strong\u003e\n        \u003cspan\u003eDuo2Go is not compatible with the Ethernet, Differential, SD Card, Audio-Reactive, or other RGB2Go expansion modules.\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"r2g-warning\"\u003e\n    \u003ch4\u003ePower-up safety note\u003c\/h4\u003e\n    \u003cp\u003eReverse polarity protection helps protect the controller, but it does not protect pixels connected to the outputs. After wiring DC power, power the controller with no pixels connected first. Confirm polarity and settings before plugging in your pixels.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"r2g-section\"\u003e\n    \u003ch4\u003eRecommended pixel counts\u003c\/h4\u003e\n    \u003cp\u003eThe ESP32 can drive a lot of pixels, but performance depends on pixel count, frame rate, effects, Wi-Fi quality, and your layout. For a smooth beginner experience, start smaller and grow once everything is working.\u003c\/p\u003e\n    \u003cdiv class=\"r2g-performance\"\u003e\n      \u003cdiv class=\"r2g-tier recommended\"\u003e\n        \u003cstrong\u003eRecommended\u003c\/strong\u003e\n        \u003cspan\u003e500 pixels\/output\u003cbr\u003e1,000 total pixels\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-tier\"\u003e\n        \u003cstrong\u003eVery good\u003c\/strong\u003e\n        \u003cspan\u003e800 pixels\/output\u003cbr\u003e1,600 total pixels\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-tier\"\u003e\n        \u003cstrong\u003eGood\u003c\/strong\u003e\n        \u003cspan\u003e1,000 pixels\/output\u003cbr\u003e2,000 total pixels\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-tier\"\u003e\n        \u003cstrong\u003ePlan carefully\u003c\/strong\u003e\n        \u003cspan\u003eOver 200 pixels\/run\u003cbr\u003eneeds power injection\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top:12px;\"\u003eFor runs over about 200 pixels on an output, plan on proper power injection. The controller output limit is 5A max per output, 10A total across the two outputs.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"r2g-section soft\"\u003e\n    \u003ch4\u003eQuick specs\u003c\/h4\u003e\n    \u003cdiv class=\"r2g-specs\"\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003eController revision\u003c\/strong\u003e\u003cspan\u003eRevision 2.01\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003eProcessor\u003c\/strong\u003e\u003cspan\u003eESP32 based\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003eWi-Fi\u003c\/strong\u003e\u003cspan\u003e2.4GHz only\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003eExpansion header\u003c\/strong\u003e\u003cspan\u003eNot included; expansion modules are not compatible\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003eOutput current\u003c\/strong\u003e\u003cspan\u003e5A max per output, 10A total\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003ePixel voltage\u003c\/strong\u003e\u003cspan\u003e5V or 12V pixels\/strip\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"r2g-section\"\u003e\n    \u003ch4\u003eOutput GPIO map\u003c\/h4\u003e\n    \u003cdiv class=\"r2g-ports\"\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 1\u003c\/strong\u003e\u003cspan\u003eGPIO2\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 2\u003c\/strong\u003e\u003cspan\u003eGPIO13\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"r2g-note\"\u003e\n    \u003ch4\u003eOpen source firmware\u003c\/h4\u003e\n    \u003cp class=\"r2g-license\"\u003eDuo2Go ships with RGB2Go-branded WLED 16.0.1 firmware. This firmware is based on WLED and is licensed under the EUPL v1.2 or later. Source code is available at \u003ca href=\"https:\/\/github.com\/jasonsomers\/RGB2Go-WLED\"\u003egithub.com\/jasonsomers\/RGB2Go-WLED\u003c\/a\u003e. Version-specific source is available through the tagged releases in that repository. More WLED information is available at \u003ca href=\"https:\/\/github.com\/Aircoookie\/WLED\" rel=\"noopener\" target=\"_blank\"\u003egithub.com\/Aircoookie\/WLED\u003c\/a\u003e.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"RGB 2 Go","offers":[{"title":"Default Title","offer_id":67602721407012,"sku":"Duo2Go","price":39.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0714\/9839\/9780\/files\/20241122_191727.png?v=1791176471","url":"https:\/\/electroeshop.com\/products\/duo2go-wi-fi-pixel-controller-rev-2-0","provider":"Electroeshop","version":"1.0","type":"link"}