I just found out some strange behaviour between arduino and BlinkM.
In my setup I use external psu to power the BlinkM MaxM.
This power will be triggered via arduino.
The strange thing is... When I start up the arduino, it freezes if a BlinkM is connected via the C&D wire, but doesn't have power.
If I disconnect the Clock&Data wire, the blinkm continues running the program like nothing happend (until I cut the power to the blinkm, then arduino freezes again).
I have to remove the Clock AND data wire, removing only one doesn't change a thing.
It took me a while to get here and hope there is some logical explanation for this. I've send an email to BlinkM hopefully they
can explain what happens.
This is true. When I don't connect a blinkm and start the l2c bus command BlinkM_stopScript(blinkm_addr); I measure +4,5v
But if I do this with a blinkm connected without power to the blinkm the bus is 0v and will be "bussy".
I think this happens because the blinkm shortens the C & D if it's not powered. I measure 1.4 Mohm between C&D without power to the blinkm. This changes to infinity when the blinkm gets powered.
As this is my measure result, I'm trying to find this information because I also would like to read it in the factsheets of the protocol.
That's correct, the BlinkM is based on an ATTiny and the internal clamping diodes on the pins will pull the signal low when the device is not powered. Not a good idea to do this because those diodes aren't designed to handle much current.