Need help with SH1106 Oled Display

I set up the SH1106 display with my Esp32. It can display a few charters before it gets all jumbled. Does anyone have an idea what is wrong?

text_sensor:
  - platform: homeassistant
    name: "EspText"
    id: esp_text
    entity_id: input_text.esptext
font:
    # gfonts://family[@weight]
  - file: "gfonts://Lato"
    id: Lato
    size: 20

display:
  - platform: ssd1306_i2c
    model: "SH1106 128x64"
    update_interval: 0.5s
    address: 0x3C
    lambda: |-
      it.printf(0, 10,id(Lato), "%s", id(esp_text).state.c_str());