New BlinkMSequencer Features

ThingM’s Multitrack BlinkMSequencer has been updated to work with both LinkM and with Arduino running the BlinkMCommunicator sketch.


New Features and improvements include:

  • LinkM and Arduino connectivity support

    Previously, you used the new Multitrack Sequencer if you had a LinkM and the older single-track sequencer if you had an Arduino. Now the Multitrack Sequencer has Arduino connectivity suppport.

    To use:

    • Load the BlinkMCommunicator sketch onto your Arduino
    • Unplug the Arduino, plug in your BlinkM, plug back in the Arduino
    • Choose the “Connect to Arduino” item in the File menu
  • Gradient creator

    It’s now easy to create smooth gradients between color cells. To create a gradient, make a selection starting at your preferred start color and ending on your preferred ending color. Then choose “Make Gradient” from the Edit menu.

  • Set BlinkM to use ROM scripts like “Virtual Candle” and “SOS”

    BlinkM has 18 built-in ROM light scripts. A BlinkM can be told to play these on startup instead of a programmable script. Now you can easily select one of these scripts to run.

  • Change I2C address of BlinkMs

    In order to make best use of the multitrack aspect of the sequencer, you need to assign each BlinkM its own I2C address. The previous way of doing this was with “BlinkMTester” Arduino sketch in the BlinkM_examples bundle. Now you can do it from within the sequencer.

  • Copy-paste colors within a track

    The cut/copy/paste commands work to let you copy sections of tracks. This is really handy to create repeating color sequences. The left/right arrow keys can help position the paste point to make quick work of filling up an entire track.

  • Fixed colorchooser same-color-twice bug

    One of the biggest pet peeves we’ve had with the standard Java ColorChooser we use in the sequencer is the fact you couldn’t select the same color twice in a row. There is now a modification to the ColorChooser to allow you to do this.

  • Tooltips on colors in a sequencer

    When hovering over a color slot in the sequencer, you now get a tooltip showing the decimal RGB value.

  • Visual indication of connectedness

    The “Upload to BlinkM” and “Download from BlinkM” buttons now reflect if you are currently connected to a LinkM or Arduino by being disabled or enabled.


Pfister Frederic

Can we have the processing source code for this version too ?
I’d like to make some modification to the software.

Thank you

Pfister Frederic

Thank you for your fast answer,
I managed to get the sketch running in processing but :


– the ” final static variables ” makes something go wrong so I had to use these variable without the final static parameters.

– I couldn’t find the *.gif file also the font is missing, I guess its all the data file that is required to have a proper app.

Best regards,


You’ll need to check out the entire ‘linkm’ project to get all the required dependencies if you want to build the BlinkMSequencer app. In your particular case about the images and fonts, you’ll need the “blinkm-images.jar” file in the “code” directory.

Pfister Frederic

Thank you for your help,

I have a last issue now.. even I have this jar file containing all the *.gif file, when I run the sketch it wouldn’t find them. I tried to put them in data folder, outside, rename. I’m stuck with this, so where should this files be ?

Pfister Frederic

Please, I still cannot find a way to include the pictures into the running file, even I input the absolute path to the Util().makeButton() function it wouldn’t find the file. Any clue or insights ?

Thank you


Hi Pfister,
I’m not sure how you’re getting these errors. Are you using Processing to compile and run BlinkMSequencer2? Processing is required.

The steps I would do for a clean checkout and compile of the code would be something like:
– Download Processing for your platform.
– Grab the Java/Processing library from the LinkM Google Code project, unzip it into the “libraries” directory of your Processing sketchbook location (this is ~/Documents/Processing on Mac OS X)
– Do an SVN checkout of the LinkM project to get the source to everything, including BlinkMSequencer2.
– Run Processing and open up the BlinkMSequencer2.pde project.
– Press the “Run” button in Processing to compile and run the code.

Pfister Frederic

Oh Thank you,

I was missing the part with the svn checkout therefore the folders and relative path was wrong.

Thank you for taking out of your time to reply. Now that I can run the software I’ll be able to finish my project. I’ll document it and send you a feedback once it”ll be completly done.

Is there an email adress where I can send you this ?
Again thank you.



Hi, I intend to to the same like Pfister and carefully followed your above instructions. I performed the complete svn checkout and got all of the source files. From the “processing apps/blinkMSequencer2” folder I open the “BlinkMSequencer2.pde”. But if I try to run or export I’m getting the error message “thingm” library is missing…
Where should I put the content of the downloaded file “”?
Please help. Thanks!


Hi Ulrich,
As I mention above in the response to Pfister, you need to unzip the “” file into the “libraries” folder in your Processing sketchbook folder.


Trying to build from source, I get the error: “The Function ctrlmSetSendAddress( int, int, int) does not exist.

I put the files from in Processing/Libraries/linkm

Any Idea’s?


Hi tod,ime just wanting to know why the linkM source code doesnt work,it compiles fine but doesnt work on the linkM,the status led flickers when first plugged in as does my working linkM also the i2c enable led is lit,but it shows a wellow ! in the device manager under the usb input device,also the code size is 16kb when compiled compared to the compiled linkm_l1_prod.hex file wich is 23kb that you sent me for the linkM last year when i had problems then,do you have another version of the linkM source code? that you use for final production of linkM other than whats on github??? i just want the source file that works with the currant linkM if you have it and can send it to me, then that would be great. the compiled size differance tells me that there may be quite a bit missing from the linkM source code on github,also does the debug option have to be enabled or not?I dont have it enabled,that seems to alterthe code size when enabled but not to 23kb like the working hex file is.
I do have one linkM working ok with the hex file you sent last year and have it backed up too and can use that but just want to get the source file working so i can compile it myself and maybe make some changes in the futer when i start my own project for my own use and may use the linkM.
Thanks in advance for your help.


Just to update my last comment,ime using the atmega88 with 12mhz fuses. ive also tryed it with 328p and 16mhz and 12mhz but still not connecting properly with my pc also ime running windows7 with usb 2.0.


Hi Dunk,
Please post these sorts of questions as issues to the LinkM github so others might be able to find it.
But in short, there are several issues you could be having:
– If you’re not using an official LinkM board, you will likely have problems because the V-USB stack has issues with USB on modern PCs and is very picky on zener diode and resistor combinations;
– the avr-gcc compiler has changed quite a lot since LinkM was created. It’s possible the resulting binary will not work;
– if you’re not using the exact MCU, clock speed, and fuse settings, I can make no guarantee the code will work
And yes, the version of the hex, fuses, and eeprom file is what is used in production LinkMs.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.