Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

I2c Questions

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.


Upgrade to ARC Pro

Synthiam ARC Pro is a cool new tool that will help unleash your creativity with programming robots in just seconds!

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...

1) It's not wired correctly - which is why it's disconnecting.

2) 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.
User-inserted image

User-inserted image

There are a few different blinkm versions and revisions.

blinkm min product info:


3.6-5v operating voltage, 60mA max
5-volt standard TTL inputs

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!

I need your input:

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:
1) cable length (let's assume we are using normal distances 30 cms)
2) I2c Bus speed

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)
page 114
When you have long wires, the series resistors limit the slew rate, but i believe we don't need them.