Meshtastic

AXP192 Fail and i2C not working - Bad Soldering

First off I would like to say how awesome I find this project and group.

T-Beam V1.1 w/ NEO-6M
I made a big mistake when connecting the OLED display to the board and shifted my pins over one and it appears that I must have shorted either the power or i2c bus (or both). In trying to take them off I also messed up the 3.3V pin in the desoldering process.

Things that aren’t working:

  • AXP192 - Not recognized as an i2c device
  • OLED display - Not recognized as an i2c device (I attempted to power this off of a different 3.3V terminal and ground as well and I get power at the OLED terminals but no backlight on the OLED)
  • Blue LED doesn’t light anymore

Things that are working:

  • ESP32
  • Bluetooth
  • GPS

I already ordered new boards but I am wondering if there is anyway to salvage this as it seems that meshtastic loads, and is getting GPS coordinates just fine. It also connects to the app if I get the bluetooth pairing pin from the terminal. I still need to try the LoRa transmission to another device.

Questions:

  1. Is there a way to try a different pair of pins for the i2c bus for a different OLED display ?
  2. Where is the AXP192 circuit on the board ?
  3. Is there a way to troubleshoot if it’s a powering issue that was shorted or if the i2c terminals got messed up ?

oh yes - others have done this before. probably your axp192 is fried and possibly the i2c bus in general. The good news is: the board is otherwise probably usable. i.e. you’ll be able to use it to send receive packets/bluetooth etc…

Bigcaveat: Don’t install a battery - because without the axp192 the charge controller that is supposed to protect the battery from overcharging is not working. Which could mean fire :wink:

I’m a little surprised the gps is working - because witht the axp192 toast, I didn’t think the power rail for that part would get turned on.

1 Like

Do you think I can run an OLED display off another set of pins if I compile with platformio and adjust the SDA and SCL in main.cpp ?

#ifdef I2C_SDA
Wire.begin(I2C_SDA, I2C_SCL);

I will just power it off of the USB for now as I had read about the charging circuit being messed up.

I was suprised too about the GPS. Although thinking about it maybe since I powered it with the default firmware from TTGO without the screen on it and got the blue LED on it powered the GPS at one point. Then when I loaded meshtastic and soldered the board on wrong it stayed in a powered state.

No I2C devices found
Meshtastic swver=1.1.5, hwver=1.0-US
Setting random seed 943563860
Total heap: 251752
Free heap: 224124
Total PSRAM: 4194252
Free PSRAM: 4194252
NVS: UsedEntries 85, FreeEntries 545, AllEntries 630
AXP192 not found
Read RTC time as 0 (cur millis 59) quality=0
WANT GPS=1
Setting GPS power=1
Connected to UBLOX GPS successfully
Setting default preferences!

Setting GPS power=1
publishing GPS lock=1
New GPS pos lat=49., lon=-112., alt=947, pdop=3.140000, heading=0.000000, sats=3
(I edited the full GPS lat long for anonymity but it’s working great)

1 Like

Oh yes. You can use the oled on a different scl/sda by changing configuration.h.