Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
December 15, 2014 16:26
July 5, 2022 14:13
August 8, 2020 22:45
December 8, 2015 11:38
January 10, 2015 17:33
September 7, 2022 14:53

blink(1) USB RGB LED

"blink(1) is a super status light: it packs three dimensions of information (color, brightness and pattern) into a single tiny package that fits into any USB port on nearly every device. It makes it incredibly easy to connect any data source in the cloud or on your computer to a full-color RGB LED so you can know what's happening without checking any windows, going to any websites or typing any commands." - Get a blink(1) at

More technically, blink(1) is a Smart LED controller with built-in USB firmware. blink(1) has a huge range of support from the Linux kernel to Node.js.

The official repositories for blink(1) software are:

repository description
Blink1Control2 Graphical app for Mac / Windows / Linux
blink1-tool Command-line tools & C-library for all platforms
blink1-python Python library
node-blink1 Node.js library
blink1-java Java and Processing library
blinkrs Rust library
blink1-android Android library
blink1-webhid WebHID demos for blink(1)
blink1mk3 Hardware/firmware design for blink(1) mk3
blink1 Hardware/firmware design, misc docs & notes (this repo)

See below for descriptions of each, including APIs for languages not mentioned.

This repo used to house all blink(1)-related code, but is now a clearinghouse and links to official and supported blink(1) repositories.


Blink1Control2 is an application for controlling and hooking events to blink(1). It is the primary user-level application for controlling blink(1). It is an event-based system for triggering blink(1) color patterns. Those events can be on your computer or on the Net.

Blink1Control2 can receive events from:

  • IFTTT's many channels
  • IMAP/GMAIL email services
  • Skype events
  • URLs containing text or JSON
  • Local files or executed scripts

Blink1Control2 has its own repository. More information at:

Download Blink1Control2


blink1-tool is a C-based command-line for script-writers, programmers and hackers. It lives in the repo:

What is in this repo

  • docs -- Documentation of APIs and tips & tricks
  • java -- Java / Processing library info
  • processing -- Processing applications (
  • nodejs -- NodeJs library info
  • python -- Python libraries (there are a couple to choose from)
  • ruby -- Ruby APIs & Ruby Tools
  • go -- Go library
  • qt -- old Blink1Control1 Qt app
  • mac -- Mac OS X details and old Blink1Control0 app
    • scripts -- command-line scripts to do cool things
  • windows -- Windows and .NET details and old Blink1Control0 app
    • Blink1Lib -- .NET library wrapping blink1-lib
    • ManagedBlink1 -- 100% .NET library, supercedd by Sleddog.Blink1
    • scripts -- Windows command-line scripts to do cool things
  • linux -- Linux details and scripts
    • contrib__ -- contributed Linux scripts
  • chrome -- ChromeOS info
  • hardware -- all hardware-related info (firmware & schematic & enclosure)

Some docs that might be useful

Also see the wiki pages

Copyright and License

blink(1) is open source hardware OSHW US000051

Copyright (c) ThingM, 2012-2018

'blink(1)' is a trademark of ThingM Corporation

License: CC BY-SA 3.0