The BlinkMOutput widget controls a ThingM BlinkM (or the super-bright BlinkM MaxM or super-small, wearable MinM) tri-color smart LED, when the BlinkM  is connected to the computer via the LinkM USB -> I2C interface. It offers multiple ways to do this. In the simpler form, the user sets an RGB color value in the parameters and the brightness of this color is controlled by the values coming from the inputSource. For interactive control of the color, the user can specify input sources separately for the Red, Green and Blue components.

On Screen Features

  • CONNECT: When on, connects to the BlinkM with the address specified in the parameters


  • BLINKM ADDRESS: The I2C address of the target BlinkM module, from 1-255
  • FADE SPEED: Determines the speed that the BlinkM changes, 1-255 where 1 is slowest
  • INITIAL BRIGHTNESS: Determines the initial brightness of the BlinkM when a connection is made, 0-255
  • INPUT SOURCE: The instance name of the widget that sets the overall brightness of the BlinkM, scaling the current RGB values as set by the redGreenBlue parameter, or as modified by any of the inputSourceRed, inputSourceGreen, or inputSourceBlue.
  • INPUT SOURCE BLUE: The instance name that sets the relative brightness of the blue value, 0-255.
  • INPUT SOURCE GREEN: The instance name that sets the relative brightness of the green value, 0-255.
  • INPUT SOURCE RED: The instance name that sets the relative brightness of the red value, 0-255.
  • INVISIBLE: If set to “true” or checked, the widget will disappear when the Flash movie is run – NOTE: you can make all the widgets invisible interactively when the Flash moving is running by pressing the backslash key “\”.
  • RED GREEN BLUE: Sets the initial relative values of the RGB, in comma separated values 0-255 for each color. E.g. 255,0,0 is RED, 255,255,255 is all three values at full
  • REMOTE HUB IP:nThis sets the IP address of the Hub where the widget will send values to a microcontroller. Normally this would be for the Hub running locally. But if you want to send values to a Hub and microcontroller running on a remote computer, change this IP to the address of the remote computer. In this way, widgets on multiple computers can a microcontroller on a remote computer with outputs attached. Note that even if you are using a remote Hub, the Hub application must also be running locally on the same machine as the widgets.

Code Interface

If you want to use ActionScript to control a BlinkM, the widget has a function interface for this. For example, if the BlinkMOutput widget has an instance name of myBlinkMInstance, the following format applies:

myBlinkMInstance.sendBlinkM(outputValue, [blinkmAddress], [rgbValues]);
myBlinkMInstance.sendBlinkM(127); // only sets the brightness
myBlinkMInstance.sendBlinkM(127,9,"0,127,255"); // sets brightness, address 9, "0,127,255" rgb values
  • outputValue = the brightness of the BlinkM
  • blinkmAddress (optional) = the I2C address of the blinkM module (will use the last set value if omitted)
  • rgbValues (optional) = a quoted string with RBG values separated by commas will use the last set value if omitted)


Causes the widget to connect to the controller, the same result as using the connect button.



Causes the widget to connect to the controller, the same result as using the connect button.


Getting Started with BlinkM

BlinkMs are smart tri-color lights that can be communicated with over the I2C bus. Use the LinkM USB to I2C device to work with the BlinkMs. You can connect up to 8 BlinkM modules to the LinkM. Be sure to plug the BlinkM in the upright position as shown in the below picture. The LinkM normally has the black case on, and in this case, insert the BlinkM so it rises above the LinkM side with the Logo on it.

BlinkM Addressing

The default address of BlinkMs when you get them is usually 9. If you want a bunch of BlinkMs to respond the same way, then leave them all set to the same address. If you want them to behave differently, then you’ll need to change the address of each one so they can be communicated with individually. To do this, run the BlinkMSequencer2, available from the ThingM site, downloadable on the right side of the LinkM page. Hook up a single BlinkM to the LinkM and run the sequencer. It will tell you what the address of the BlinkM is, and you can then change the address with TOOLS>CHANGE BLINKM I2C ADDRESS.

For more information on the LinkM, read the datasheet here.

Last modified March 7th, 2012