Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

Thread: Teensy 3.1 / LC - I2C slave pullups on SCL and SDA

  1. #1
    Junior Member
    Join Date
    Jan 2015
    Posts
    12

    Teensy 3.1 / LC - I2C slave pullups on SCL and SDA

    I have a current project which piggy-backs one Teensy 3.1 or Teensy-LC directly on top of another. One will be configured for MIDI over USB, the other for Serial over USB. The intention is that the two boards communicate with each other through the 'Wire' interface, one a master and one a slave.

    Since the connection between them is only millimeters long, and these lines don't go anywhere else, does anyone have an opinion on whether I can simply use "pinMode({slave SCL pin / slave SDA pin}, INPUT_PULLUP); to provide enough pullup current reliably on the bus ?

    Also - SDA will be an input sometimes, and an output sometimes, so would "INPUT_PULLUP" be 'sticky' or would I need to confirm it again every time that a device dropped back to "listening mode" ?
    Last edited by nakedsensor; 04-13-2015 at 12:33 PM. Reason: Edited for clarity

  2. #2
    Senior Member
    Join Date
    Sep 2013
    Location
    Hamburg, Germany
    Posts
    894
    The internal pull-ups have a fairly large resistance, so if it works at all you might have to use low clock speed (I'd start with something like 10 kHz). They are also not equal between the 3.1 and the LC. I'd simply add external pull-ups with a known value and be done with it.

    You won't have to reconfigure the input mode during IC communication, the hardware takes care of that.

  3. #3
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    23,969
    Teensy 3.1 and LC require real pullup resistors on SDA and SCL, not matter how short the wires.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •