2024-09-09 10:15 AM
I'm using the i2c on a nucleo stm32h723 board. I'm using pins PB8 and PB9 on the board. I have the pins connected to a scope. I notice that when I have the internal pullups of the board on the voltage is at 3.5V and if I dont use the internal pullup, then the voltage is at 3.5V then drops to 3.3V. Was wondering if the pins are broken or if the jumpers on the board are inncorrect since the i2c line should be at 3.3V even with internall pullup.
2024-09-09 01:21 PM
Yeah, not sure what you've wired up, but sounds like some of the grounds aren't common, or you have some external part on the bus which has it's own supplies/regulators.
Diagram what you've built, and the point you're probing.
2024-09-09 02:28 PM
I have attached a diagram. Im using pins PB8 and PB9 on CN7 for i2c and using the 3.3V and GND from CN8 to power the sensor. I have attached the scope to pb8 and pb9, using the GND near the end of the board.
2024-09-09 02:30 PM
The sensor has 4.7K pullup resistors of it's own. So i try to use those instead of the stm32, by turning off the pullups.
2024-09-09 10:37 PM
Keep the wires short, use the GND pin(s) for the sensor board and the scope on CN7.
It shouldn't matter too much if you keep the STM's rather weak pull-ups on, but check if it makes a difference.
Anyway, saying that voltage drops back to 3.3V, maybe you're just measuring some overshoot (due to non-terminated flying wires and the scope GND line)?
2024-09-10 06:52 AM
If i keep the STM"s weak pullups on the I2C lines remain at 3.5V during idle but if i switch them off, the bus starts at 3.5V during bootup then drops to 3.3V. I measured the voltage on the 3V3 pin on nucleo board and it's measuring at 3.5V