-->
Page 1 of 3

Wire i2c problem

PostPosted: Sat Jan 16, 2016 7:27 am
by tapsa
Hi,
I try use oled display with my nodemcu 1.0 board. Display is connected to pins SDD2 and SDD3 so I call Wire.begin(9,10);
Problem is that if I call Wire.endTransmission(); board halt and watchdog timer reboot board after while. I know that my dispay does not send ack so I try also just remove Wire.endTransmission(); lines. That prevent hang but still no live at display. I also try debug this with oscilloscope and looks that there is no life at all at SDD2 and SDD3 pins when I reset bus or write to it. Pins are just at + 3.3v all time. So any ideas why these pins does not response? Reason why I use non standard pins is that I use nodemcu motor shield (https://laborja.wordpress.com/venta/ard ... or-shield/) and it sadly eats pins D1-D4 (GPIO 0,2,4,5)

Re: Wire i2c problem

PostPosted: Sat Jan 16, 2016 8:09 am
by WereCatf
I've been wanting to use those pins too, but I can't figure out how to do it. If I set pinMode(9, OUTPUT) my board crashes, and there's constantly traffic on 10 even if I'm not using it. I really wish someone would explain why.

Re: Wire i2c problem

PostPosted: Sat Jan 16, 2016 9:27 am
by martinayotte
Those GPIO9/GPIO10 are used by the Flash in QIO mode. If you wish to use those as GPIO, you need to use the Flash DIO mode, and for that you need to cut wires on the flash chip and replace those connections by pulling them up.
http://smarpl.com/content/esp8266-esp-2 ... and-gpio10

Re: Wire i2c problem

PostPosted: Sat Jan 16, 2016 10:04 am
by WereCatf
martinayotte wrote:Those GPIO9/GPIO10 are used by the Flash in QIO mode. If you wish to use those as GPIO, you need to use the Flash DIO mode, and for that you need to cut wires on the flash chip and replace those connections by pulling them up.
http://smarpl.com/content/esp8266-esp-2 ... and-gpio10


The Nodemcu by default operates in DIO-mode and you shouldn't have to do any cutting of the wires -- that's one of the selling points of it.