ElHefe:
I am trying to connect a 0.96" OLED display to ESPDUINO using I2C. It is black screen. It works perfectly on the UNO but not on the new board. Hell, its only 4 wires so i shouldn't have problems right? This is what I have tried:
- Triple checked the wiring (works on the UNO)
The Uno is a 5V device, the ESP is 3.3V?
ElHefe:
2. Made sure i am getting VCC and GND on the OLED pins
Ran the I2C finder to connect to the OLED and double check the address (It was 0x3C) so the display is communicating with the ESP. "Blink" programs just fine and blinks the blue onboard LED
I ran my scope on the DATA and CLK lines and got an I2C serial signal. I read in "Kolbans's Book On ESP8266" that 4k7 ohm pullups on the DATA and CLK can help so I added them and got a way better signal but I still don't have a display.
Added auxiliary power supply to the ESP in case my USB was not supplying enough power.
So you have not verified that your ESP actually is controlling your display?
Write a simple test routine that draws a line on the display.
The ESPduino code is not completely Arduino compatible. So maybe the Adafruit library is using a shortcut to improve responsiveness and the ESPduino core does not support that shortcut.
ElHefe:
Now it comes down to code, I think. This is my first foray in to ESP8266 chips. The code comes from the Adafruit site via github. I pulled out a majority of the code and just left the basics to get me started. Does the code run the same between Atmel and ESP chips? Any ideas what I am doing wrong?This is just the basic sketch from Adafruit: ssd1306_128x64_i2c.ino
I would post the ENTIRE code but there was a message that it exceeded 9000 characters and needed to be corrected so here is the first half
I had to delete after LOOP.
If the adafruit code is doing any bit manipulations that could be a source of some of your fails. The ESP is a 32bit cpu were the UNO,MEGA are 8 bit cpu's.
I would start by writing a bare test function to verify the electrical connectivity. Then start testing each function of the AdaFruit library.
Chuck.