Can not display T and H on OLED

Looks like connection problem with display. To be checked/changed - address, pin-out, polarity,…
This is what I would look for first…

It probably because you still have the module plugged into the programmer. These programmers will pull GPIO0 low to enable programming.

You will need to get wifi logging working, unplug from the programmer and try again.

The wiring diagram is as follows:
GND: Ground (PIN 09)
VCC: 3.3V (PIN 01)
SDA: GPIO2 (PIN 03)
SCL: GPIO3 (PIN 05)

Something in the logs caught my attention! VCC: It says NO. This place was going to be YES?

INFO Reading configuration /config/esphome/display-station-01.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing display-station-01 (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- ESPAsyncTCP-esphome @ 1.2.3
|-- ESPAsyncWebServer-esphome @ 2.1.0
|   |-- ESPAsyncTCP-esphome @ 1.2.3
|   |-- Hash @ 1.0
|   |-- ESP8266WiFi @ 1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
|-- Wire @ 1.0
Compiling /data/display-station-01/.pioenvs/display-station-01/src/main.cpp.o
Linking /data/display-station-01/.pioenvs/display-station-01/firmware.elf
RAM:   [=====     ]  52.8% (used 43248 bytes from 81920 bytes)
Flash: [=====     ]  51.7% (used 529201 bytes from 1023984 bytes)
Building /data/display-station-01/.pioenvs/display-station-01/firmware.bin
esp8266_copy_factory_bin(["/data/display-station-01/.pioenvs/display-station-01/firmware.bin"], ["/data/display-station-01/.pioenvs/display-station-01/firmware.elf"])
========================= [SUCCESS] Took 21.35 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.31.141
INFO Uploading /data/display-station-01/.pioenvs/display-station-01/firmware.bin (533360 bytes)
INFO Compressed to 364227 bytes
Uploading: [============================================================] 100% Done...

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.31.141 using esphome API
WARNING Can't connect to ESPHome API for 192.168.31.141: Timeout while connecting to ('192.168.31.141', 6053)
INFO Trying to reconnect to 192.168.31.141 in the background
INFO Successfully connected to 192.168.31.141
[13:47:09][I][app:102]: ESPHome version 2022.12.3 compiled on Dec 23 2022, 13:46:07
[13:47:09][C][wifi:504]: WiFi:
[13:47:09][C][wifi:362]:   Local MAC: AC:0B:FB:CF:B7:05
[13:47:09][C][wifi:363]:   SSID: [redacted]
[13:47:09][C][wifi:364]:   IP Address: 192.168.31.141
[13:47:09][C][wifi:365]:   BSSID: [redacted]
[13:47:09][C][wifi:367]:   Hostname: 'display-station-01'
[13:47:09][C][wifi:369]:   Signal strength: -46 dB ▂▄▆█
[13:47:09][C][wifi:373]:   Channel: 10
[13:47:09][C][wifi:374]:   Subnet: 255.255.255.0
[13:47:09][C][wifi:375]:   Gateway: 192.168.31.1
[13:47:09][C][wifi:376]:   DNS1: 0.0.0.0
[13:47:09][C][wifi:377]:   DNS2: 0.0.0.0
[13:47:09][C][logger:293]: Logger:
[13:47:09][C][logger:294]:   Level: DEBUG
[13:47:09][C][logger:295]:   Log Baud Rate: 115200
[13:47:09][C][logger:296]:   Hardware UART: UART0
[13:47:09][C][i2c.arduino:052]: I2C Bus:
[13:47:09][C][i2c.arduino:053]:   SDA Pin: GPIO2
[13:47:09][C][i2c.arduino:054]:   SCL Pin: GPIO3
[13:47:09][C][i2c.arduino:055]:   Frequency: 50000 Hz
[13:47:09][C][i2c.arduino:058]:   Recovery: bus successfully recovered
[13:47:09][I][i2c.arduino:068]: Results from i2c bus scan:
[13:47:09][I][i2c.arduino:070]: Found no i2c devices!
[13:47:09][C][homeassistant.time:010]: Home Assistant Time:
[13:47:09][C][homeassistant.time:011]:   Timezone: '<+03>-3'
[13:47:09][C][ssd1306_i2c:023]: I2C SSD1306
[13:47:09][C][ssd1306_i2c:023]:   Rotations: 0 °
[13:47:09][C][ssd1306_i2c:023]:   Dimensions: 128px x 64px
[13:47:09][C][ssd1306_i2c:024]:   Address: 0x3C
[13:47:09][C][ssd1306_i2c:025]:   Model: SSD1306 128x64
[13:47:09][C][ssd1306_i2c:027]:   External VCC: NO <-------------
[13:47:09][C][ssd1306_i2c:028]:   Flip X: YES
[13:47:09][C][ssd1306_i2c:029]:   Flip Y: YES
[13:47:09][C][ssd1306_i2c:030]:   Offset X: 0
[13:47:09][C][ssd1306_i2c:031]:   Offset Y: 0
[13:47:09][C][ssd1306_i2c:032]:   Inverted Color: NO
[13:47:09][C][ssd1306_i2c:033]:   Update Interval: 1.0s
[13:47:09][E][ssd1306_i2c:036]: Communication with SSD1306 failed!
[13:47:09][C][captive_portal:088]: Captive Portal:
[13:47:09][C][mdns:103]: mDNS:
[13:47:09][C][mdns:104]:   Hostname: display-station-01
[13:47:09][C][ota:093]: Over-The-Air Updates:
[13:47:09][C][ota:094]:   Address: 192.168.31.141:8266
[13:47:09][C][ota:097]:   Using Password.
[13:47:09][C][api:138]: API Server:
[13:47:09][C][api:139]:   Address: 192.168.31.141:6053
[13:47:09][C][api:141]:   Using noise encryption: YES
[13:47:09][C][wifi_signal.sensor:009]: WiFi Signal 'Display-State-01 WiFi signal'
[13:47:09][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
[13:47:09][C][wifi_signal.sensor:009]:   State Class: 'measurement'
[13:47:09][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
[13:47:09][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
[13:47:09][C][homeassistant.sensor:030]: Homeassistant Sensor 'outside_temperature'
[13:47:09][C][homeassistant.sensor:030]:   State Class: ''
[13:47:09][C][homeassistant.sensor:030]:   Unit of Measurement: ''
[13:47:09][C][homeassistant.sensor:030]:   Accuracy Decimals: 1
[13:47:09][C][homeassistant.sensor:031]:   Entity ID: 'sensor.rm4pro_temperature'
[13:47:09][C][homeassistant.sensor:030]: Homeassistant Sensor 'outside_humidity'
[13:47:09][C][homeassistant.sensor:030]:   State Class: ''
[13:47:09][C][homeassistant.sensor:030]:   Unit of Measurement: ''
[13:47:09][C][homeassistant.sensor:030]:   Accuracy Decimals: 1
[13:47:09][C][homeassistant.sensor:031]:   Entity ID: 'sensor.rm4pro_humidity'
[13:47:59][D][sensor:126]: 'Display-State-01 WiFi signal': Sending state -46.00000 dBm with 0 decimals of accuracy

Excuse me! I don’t understand. How do i get it out of the programmer?

The thing with the yellow socket.

An ESP01 is really not the simplest thing to start with putting a display on. A D1 mini or similar with built in USB would have been a better choice.

In your initial screen shot you had SDA on GPIO0. In the latest iteration you have it on GPIO2.

The trouble with the ESP01 is that you have limited pins available. Pins 2 and 3 are all used by the serial programmer. You can use them for other things but you will come across issues if you leave it plugged in. You need to unplug it or at least get wifi logging working then turn off serial logging as it uses some of the pins you are trying to use for display.

A simpler idea? Buy something like this to play with until you are more familiar with ESPs:

https://www.aliexpress.us/item/2255800918888269.html

Or if this is all you have got, go back to using the pins from the original post, unplug from yellow socket and apply external power to the ESP.

1 Like