Asked
— Edited
I seemed to be having issues with I2C BlinkM's I keep adding the control to the layout and connect the blink M to one of the i2C ports and it disconnects the EZB, every single time. To make sure I have connected the wires correctly could someone point me to a call out that has the break down of the I2C ports, i.e +,-,c,d
Thanks in advance.
Will,
is this one ? http://thingm.com/fileadmin/thingm/downloads/BlinkM_datasheet.pdf
d = I2C SDA c = I2C SCL
source: https://www.ez-robot.com/Tutorials/Files/EZ-Bv4%20Datasheet.pdf
Yup that's the one thanks! Seems I have I wired correctly. Not sure what's happening with the disconnect.
There's ONLY two ways an i2c can cause a disconnect...
It's not wired correctly - which is why it's disconnecting.
the i2c address is specified incorrectly
EZB v4 I2C ports are a single bus, do you have anything else connected ?
Nope nothing else connected. Checked the 4 wires again and they are connected correctly. (Black Neu, red pos, white D, Yellow C) All are addressed at 0x09. This is for Alans eye color control.
Will,
There are a few different blinkm versions and revisions.
blinkm min product info: https://thingm.com/products/blinkm-minm/
EZB is 3.3v
did you used that device before with EZB ?
Hmm good point. The Original Alan was built with the same product. They still work and I can change colors for his eyes using the control for it. But that was 4/5 years ago. Perhaps the product has changed. I won't put too much energy into it. For this project I can just select a color and set that with the programmer, then just Apply voltage .
I agree with @PTP it looks like the BlinkM operating voltage may have changed.
Their pull-up resistor values on the SDA and SCL lines may also have changed. You could try placing low value (330 to 1kohm) resistors on your wiring harness (SDA to VCC & SCL to VCC) to place them in parallel with the pull-up resistors on the board. Putting these parallel resistors in place with decrease the resistance on the SDA and SCL lines pulling them up stronger.
Thanks Jeremie, I'll give it a try today!
@Jeremie,
I need your input:
Q1) I traced the EZB pcb and it seems EZB does not have pull-ups on SDA, SCL lines, neither a resistor in series, can you confirm this ?
Regarding the Pull-Up values, several times I've used 4.7K with STM32F103, STM32F205 and other 3.3v micro-controllers. When adding 2 devices with same values 4.7K brings down to 2.35K and still works, but if i bring down below <1.5K i had problems.
I know there are other factors:
Q2) EZB I2c BUS Speed ? *** EDIT: The default value is 100 kbit/s and can be configured in the ARC
Q3) I never heard before the recommendation for 330 to 1K, Isn't the value too low ?
Q4) Can you explain why the recommendation is different for EZB when compared to other/same 3.3 micro-controllers ? *** EDIT 2: STM32F205 (EZB microcontroller) http://www.mouser.com/ds/2/389/stm32f205rb-956262.pdf page 114 When you have long wires, the series resistors limit the slew rate, but i believe we don't need them.