Did I break it? Halp!

no display in sight, I guess…

I’ll leave it connected for another hour, seems like it’s still doing stuff.

There is no need to keep it running for an hour :wink:

Have a look at my debug msg


The first few lines are gibberish because those are boot messages from the ESP32 chip at another baud rate, same as with your log.You might be runnig a somewhat older release of meshtastic. But as you can see at the bottom, you should get “ssd1306 display found” if the esp32 can talk to the OLED.
Can you try something for me? Can you hit the reset button (farthest away from the usb connector) and copy the debug messages right after the reset?
Just to be extra sure that we are not missing out on any debug messages.

after reset:

reason=reset<\r><\n>
??:??:?? 0 Filesystem files:<\r><\n>
??:??:?? 0 /db.proto<\r><\n>
??:??:?? 0 /prefs/db.proto<\r><\n>
??:??:?? 0 /prefs/radio.proto<\r><\n>
??:??:?? 0 /prefs/channels.proto<\r><\n>
??:??:?? 0 No I2C devices found<\r><\n>
??:??:?? 0 Meshtastic hwvendor=4, swver=1.2.45.b674054, hwver=1.0<\r><\n>
??:??:?? 0 Setting random seed 2779809803<\r><\n>
??:??:?? 0 Total heap: 254984<\r><\n>
??:??:?? 0 Free heap: 221092<\r><\n>
??:??:?? 0 Total PSRAM: 4194252<\r><\n>
??:??:?? 0 Free PSRAM: 4194252<\r><\n>
??:??:?? 0 NVS: UsedEntries 101, FreeEntries 529, AllEntries 630<\r><\n>
??:??:?? 0 Setup Preferences in Flash Storage<\r><\n>
??:??:?? 0 Number of Device Reboots: 30<\r><\n>
??:??:?? 0 Initial packet id 1722235377, numPacketId 4294967295<\r><\n>
??:??:?? 0 Setting default channel and radio preferences!<\r><\n>
??:??:?? 0 Expanding short PSK #1<\r><\n>
??:??:?? 0 Wanted region 0, using Unset<\r><\n>
??:??:?? 0 Loading /prefs/db.proto<\r><\n>
??:??:?? 0 Loaded saved preferences version 11<\r><\n>
??:??:?? 0 Loading /prefs/radio.proto<\r><\n>
??:??:?? 0 Loading /prefs/channels.proto<\r><\n>
??:??:?? 0 Number of Device Reboots: 30<\r><\n>
??:??:?? 0 Expanding short PSK #1<\r><\n>
??:??:?? 0 Wanted region 3, using EU865<\r><\n>
??:??:?? 0 region=3, NODENUM=0x93879238, dbsize=2<\r><\n>
??:??:?? 0 AXP192 not found<\r><\n>
??:??:?? 0 Read RTC time as 0 (cur millis 195) quality=0<\r><\n>
??:??:?? 0 WANT GPS=1<\r><\n>
??:??:?? 0 Setting GPS power=1<\r><\n>
??:??:?? 1 Connected to UBLOX GPS successfully<\r><\n>
??:??:?? 2 External Notification Plugin Disabled<\r><\n>
??:??:?? 2 NOTE! Recording critical error 6 at src/main.cpp:1d6<\r><\n>
??:??:?? 2 Starting meshradio init…<\r><\n>
??:??:?? 2 (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=16, time 2269 ms<\r><\n>
??:??:?? 2 Set radio: name=LongSlow, config=3, ch=6, power=0<\r><\n>
??:??:?? 2 Radio myRegion->freq: 865.200012<\r><\n>
??:??:?? 2 Radio myRegion->spacing: 0.300000<\r><\n>
??:??:?? 2 Radio myRegion->numChannels: 10<\r><\n>
??:??:?? 2 Radio channel_num: 6<\r><\n>
??:??:?? 2 Radio frequency: 867.000000<\r><\n>
??:??:?? 2 Short packet time: 2269 msec<\r><\n>
??:??:?? 2 Set radio: final power level=17<\r><\n>
??:??:?? 2 RF95 init result 0<\r><\n>
??:??:?? 2 RF95 Radio init succeeded, using RF95 radio<\r><\n>
??:??:?? 2 Not using WIFI<\r><\n>
??:??:?? 2 PowerFSM init, USB power=1<\r><\n>
??:??:?? 2 Enter state: BOOT<\r><\n>
[D][esp32-hal-cpu.c:189] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz<\r><\n>
??:??:?? 2 [GPS] publishing GPS lock=0<\r><\n>
??:??:?? 2 [GPS] No GPS lock<\r><\n>
??:??:?? 2 [GPS] got gps notify time=0, lat=0, bat=0<\r><\n>
??:??:?? 2 [GPS] DB update position node=0x93879238 time=0, latI=0, lonI=0<\r><\n>
??:??:?? 2 [GPS] Node status update: 2 online, 2 total<\r><\n>
??:??:?? 2 [SerialPlugin] Serial Plugin Disabled<\r><\n>
??:??:?? 2 [StoreForwardPlugin] Store & Forward Plugin - Disabled<\r><\n>
??:??:?? 2 [RangeTestPlugin] Range Test Plugin - Disabled<\r><\n>
??:??:?? 5 [PowerFSM] Enter state: POWER<\r><\n>
??:??:?? 5 [PowerFSM] Setting bluetooth enable=1<\r><\n>
??:??:?? 5 [PowerFSM] Not using WIFI<\r><\n>
Pre BT: 211808 heap size<\n>??:??:?? 5 [PowerFSM] Starting bluetooth<\r><\n>
??:??:?? 6 [GPS] publishing GPS lock=0<\r><\n>
??:??:?? 6 [GPS] No GPS lock<\r><\n>
??:??:?? 6 [GPS] got gps notify time=0, lat=0, bat=0<\r><\n>
??:??:?? 6 [GPS] DB update position node=0x93879238 time=0, latI=0, lonI=0<\r><\n>
??:??:?? 6 [GPS] Node status update: 2 online, 2 total<\r><\n>
??:??:?? 6 BLE task running<\r><\n>
??:??:?? 6 registered service 0x1800 with handle=1<\r><\n>
??:??:?? 6 registered service 0x1801 with handle=6<\r><\n>
??:??:?? 6 registered service 6ba1b218-15a8-461f-9fa8-5dcae273eafd with handle=10<\r><\n>
??:??:?? 6 registered service cb0b9a0b-a84c-4c0d-bdbb-442e3144ee30 with handle=18<\r><\n>
??:??:?? 6 BLE advertisting type=0, Private=0, Device Address: 8d:44:17:93:87:92<\r><\n>
<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Sending our nodeinfo to mesh (wantReplies=1)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] sending owner !93879238/Phi/Phi<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Update DB node 0x93879238, rx_time=0<\r><\n>
??:??:?? 32 [NodeInfoPlugin] handleReceived (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 WANTRESP priority=10)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Plugin nodeinfo wantsPacket=1<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Received nodeinfo from=0x93879238, id=0x66a739f4, portnum=4, payloadlen=31<\r><\n>
??:??:?? 32 [NodeInfoPlugin] old user !93879238/Phi/Phi<\r><\n>
??:??:?? 32 [NodeInfoPlugin] updating changed=0 user !93879238/Phi/Phi<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Plugin nodeinfo considered<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Plugin routing wantsPacket=1<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Received routing from=0x93879238, id=0x66a739f4, portnum=4, payloadlen=31<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Routing sniffing (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 WANTRESP priority=10)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] FIXME-update-db Sniffing packet<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Delivering rx packet (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 WANTRESP priority=10)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Forwarding to phone (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 WANTRESP priority=10)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Update DB node 0x93879238, rx_time=0<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Plugin routing considered<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Add packet record (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 WANTRESP priority=10)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Expanding short PSK #1<\r><\n>
??:??:?? 32 [NodeInfoPlugin] Installing AES128 key!<\r><\n>
??:??:?? 32 [NodeInfoPlugin] enqueuing for send (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted priority=10)<\r><\n>
??:??:?? 32 [NodeInfoPlugin] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=53, time 4202 ms<\r><\n>
??:??:?? 32 [NodeInfoPlugin] txGood=0,rxGood=0,rxBad=0<\r><\n>
??:??:?? 32 [NodeInfoPlugin] AirTime - Packet transmitted : 4202ms<\r><\n>
??:??:?? 33 [RadioIf] Starting low level send (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted priority=10)<\r><\n>
??:??:?? 38 [RadioIf] Completed sending (id=0x66a739f4 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted priority=10)<\r><\n>

