Adding NeoPixels / WS2812 LEDs to blink(1)

[originally posted on todbot blog]

You may not have known, but blink(1) USB notification LEDs have a secret: they can drive 16 extra LEDs in the form of “NeoPixel” WS2812 LEDs.  This is what was behind the “blink(16)” project.

If you take apart a blink(1), you’ll see it has three tiny plated holes. These are the three needed by WS2812 LEDs: +5V, Gnd, and Data.

Continue reading

blink(1) is OSHWA-certified Open Source Hardware!

We are very happy to announce that our blink(1) USB RGB LED is one of the first pieces of hardware to be part of the OSHWA Open Source Hardware Certification program.  The OSHWA UID for blink(1) is US000051. We believe in open hardware and strive to make blink(1) as open as possible. ThingM is also a supporting corporate member of OSHWA. To see blink(1) sources and design files, visit the blink(1) github.

You can see a list of all current OSHWA-certified devices here and see the requirements for certification here.  We feel honored to be included with other great hardware makers, like those listed below.


Tod speaks at Hackaday Superconf about Blink1Control2

In November 2016, I (Tod) was fortunate enough to speak at the Hackaday Superconference. It was an incredible conference, one of the best I’ve been to.  For ThingM, I’ve mostly been working on software lately, getting Blink1Control2 to a usable state, so speaking at a hardware conference was a bit daunting.  But I do consider blink(1) to be an “Internet of Things” device, even though it’s tethered to a computer. ThingM was created as a ubiquitous computing  design studio, essentially an IoT company before IoT.  In my talk I propose using the much richer computer GUIs to configure IoT devices, and one way I’ve been liking making computer GUIs is what I’ve been using for Blink1Control2: Node.js and Electron.

Mike at Hackaday did a great writeup of my talk and the video of it is below. (I can tell I’m out of practice giving talks after having my head down in code for over a year now :-)

Announcing Blink1Control2: public beta

In late 2015, we started looking to update our Blink1Control GUI application for blink(1). The app has some strange UI choices, acts oddly on certain systems, and is hard to maintain. We started again looking for a solution to the problem we’ve tried to solve twice before: how to create a single cross-platform application that works well on every platform (including Linux). The app must integrate nicely with hardware and networking, have strong open-source backing, and can be maintained by a small staff (like one person, me).

It turns out there’s not a lot of solutions to this laundry list of desires. But we think Electron (the app framework created by GitHub and behind Atom and Slack) looks like a good choice. So for the last several months, Blink1Control2 has been in development and testing.

With that, here is the first public beta of Blink1Control2.


New features in Blink1Control2

  • Multiple blink(1) support
  • Skype support
  • Redesigned “Event Sources” UI to more easily manage multiple ways to trigger blink(1)
  • Greatly improved File/URL/Script support
  • New “meta-patterns” for on-the-fly creation of color patterns
  • Redesigned UI that looks great on HighDPI/Retina systems
  • So many many bugfixes
  • New bugs we haven’t found yet

Features not yet in Blink1Control2

  • Battery / CPU / Network level checking
  • POP email support
  • Certain API server calls

Blink1Control2 is written in Node.js and Electron. Electron is an amazing open source system created by Github for using web technologies to write desktop apps. Its most famous example is the Atom text editor.

We’re very excited about the new Blink1Control2. One of the design changes was to make the “Event Sources” modular, so new event sources could be added easily. We’re not there yet, but we’re getting very close. If you have an idea of a neat event source we should add, let me know!

As with all things blink(1), Blink1Control2 is entirely open source.

Here’s a screencast showing basic use of Blink1Control2 and goes over some of its features.


  1. Windows Installer –
  2. Windows Zip file –
  3. Mac DMG –
  4. Mac Zip file –

Some useful links:
– Main development page:
– Releases:
– Issues/Bugs:

Learn Twitter Node API with “twitter-streaming-blink1”


Twitter has a great API for searching through tweets. But it can also be a bit daunting if you’ve never interfaced with APIs before. In the Node.js universe, there’s a great package called “twit” that makes it really easy to use the Twitter API. And what better way to show off your Twitter API knowledge than to hook it up to a blink(1) light, which is just what @jbulava did with “twitter-streaming-blink1“. The code is a single well-commented file that needs only a few lines of code to do searches and acting on tweets.

Look how succinct it is:

Building a Virtual Assistant for Raspberry Pi w/ blink(1)

blink(1) customer and Raspberry Pi hacker Tanay Pant let us know that he is soon releasing a book called “Building a Virtual Assistant for Raspberry Pi”. You can read a bit of behind-the-scenes here. It looks like it will have bunch of interesting features, including the ability to control blink(1) notification lights. Think of it kind of like a Siri or Amazon Echo you can customize yourself, but entirely open source, and available on Github. Pre-order it now, check out the source code, and start making some AIs!


blink(1) 20%-off Summer Fun Sale


Summer is here! Make your computer instantly cooler with a snazzy blink(1) USB notification light and get 20% off with coupon code “summerfun2016” on checkout from the ThingM store

Use IFTTT to make blink(1) flash when UPS packages arrive, or when a meeting is to start, or many other things. Hook blink(1) to your servers to announce their status. Or just make a pretty sunset color pattern to play at night.

If you’d prefer to get your blink(1)s from Amazon or live outside the US, please visit one of our many wonderful blink(1) distributors. The code won’t work for them, but Amazon has really great prices on shipping!

Stay cool and keep blinking this summer!