[SOLVED] Can you "break/burn" the i2c ports?

pedrotoba
Wed Oct 25, 2017 9:52 am
I was playing with this board “blue pill”, and i was trying to test the oled display “OLED ssd1316”, and it works like a charm using the adafruit library for arduino.

First i test this code “I2c scanner” from arduino playground: https://playground.arduino.cc/Main/I2cScanner , and it shows the address for the device connected perfectly. And the i try de adafruit library and like i said before, it works perfect.

But the next day i tested that and pof!, it stopped working only showing me errors in the i2c scanner.

The oled display works perfectly i tested thatn with an arduino nano.

I tried to change the protoboard, connect directly the oled pins with the board pins, resolder the board pins, use the other i2c pins, etc. And nothing of this works :?

So here is my question. Do i break the board?

Thanks a lot ;)


Pito
Wed Oct 25, 2017 10:13 am
But the next day i tested that and
Burning io ports is rare. Try to track down what you did differently at that day..
For example you removed pull-up resistors..

ahull
Wed Oct 25, 2017 10:26 am
Despite my best incompetent efforts, I have yet to actually fry any of these board. I suspect your wiring may be the issue.

pedrotoba
Wed Oct 25, 2017 10:40 am
[ahull – Wed Oct 25, 2017 10:26 am] –
Despite my best incompetent efforts, I have yet to actually fry any of these board. I suspect your wiring may be the issue.

This is my wiring connection:

https://imgur.com/a/wBGZx
In the stm32f1 datasheet these are the pin connections for sda and scl.

[Pito – Wed Oct 25, 2017 10:13 am] –
But the next day i tested that and
Burning io ports is rare. Try to track down what you did differently at that day..
For example you removed pull-up resistors..

How can i put again the pull up resistors? thanks.


Slammer
Wed Oct 25, 2017 10:52 am
First you have to use 2 resistors (2K2-4K7 value) connected to each of I2C pins to 3.3V

In your circuit you are using this display which is 5 Volts logic, normally you have to use a proper voltage shifting circuit as pins of STM32 are 3.3V.


pedrotoba
Wed Oct 25, 2017 11:00 am
[Slammer – Wed Oct 25, 2017 10:52 am] –
First you have to use 2 resistors (2K2-4K7 value) connected to each of I2C pins to 3.3V

In your circuit you are using this display which is 5 Volts logic, normally you have to use a proper voltage shifting circuit as pins of STM32 are 3.3V.

But it works perfectly the first time i use this, without resistors and without a shifting circuit, why not now?, Im gonna try the resistors to see if that works, thanks for the reply


zmemw16
Wed Oct 25, 2017 11:11 am
@pedrotoba wrote
I tried to change the protoboard, connect directly the oled pins with the board pins, resolder the board pins, use theother i2c pins, etc. And nothing of this works

it’s not clear which bit of changing occurred when.
i suspect that moving to i2c2 might be the issue, but as i’ve never done anything on i2c2, so i can only say ‘suspect’
try a search here for i2c2, pretty sure it’s been up before.

stephen


Slammer
Wed Oct 25, 2017 11:15 am
I have used many times this small screen with Blue Pill without problems, but always with Pullup resistors and voltage shifter. Pins PB8 & PB9 are 5V tolerant so there is no fear to burn them with 5V. If you want to test the circuit fast, put at least pullup resistors 4K7 connected to 5V and try again.

zmemw16
Wed Oct 25, 2017 11:25 am
pb10 & pb11 is i2c2; pb8 & pb9 is i2c1 remapped, but it’s not clear which one is meant.
not really clear on the BP board either, it is if a Baite MM.
srp

pedrotoba
Fri Nov 03, 2017 9:32 am
Finally i solved that!, i saw that in the board, the clock was bad soldered, it moves, and after i resoldered it, the i2c works perfectly!, that was a strange error i think :lol:

Thanks everyone for the help! :D


ahull
Fri Nov 03, 2017 9:36 am
I’ve seen a few rather dodgy solder jobs on these boards, I guess the lack of proper QA is one of the reasons they are so cheap. Glad you solved the mystery.

Leave a Reply

Your email address will not be published. Required fields are marked *