I2C slave without pullups

The official pyboard running MicroPython.
This is the reference design and main target board for MicroPython.
You can buy one at the store.
Target audience: Users with a pyboard.
Post Reply
OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

I2C slave without pullups

Post by OutoftheBOTS_ » Sun Jun 10, 2018 6:51 am

I am looking at wanting to use the OpenMV cam as a I2C slave for a Lego EV3 brick. The Lego EV3 brick requires 82K pullups on I2C devices so I want to be able to run the OpenMV cam in I2C slave mode but without using the internal pullups and I will put 82K pullups on the cable to the EV3.

The OpenMV cam runs a STM32 chip and uses the pyb Micopython port.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: I2C slave without pullups

Post by pythoncoder » Mon Jun 11, 2018 5:45 am

This is really a question about OpenMV hardware. If the pullups are implemented by means of physical resistors connected to 3.3V (as on the Pyboard) the only solution is to remove them. But it's possible that they have implemented a means of switching them off. You'd need to consult a schematic to find out.

However I'd be surprised if any action is actually necessary. Having pullups of less than 82KΩ is unlikely to pose a problem unless the Lego brick has extraordinarily weak drivers.
Peter Hinch
Index to my micropython libraries.

OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: I2C slave without pullups

Post by OutoftheBOTS_ » Mon Jun 11, 2018 10:01 am

However I'd be surprised if any action is actually necessary. Having pullups of less than 82KΩ is unlikely to pose a problem unless the Lego brick has extraordinarily weak drivers.
Yes it is necessary with Lego Brick and is a known issue for anyone that has ever tried to interface with Lego brick. Lego tries as hard as possible to to be compatible with anything else so to make it very hard to non genuine hardware with Lego.

The OpenMV cam doesn't have any external pullups on the PCB but I assumed the pullups are internal on the STM32F765VI chip???

OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: I2C slave without pullups

Post by OutoftheBOTS_ » Mon Jun 11, 2018 10:20 am

OK I think the OpenMV may not have any pullups on it at all and your suppose to put external ones on. I put my scope on the I2C pins and ran a script to start up the I2C bus and the pins stayed low the whole time so I assume this means there isn't any pullups on it.

Post Reply