Communication with a 5V Arduino-Advice

Discussion in 'UDOO X86' started by cgallant, Mar 5, 2018.

  1. cgallant

    cgallant New Member

    Joined:
    Jun 5, 2017
    Messages:
    12
    Likes Received:
    4
    I'd like to send data from a Python program on the Udoo to a 5V Arduino (probably a Teensy 3.5). The 5V Arduino will be running a dozen or so i2c sensors. Accordingly, the 5v Arduino should be the master on the i2c bus. Right now, I am sending data via serial from the Python program to the Udoo's onboard Arduino Curie and then off to the 5v Arduino using i2c. That works well, except the Curie's cannot operate as slaves on an i2c bus. So, the Curie is the master and the 5V arduino the slave. It was great for testing but that configuration ultimately won't work. I can think of a few options to achieve the same goal but I'd love some advice as to what people on this board would recommend. Thanks!
     
  2. waltervl

    waltervl UDOOer

    Joined:
    Dec 12, 2015
    Messages:
    2,314
    Likes Received:
    580
  3. cgallant

    cgallant New Member

    Joined:
    Jun 5, 2017
    Messages:
    12
    Likes Received:
    4
    Thanks. I fear it can't be used as a slave and I don't know how to go about figuring that out from the datasheets online. I was hoping someone on this forum could confirm slave use is possible. If I don't hear from anyone, I think I might try serial (using a logic level converter of course).
     
  4. waltervl

    waltervl UDOOer

    Joined:
    Dec 12, 2015
    Messages:
    2,314
    Likes Received:
    580
    Why don't you run all the sensors on the curie itself?
     
  5. cgallant

    cgallant New Member

    Joined:
    Jun 5, 2017
    Messages:
    12
    Likes Received:
    4
    Good question. Not enough PWM pins or digital pins among other things. If those weren't issues, would there be any way to debug using serial.print() on the curie when it's is getting data from the Braswell side?

    Thanks!
     
  6. waltervl

    waltervl UDOOer

    Joined:
    Dec 12, 2015
    Messages:
    2,314
    Likes Received:
    580
    You would have to debug it through the python program that is communicating with the curie through serial.

    There are also plain digital pin and pwm extenders through I2C if you need only that.

    So Braswell communicates with curie through serial. Curie communicates with I2C with sensors and extenders. No extra Arduino needed.
     
  7. ccs_hello

    ccs_hello UDOOer

    Joined:
    Apr 15, 2017
    Messages:
    536
    Likes Received:
    194
    I would also suggest group all those sensors to the Arduino side.
    If Arduino 101 is not resourceful/powerful, use something else such as Mega2560 or Teensy 3.6. Even a $3 STM32F103 based Arduino is more flexible and powerful.
    There are also PWM extender boards and IO extender boards.
    You'll be much, much happier.
    Use Braswell X86 for its brain, not for its I/O capabilities.
     
  8. cgallant

    cgallant New Member

    Joined:
    Jun 5, 2017
    Messages:
    12
    Likes Received:
    4
    Thanks ccs_hello and waltervl. Good advice.
     

Share This Page