Go Down

Topic: blinkm addressing problem.. (try it on your blink) (Read 5 times) previous topic - next topic


hi everyone,

so i am having an issue trying to readdress a blinkM, i've also tried on a MaxM, but i would guess the firmware is the similar to a point.

so, i started with my own bit of code to sort out what i knew and didnt know about i2c, a fair bit - but i can write to the blink's with no problem. i have 3 pots hooked up and can control rgb directly. nothing new, i know, but it was an exercise.

so the next step is to control multiple blinks, independently. i can't get the addresses to stick though.  here is my edited version of the stock code that is in the examples. i could be doing something silly, like sending hex instead of int, or something very strange could be going on... any help would be appreciated.  

Code: [Select]

#include "Wire.h"
#include "BlinkM_funcs.h"

byte blinkm_addr = 0x08;
byte blinkm_globaladdr = 0x00;
int temp;

void setup()



   Serial.print("Setting I2C address...");
   BlinkM_setAddress( blinkm_addr );
   Serial.println(blinkm_addr, HEX);
   Serial.print("Verifying I2C address, sent to 'correct' address...");

   temp = BlinkM_checkAddress( blinkm_addr ); //sent to what it should be


   Serial.print("Verifying I2C address, sent to global address...");
   temp = BlinkM_checkAddress( blinkm_globaladdr );

//sent to global, should return matching

   Serial.println("Did it work?");


void loop()
   digitalWrite(13, HIGH); // flash Arduino LED for fun
   digitalWrite(13, LOW);

Thanks -- Jon   :)


...as continuation, i looked inside the blinkM_funcs.h and uncommented some of the debug messages, no change, still having an address problem.

here is the response, sorry it a bit of a mess

Code: [Select]

Setting I2C address...8
Verifying I2C address, sent to 'correct' address...received addr: 0x80
Setting I2C address...8
Verifying I2C address, sent to 'correct' address...received addr: 0x80
Verifying I2C address, sent to global address...No response, that's not good
Did it work?


and as a followup to my own post, hope this helps someone else...

haven't tried it yet, i'll give some feedback to see if it helps.



fail... :-(  

i have 1.0c blinkm's   anyone?



Have you tried using the "BlinkMTester" Arduino sketch that comes as part of the BlinkM Examples bundle?  It has the ability to let you re-address BlinkMs and I use it all the time.

The home of the BlinkM Examples bundle lives here:
You can download the examples as a zip file here:
Or you can examine the source code to BlinkMTester here:

Let me know if BlinkMTester works.  If it doesn't, but otherwise the BlinkM appears to function, then you may have a bad BlinkM.  We can arrange an exchange for you then.

Go Up