Adafruit Holiday Shipping Deadlines 2018: Attention! Please place all UPS Next Day orders by Monday 12/17/2018 11 AM EST
0

NeoPixels: Five Years In @adafruit #neopixels

It was several years ago at Maker Faire that I first got my hands on some addressable LEDs — an RGB LED, driver IC and small PCB encased in a fingertip-sized plastic capsule. Working with these, I distinctly recall pondering if we’d ever see all of this integrated into a single component. “Maybe in five years,” I figured. “And maybe if they recover the technology from a crashed UFO.”

Well don’t count on me for picking racehorses or stocks either, because my guess was off by an order of magnitude, and just a few months later was staring down my first “World Semi WS2812 Intelligent Control LED Integrated Light Source” (or what would soon be known as a NeoPixel, hold that thought).

These addressable LEDs were small, inexpensive, and featured a single-wire protocol for microcontroller interfacing. This simplified things like PCB layouts, making rings and other shapes possible. In flexible strip form, their “one pixel, one cut” convenience (other LED strip types ranged from two to six pixels between cut points) scratched the creative itch, freeing ideas from odd physical constraints. Though not perfect, they filled a vital creative niche and have persisted ever since, evolving new capabilities and form-factors (RGB + white, mini 3.5mm pixels, hardier “WS2812-compatible” devices, strips in increasing pixel densities and who knows what’s next).

Adafruit was already making a WS2811-IC-and-RGB-LED product (then called “Flora RGB Smart Pixel”). With the fully integrated WS2812 component, a slimmer and more affordable Flora pixel would be possible. But the new device’s faster single-wire protocol would require new Arduino code, possibly with some inline assembly language. Ladyada, being busy at the time, asked if I could take a look…

Starting from her existing library code, I got a prototype working in a couple of days, though I had some lingering doubts…AVR assembly is not my native tongue. So, to avoid messing up the known-working “V1 pixel” code, I renamed everything in the new library so the two could exist side-by-side for testing. If the prior code was for the “old” pixels, then this new code must be for “new” pixels, and with little thought I just called it “NeoPixel” and threw it up on Github for testing…five years ago today. 12/12/12.

The code tested fine. Not only that, but getting down to work the next day, I was surprised to find all these LED products in the shop now labeled “NeoPixels.”

Unbeknownst to me, Adafruit had been searching for a better name than “WS2812 Intelligent Control LED Integrated Light Source,” something that, in one simple word, would tell people, “addressable LED backed by open-source code, lots of examples and projects, a positive community and Adafruit technical support.”

And that’s the origin story of the word “NeoPixel.” No focus groups, no branding specialists. Just kicking back and programming in sweatpants. Sorry to destroy any illusion you might have had. Sweatpants!

Five years in, the breadth and scope of NeoPixel projects has exceeded even my wildest expectations. Practical signage, creative expression, movie sets, Burning Man installations with tens of thousands of LEDs, and some of my favorite stuff is in wearables and cosplay! And in another five years? Well, my record for prognostication is clearly pretty bad, but it’s a safe bet to say we’ll be surprised all over again (nearly said “delighted,” but no, we’ll be extremely lighted).

Thought exercise: One of the most popular NeoPixel form-factors is the 60 LED/meter flex strip. NeoPixel data is clocked at 800 KHz…that’s 1.25 microseconds/bit, or 30 microseconds per 24-bit pixel. One meter of this strip (60 NeoPixels) therefore takes 1,800 microseconds to refresh (not counting the 50 to 300 microsecond latch time at the end of the data, which is the same regardless of strip length), so we could estimate that NeoPixel data (at this particular strip density) travels at about 555.555 meters/second. There’s about 31,557,600 seconds in a year on average (allowing for leap years but ignoring the occasional odd leap second)…so, in those intervening five years (157,788,000 seconds), we could have refreshed one enormously long 87,659,912,340 meter strip — that’s beyond the orbit of Mars, or more than halfway to the Sun, depending on which direction you unrolled the strip. With all 5.25 trillion NeoPixels set white at 100% brightness, you’ll need a bit over 300 billion Amps at 5 Volts (a mere 15% of the world’s electric output), so please choose wire of an appropriate gauge and make power connections periodically to prevent dim pixels along the length of the strip, thanks.


Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, or even use Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for MakeCode, CircuitPython, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 9,200+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/


Maker Business — Japanese word working and more in December’s issue of HackSpace magazine!

Wearables — Solder-less magic

Electronics — = != ==.

Biohacking — Finding Bliss with Anandamide

Python for Microcontrollers — sysfs is dead! long live libgpiod! libgpiod for linux & Python running hardware @circuitpython @micropython @ThePSF #Python @Adafruit #Adafruit

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



1 Comment

  1. Neopixels were my introduction to Adafruit and my re-entry to hardwre/firmware hacking, which has become both obsession and addiction. It’s been a great almost 5 years since then.

Sorry, the comment form is closed at this time.