BG95-M3+ MCU: Network Issues When Peripherals Are On

Hey all,

I am currently working on a project that uses a ESP32 MCU connected to a BG95-M3 modem (connected using UART), but I am experiencing some issues. Our MCU is connected to several other peripherals: a buzzer, a TFT LCD screen, a LED strip, and up to 5 sensor. Everything is powered with one power source.

I’ve noticed that if I don’t initialize the peripherals in my firmware, I get a different response to the COPS=? AT command than if I initialize the peripherals.

For example:
If I power the peripherals I get this:
+COPS: (1,“Rogers Wireless”,“ROGERS”,“302720”,8),(0,1,2,3,4),(0,1,2)

When I don’t I get this:
+COPS: (1,“TELUS”,“TELUS”,“302220”,8),(1,“Bell”,“Bell”,“302610”,8),(1,“Rogers Wireless”,“ROGERS”,“302720”,8),(0,1,2,3,4),(0,1,2)

I am testing with several SIM cards, a Bell SIM, and a roaming SIM which only connects to Rogers, so when I try to test with my Bell SIM with the peripherals on I cannot connect to a network.

This lead me to look into some of the battery state (AT+CBC) and signal strength (AT+CSQ) values of the modem during and after network registration, as well as reading the voltage from my MCU, for various scenarios.

Buzzer, LCD, LED disabled. No sensors connected
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4120, Batt Status: 0, Batt Charge: 92
  • MCU voltage: 3.803907
    After network registration success (~5 seconds)
  • Signal Strength: RSSI: 28, BER: 99
  • BG95 Battery: Voltage: 4144, Batt Status: 0, Batt Charge: 94
  • MCU voltage: 3.803907

Buzzer, LCD, LED disabled. 5 sensors connected
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4149, Batt Status: 0, Batt Charge: 94
  • MCU voltage: 3.817461
    After network registration success (~14 seconds)
  • Signal Strength: RSSI: 28, BER: 99
  • BG95 Battery: Voltage: 4149, Batt Status: 0, Batt Charge: 94
  • MCU voltage: 3.803907

Buzzer enabled. LCD, LED disabled. No sensors
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4130, Batt Status: 0, Batt Charge: 93
  • MCU voltage: 3.812943
    After network registration success (~7 seconds)
  • Signal Strength: RSSI: 27, BER: 99
  • BG95 Battery: Voltage: 4158, Batt Status: 0, Batt Charge: 95
  • MCU voltage: 3.831013

Buzzer enabled. LCD, LED disabled. 5 sensors connected
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4112, Batt Status: 0, Batt Charge: 91
  • MCU voltage: 3.821978
    After network registration success (~7 seconds)
  • Signal Strength: RSSI: 27, BER: 99
  • BG95 Battery: Voltage: 4133, Batt Status: 0, Batt Charge: 93
  • MCU voltage: 3.826496

Buzzer, LED enabled. LCD disabled. No sensors
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4112, Batt Status: 0, Batt Charge: 91
  • MCU voltage: 3.808425
    After network registration success (~7 seconds)
  • Signal Strength: RSSI: 26, BER: 99
  • BG95 Battery: Voltage: 4132, Batt Status: 0, Batt Charge: 93
  • MCU voltage: 3.803907

Buzzer, LED enabled. LCD disabled. 5 sensors connected
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4120, Batt Status: 0, Batt Charge: 92
  • MCU voltage: 3.821978
    After network registration success (~7 seconds)
  • Signal Strength: RSSI: 24, BER: 99
  • BG95 Battery: Voltage: 4136, Batt Status: 0, Batt Charge: 93
  • MCU voltage: 3.835531

Buzzer, LED, LCD enabled. No sensors
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4092, Batt Status: 0, Batt Charge: 89
  • MCU voltage: 3.799390
    After network registration success (~7 seconds)
  • Signal Strength: RSSI: 27, BER: 99
  • BG95 Battery: Voltage: 4122, Batt Status: 0, Batt Charge: 92
  • MCU voltage: 3.794872

Buzzer, LED, LCD enabled. 5 sensors connected
During network registration

  • Signal Strength: RSSI: 99, BER: 99
  • BG95 Battery: Voltage: 4076, Batt Status: 0, Batt Charge: 87
  • MCU voltage: 3.790354
    After network registration success (~7 seconds)
  • Signal Strength: RSSI: 26, BER: 99
  • BG95 Battery: Voltage: 4101, Batt Status: 0, Batt Charge: 90
  • MCU voltage: 3.808425

I don’t really see a significant difference between the voltages when I power on different peripherals. However I do see a minor drop in the signal strength once connect, but I don’t think it’s a large enough change to make any conclusions. The above tests were done with my roaming SIM card, when I use the Bell SIM card, I am not able to get a network registration when I am powering the LCD screen.

When I look at the hardware design document it says the operating voltage is between 3.3V and 4.3V, which it looks like it is not going outside of. Does it make sense that when I am closer to the minimum power needs, that the signal strength takes a hit, and leads to the modem not being able to detect the other operators? Or could this be a case of electronic interference. I’ve read some posts about people recommending a dedicated power supply for the modem itself, but modifying our PCB would be a last resort so I want to exhaust any other options.

I appreciate any insights or suggestions. If anyone has dealt with similar issues before, I’d love to hear how you approached it. Thanks in advance!