{"product_id":"octa2go-8-port-pixel-controller","title":"Octa2Go 8-Port Pixel Controller","description":"\u003c!--\nRGB2Go Octa2Go 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\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(4, 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    .rgb2go-product-copy .r2g-ports {\n      grid-template-columns: repeat(2, minmax(0, 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\"\u003e8-port Wi-Fi pixel controller\u003c\/div\u003e\n    \u003ch3\u003eMore outputs, less guesswork.\u003c\/h3\u003e\n    \u003cp class=\"r2g-lede\"\u003eOcta2Go is an ESP32-based pixel controller for builders who are ready to run more props from one board. It ships with WLED installed, works with xLights, and supports 5V, 12V, and 24V 3-wire pixels.\u003c\/p\u003e\n    \u003cdiv class=\"r2g-chip-row\"\u003e\n      \u003cspan class=\"r2g-chip\"\u003e8 local pixel outputs\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\"\u003eModular 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 pixels\u003c\/h4\u003e\n      \u003cp\u003eEight outputs let you split props into cleaner runs instead of forcing everything onto one or two long strings.\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\u003eRoom to grow\u003c\/h4\u003e\n      \u003cp\u003eThe expansion header supports add-on modules such as Ethernet, SD card, audio-reactive, IR, and 4-button control. Modules sold separately.\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, 12V, and 24V 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\u003eOptional Ethernet model with 10\/100 Ethernet module installed and configured.\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\u003eOcta2Go has two pixel power banks so you can run different voltages on each side when your layout calls for it.\u003c\/p\u003e\n    \u003cdiv class=\"r2g-specs\"\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n        \u003cstrong\u003eP1 power input\u003c\/strong\u003e\n        \u003cspan\u003ePowers ports 1-4 and also feeds the onboard step-down supply for the ESP32. Set the voltage jumper correctly before powering up.\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n        \u003cstrong\u003eP2 power input\u003c\/strong\u003e\n        \u003cspan\u003ePowers ports 5-8 only. No voltage jumper is required for P2 because it does not power the ESP32.\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\u003e250 pixels\/output\u003cbr\u003e2,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\u003e400 pixels\/output\u003cbr\u003e3,200 total pixels\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-tier\"\u003e\n        \u003cstrong\u003eGood\u003c\/strong\u003e\n        \u003cspan\u003e500 pixels\/output\u003cbr\u003e4,000 total pixels\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"r2g-tier\"\u003e\n        \u003cstrong\u003eOkay\u003c\/strong\u003e\n        \u003cspan\u003e600 pixels\/output\u003cbr\u003e4,800 total pixels\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, 40A total.\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 1.0\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\u003eDimensions\u003c\/strong\u003e\u003cspan\u003e165mm x 83.5mm, about 6.5\" x 3.25\"\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, 40A total\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-spec\"\u003e\n\u003cstrong\u003ePixel voltage\u003c\/strong\u003e\u003cspan\u003e5V, 12V, or 24V 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      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 3\u003c\/strong\u003e\u003cspan\u003eGPIO12\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 4\u003c\/strong\u003e\u003cspan\u003eGPIO14\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 5\u003c\/strong\u003e\u003cspan\u003eGPIO4\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 6\u003c\/strong\u003e\u003cspan\u003eGPIO16\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 7\u003c\/strong\u003e\u003cspan\u003eGPIO32\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"r2g-port\"\u003e\n\u003cstrong\u003ePort 8\u003c\/strong\u003e\u003cspan\u003eGPIO33\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\"\u003eOcta2Go 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.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"RGB 2 Go","offers":[{"title":"WiFi Only","offer_id":67602721636388,"sku":"sku-47441919967397","price":79.0,"currency_code":"USD","in_stock":true},{"title":"Ethernet","offer_id":67602721669156,"sku":"sku-47441920000165","price":89.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0714\/9839\/9780\/files\/20250110_072619.jpg?v=1791176470","url":"https:\/\/electroeshop.com\/products\/octa2go-8-port-pixel-controller","provider":"Electroeshop","version":"1.0","type":"link"}