Meshtastic hangs on I2C OLED

Status

This problem was solved, since it first appeared here. Please see the section called Solution.

Problem

The application hangs after the text Turn on screen is printed to the serial console.

Solution

Check the solder joints on the OLED header pins. I had soldered my VCC pin poorly, so the connection failed.

Environment

The parts in use are a RAK19007 base board, RAK4631 MCU module, and RAK1921 I2C OLED.

The meshtastic firmware tested:

firmware-rak4631-2.5.15.79da236.uf2
firmware-rak4631-2.5.16.f81d3b0.uf2

The connected computer is a Ubuntu 24.04.1 Desktop (AMD64.)

The problem consistently repeats unless I unplug the OLED.

Question

What should I do to solve this problem, in order to use the OLED normally?

Output

$ screen /dev/ttyACM0 115200
DEBUG | ??:??:?? 2    db.proto (525 Bytes)
DEBUG | ??:??:?? 2 Power::lipoInit lipo sensor is not ready yet
DEBUG | ??:??:?? 2 Use analog input 5 for battery level
INFO  | ??:??:?? 2 Scan for i2c devices
DEBUG | ??:??:?? 2 Scan for I2C devices on port 1
INFO  | ??:??:?? 2 Device found at address 0xc was not able to be enumerated
INFO  | ??:??:?? 2 TCA9535 found at address 0x20
INFO  | ??:??:?? 2 SSD1306 found at address 0x3c
INFO  | ??:??:?? 2 SSD1306 found at address 0x3c
DEBUG | ??:??:?? 2 0x3 subtype probed in 2 tries
INFO  | ??:??:?? 2 Device found at address 0x60 was not able to be enumerated
INFO  | ??:??:?? 2 2 I2C devices found

DEBUG | ??:??:?? 2 Scan address 0x5a
DEBUG | ??:??:?? 2 Scan address 0x5f
ERROR | ??:??:?? 2 Could not open / read /prefs/ringtone.proto
INFO  | ??:??:?? 2 Init External Notification Module
INFO  | ??:??:?? 2 Use Pin 36 in digital mode
INFO  | ??:??:?? 1865 Turn on screen

The application hangs at this point. If I simply unplug the OLED, then the application proceeds and works normally.

Welcome to the forum @michel

I am confused, you already filled out the SOLUTION. Is your problem already solved?

If not:

We are not maintaining or developing the Meshtastic firmware. Our support is limited to hardware problems.

It is strange that the Meshtastic firmware detects the OLED display twice.

To test that there is no hardware problem, please follow these steps:

  • Flash the attached hardware test firmware to the device, with the OLED connected.
  • Check the log output on USB (115200 Baud, 8N1) and share here.

This hardware test firmware is not based on Meshtastic. It is a simple application that tests flash, OLED, LoRa transceiver and a few other hardware components of the WisBlock device.

You can flash the test firmware the same way you flash the Meshtastic firmware:

  • double push reset to connect the RAk4631 as external drive
  • copy the UF2 file from the attached ZIP file to the external drive

WB_HW_Test_V1.1.8.uf2.zip (186.4 KB)

Good idea @beegee to try the hardware test firmware. I’m sure it works, but I already solved my own problem as stated in the solution. I’m sorry it’s not clear that my problem is solved. Can you think of a way to make this more clear? I could not find a way to mark the question as answered or problem as solved.

I see, that is a limitation of the forum app.
After one reply there is a “checkmark” symbol that says the question is solved.
But the “checkmark” is not showing on the original first post.

Anyway, I am glad the problem is solved.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.