SSD1306 breaks wi-fi

Using a nodeMCU with two i2c devices on it: a bme680 sensor and a ssd1306 display. When added to the yaml, the display boots and displays the lambda, but will not allow the chip to connect to wi-fi. Code:

i2c:
  sda: 4
  scl: 5
  scan: true

display:
  - platform: ssd1306_i2c
    id: oled1
    update_interval: 0.5s
    contrast: 0.4
    model: "SSD1306 128x64"
    rotation: 0
    address: 0x3C

Lambda not include here since behavior is same without it. This is the wi-fi error:

[10:34:13][W][wifi_esp8266:482]: Event: Disconnected ssid='MillennialHouse' bssid=[redacted] reason='Auth Expired'
[10:34:13][W][wifi:536]: Error while connecting to network.
[10:34:13][W][wifi:572]: Restarting WiFi adapter...

Normally, I use the secrets file, but I get the same error when coding ssid and password directly. I used a different 1306 module with the same results. Any help is appreciated, or recommendation on a dispaly module that does not have this problem with the nodeMCU.

@modernhistorian change the update_interval to 2s

display:
  - platform: ssd1306_i2c
    id: oled1
    update_interval: 2s
    contrast: 0.4
    model: "SSD1306 128x64"
    rotation: 0
    address: 0x3C

This is a known issue, you can solve it by increasing the i2c frequency. Add

frequency: 800kHz

to the i2c part of your yaml

2 Likes

Thank you. Reducing the refresh rate also works, but I want to use a rotary encoder to change the display.