Awesome! Right there is your problem :grin:
The ESP32 processor was not able to talk to the OLED display. Can you please post a picture of the front of the OLED display (covering the entire PCB)?






The firmware updated automatically the first time I connected it to the app. 2 weeks ago I think.

Yes that’s totally plausible since your t-beam is reporting 1.2.45!

I’ve just stumbled across another issue. Usually two I2C devices should show up. One is the SSD1306 OLED Display. The other one is the AXP192 power management chip. There seems to be something wrong with your I2C bus since both devices do not show up. That’s why you are also getting a “critical error 6”, AXP192 not found.
Some possible reasons (an oscilloscope would be really handy to debug this!):

  • AXP192 solder joints broken => new t-beam
  • ESP32 solder joints broken => new t beam
  • Pullup resistors broken => hard to solder since they are very small
  • OED display is broken (plausible since it’s very fragile) and shorts out the I2C bus => new display.
    However your display has no visible cracks :thinking:

So the first thing I would try is to desolder the OLED display. Simple trick to save your day: add a big blob of solder and swipe your soldering tip across all four pins to heat them up evenly. Then gently tug at the PCB.
Then do the same thing again. Connect via serial terminal, hit reset and post the debug messages.
If you are lucky you will not get an error code and one I2C device should show up.
If so, you can order a replacement OLED screen and you are good to go!

Thank you!

So basically I have a 25% chance of succeeding by only replacing the display. Which is a lot of effort. And takes the same ordering time.

I think I’ll go with ordering a new T-beam. It also never relayed any GPS info (whole other issue on the list I had not even gotten to…)

Thanks again for all the help. At least I learned a lot :slight_smile:

Heltec / TTGO Lora32 boards have the screens pre-soldered. No GPS though.
I got the latest one listed here: LILYGO® TTGO Lora devices | Meshtastic

1 Like

Thanks. I already have a printed case waiting, so it has to be the other model. Good to know though! Great option for my friends.

I can’t find what type of battery that one needs. Could you tell me?

Oh right. It doesn’t come with a battery holder either. It’s got a built-in Li-Ion charger, so you can use either lithium 18650 or LiPo packs etc. Or just plugin USB power.

Have you confirmed with a multimeter the pins which the oled is using? Meaning check the ground, 3v pin etc. In my case, my oled was working just fine until I decided to trim the pin height. I noticed afterwards my oled would not power. In my case it was making the 3v pin not put out 3v because the gnd wasn’t solid. Thus not providing enough power to the oled…at least that was my theory.

In my case as a solution I simply used the ground direct on the main board, running a wire from the main board ground to the pin on the oled.

Honest question, how does the debug test continuity and voltage readings at the place where the oled needs it?

No, but I have not trimmed any pins either…