chuckbook wrote: ↑Thu Oct 03, 2019 3:32 pm
This is exactly the reason why Y9 & Y10 don't have internal pull-ups. If PYBD is integrated in another design it is usually required to put I2C pull-up resistors on the supporting board (or even on a remote board).
Using 5V as pull-up source is ok. Pull-up resistor values should be in the range of 1.5kOhm to 10kOhm. USB specs require a minimal pull-up current of 3mA.
Of course both lines shall be pulled by a separate resistor.
Note: X9 &X10 have internal pull-ups that can be switched on by configuring F1 & H5 as PP outputs with high level.
Note2: If external pull-ups are used, all internal pull-ups of affected ports should be turned off. F1 & H5 have to be configured as inputs.
Using two 10K resistors as specified above, and this code:
Code: Select all
Pin('Y9', Pin.IN, pull = None)
Pin('Y10', Pin.IN, pull = None)
i2c = machine.I2C('Y')
print(i2c.scan())
returns an empty scan. If I switch to I2C(1), everything works fine.
Based on this observation and the fact that Y9 refuses to behave properly as IN or OUT, should I conclude that Y9 is now unusable?