Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

United Kingdom

Yes but if you want them controlled individually you will need to change the address on one of them.

#2 has a downloadable manual if you wanted to read how to do it before getting them.

United Kingdom

And to add, it's clearly set out so you can see the commands needed, there are also a few examples in the forum if you struggle to understand the I2CWrite() command (I posted one the other day to make the BlinkM red).

BlinkM Datasheet - You want page 17. Ignore the messy, nasty, arduino code.

Examples; (I'm taking a break from mind numbingly boring work)

# BlinkM Examples
# Use I2CWrite
# Default address 0x09

# Change the address to 0x0a
# Address now 0x0a

# Change the address back to 0x09
# Address now 0x09

# White light

# Red light

# Green light

# Blue light

# Fade to yellow light

# Fade to black (off)


Just some examples, now they are untested but I had positive feedback with the red light code the other day so assume all others will work. Hopefully it is enough for you to see how to carry out the functions described in the datasheet since this is no arduino you're using so their code is near useless.


Tuesday, 16 April 2013

GREAT Presentation Rich !

Thank You for the introduction to BlinkM & It's Datahheet.


Do I add the BlinkM Control? Do I add a secong EZB? If I script it as in the post above what language do I choose?


Nevermind I think I just use the Ezscript

JUst not sure how to tell address each device (one differently then the other)

United Kingdom

There is an ARC control under I2C. It has a place for the address however I don't know if it has a place to re-address it.



to change the address of the first one (without the second being connected). That will change it's address from 0x09 to 0x0a. You can change the 0x0a to anything you want provided it doesn't clash with a different I2C device.

Probably easiest to open the script console (under script) in ARC and manually type the above command in once. Then you can close the console and add the second BlinkM.

Once that command has been run it should be re-addressed. Then use the I2C control, change the address in the box at the top of the control and move the sliders to change colour.

Or write scripts to trigger specific colours for different actions etc.


After you set the unique addresses, you can still address both of them using the address 0x00. That would be useful when using them as eyes.

From the datasheet: 3.1.1 I2C Addresses The default BlinkM address is 0x09. It can be changed at any time with the "Set Address"("A") command described below. BlinkM responds to both its defined I2C address and the "general call" broadcast address (0x00).

Building on Rich's code it would be:

# White light

Oh yeah when I was tinkering around with them using the built in pulsing of brightness and color they do fall out of sync. If I remember correctly there was a way to one to be the master timer. It's late here and I need sleep. Rich, can you find and post the correct code for it?

United Kingdom

That's great to know. I'm looking at possibly getting a BlinkM to just play around with if not fit in Melvin's brain.

One more hint, the I2C codes are case sensitive, i.e. I2CWrite(0,0x09,A,0x0a) would be different to I2CWrite(0,0x09,a,0x0a). Pre-empting a few questions and problems:)

United Kingdom

Bringing an old one back to life a little but I just got my BlinkM delivered today (massive thanks to ThingM)

BlinkM Example Script - The good news is my first assumptions were correct and all previous scripts and posts I made are 100% accurate:)

Expect to see this in Melvin's head soon... until then, I have a video which I will pop up later.


They are pretty cool and they have sequences built in so EZ-B doesn't have to waste processing on doing it.

United Kingdom

Yeah that's next on the todo list once I finish sorting out all my PCs with the new ARC and messing around with the library... Not that I will use sequences on Melvin but still would be good to know how to do them:)