Issue with Inputs Pins Sourcing Current


I have a simple resistor divider network with the middle feeding to pin PB6/D1 of a P1 on a custom board. The divider is a simple divide by 2 with 4.5V at the top. When I configure the pin as an input with NO pull resistors, the output of the divider is reading 3V on a multimeter. Obviously this is not correct, it should be approximately 2.25V. I cut the trace between the divider and the pin and the output of the divider is now reading the correct value.

Does anyone know what might be causing this?

Update: The resistance between the trace and 3.3V seems to be 2.2k, the same as the I2C pull-up resistors. Is there a way to disable these or not?

There is no internal I2C pull-up resistor on the Photon, P1, Electron or Core. The STM32Fxx INPUT_PULLUP or INPUT_PULLDOWN resistor is around 40-50K and that’s only used when you set the pinMode to enable that.

Hi Rickkas,

Thanks for answering this. Where do you think the 2.2k could be coming from then?

No idea. It’s quite mysterious and hopefully someone else here will have an idea!