3

I just got into an interesting mess.

I have 3 Arduino's (Pro Mini's) and 2x Teensy's (3.1's) connected via I2C to a Raspberry Pi Master. The 2x Teensy's I2C data lines are connected via OctoBoards but that doesn't really matter since the OctoBoard maps the I2C Pin's of the Teensy to itself. I have 4k7 pullup resistors for SDA/SLC close to the master (also tried on the end - with no effect).

The Arduino's alone are super solid - no issues other than the occasionally I2C lockup when writing data.

Arduino

The I2C interface has been running for over 3h with no problems.

Now as soon I add a Teensy to it, the bus locks-up and I need to completely shut down everything. Only thing I got to work was direct connection from RPI -> Teensy and even then there were sporadic detection issues.

I tried the Wire lib as well the IC2_T3 lib with no difference. Also tried with 4 different Teensy's with no difference.

Are the Teensy's not compatible with RPI?

1
  • That is a lot of antenna hanging around. Consider using a method that keeps the Microprocessor wires from going from computer to computer. Ground references could cause a lot of problems and would explain the problems but it is not the only possibility. Different processors have different reactions to transients. Be sure the grounds from each unit are connected together. I would expect each combination to act differently.
    – Gil
    Oct 29, 2015 at 22:18

1 Answer 1

1

I do not have experience with your exact setup, but I once had a similar problem. I had a pi as I2C master, a battery module that used I2C to communicate battery status and two servo controllers attached. The servo controllers alone worked and the battery module alone worked, but all three attached to the pi didn't work and there was no collision in I2C addresses (have you checked that btw?). It turns out, that both servomodules and the battery module had I2C pullup resistors attached, so the end result was 3x4k7 in parallel, which is around 1566 ohm. The solution was to remove the pullup resistors from the servo controllers.

So the question is, have you by any chance enabled pullup resistors on any of the arduinos/teensys/pi in addition to your own resistors, resulting in wrong pullup resistor value?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.