Udoo x86, ubuntu and accessing I2C

Discussion in 'UDOO X86' started by mterwoord, Sep 8, 2017.

  1. mterwoord

    mterwoord New Member

    Joined:
    Sep 8, 2017
    Messages:
    3
    Likes Received:
    0
    Hi!

    I installed Ubuntu 17.04 on my Udoo x86. Next i installed an adafruit pwm board onto the I2C1 bus. How can I now communicate with the device? I used i2c-detect to find it, but it doesn't show up anywhere..

    Regards,
    Matthijs ter Woord
     
  2. waltervl

    waltervl UDOOer

    Joined:
    Dec 12, 2015
    Messages:
    2,314
    Likes Received:
    580
    Are you sure you did connect them to the Braswell pins (outer side) and not on the Arduino pins (inner side)? Be aware that Braswell is 1.8V !! Normally these kind of boards are 3.3 or 5V. Perhaps better to connect them on the Arduino side (3.3V but 5V tolerant)

    Below pinout for Braswell GPIO[​IMG]
     
  3. ccs_hello

    ccs_hello UDOOer

    Joined:
    Apr 15, 2017
    Messages:
    536
    Likes Received:
    194
    I2C1 is part of Braswell's I/O. As waltervl stated, Braswell (the Intel x86) is 1.8V system.
    They are intended for engineers who understand these.
    Higher voltage showing up on these pins are VERY, VERY BAD for Braswell and shall never be attempted.

    ccs_hello
     
  4. mterwoord

    mterwoord New Member

    Joined:
    Sep 8, 2017
    Messages:
    3
    Likes Received:
    0
    An update from my side. It works (I will get to the voltage in a bit). I2C1 is controller #9 on my ubuntu.

    Now to the voltages. It works, but it will damage the board?

    I tried to look for the datasheet of the I2C buses, but couldn't find anything. Like for the PWM board I'm using (which is PCA9685 based) I can find the tolerated values for low and high, etc.


    What options do I have for controlling PWM channels (4-5 at least) from Braswell?

    Thanks for your input though!
     
  5. ccs_hello

    ccs_hello UDOOer

    Joined:
    Apr 15, 2017
    Messages:
    536
    Likes Received:
    194
    I2C leads are under 1.8V IO spec. Tolerance is +-5%.
    The main reason you have not cooked the chip is I2C uses a pair of pull up resistors to limit the sourcing current.
    However please note this is not recommended and
    IMHO a bad idea that you are putting the heart of the UDOO X86 at risk.
    If you cook it and causing damage, it may affect the entire Braswell chip which will affect the entire board's operation.
    It's a $$$ gamble. If you play with Arduino, all you hurt is the Arduino part of the system which can be easily changed to use an external Arduino board $10 or less (not Arduino 101 though.)

    ccs_hello
     
  6. mterwoord

    mterwoord New Member

    Joined:
    Sep 8, 2017
    Messages:
    3
    Likes Received:
    0
    Understood. Thanks for clearing up.
    Are there any options for doing PWM channels with the x86 part?
     
  7. ccs_hello

    ccs_hello UDOOer

    Joined:
    Apr 15, 2017
    Messages:
    536
    Likes Received:
    194
    There are two PWM channels in Braswell SoC chip. Both of them are under the 1.8V I/O system. I think at least one is used to control the CPU fan speed, but currently under the control of BIOS. On the other PWM channel, I am not sure. I am guessing that lead is not brought out by the UDOO X86 board designer.

    ccs_hello
     
  8. waltervl

    waltervl UDOOer

    Joined:
    Dec 12, 2015
    Messages:
    2,314
    Likes Received:
    580
    There are 4 pwm channels on the Arduino 101, on pin 3, 5, 6 and 9.

    If the pwm quality is not that much important (ie driving an LED) you could also use softpwm on digital pins.
     

Share This Page