No signal strength information for Electron 2G on Device OS 1.0.0

Tags: #<Tag:0x00007f03903a1480>


I have a 2G Electron (with the ublox SARA-G350 module) running Device OS 1.0.0 and I am unable to get the cellular signal strength information. The problem manifests itself in two ways:

  1. The radio access technology variable returned by the CellularSignal class is 0 (which stands for NET_ACCESS_TECHNOLOGY_UNKNOWN or NET_ACCESS_TECHNOLOGY_NONE). This causes getStrength() and getQuality() to return -1.0 and getStrengthValue() and getQualityValue() return 0.0.

  2. The rssi member variable of Cellular.RSSI() is set to 1 „indicating a Cellular module or time-out error“.

The test code I ran was this:

void setup()
    CellularSignal sig = Cellular.RSSI();
    int rat = sig.getAccessTechnology();

    char accessTechText[8];
    snprintf(accessTechText, 8, "%i %i", rat, sig.rssi);

    Particle.publish("Access technology", accessTechText, 0, PRIVATE);

void loop()


and this is the output I get:

event: Access technology
data: {"data":"0 1",<removed>}

additionally I noticed that the spark/device/diagnostics/update diagnotics event reports:


I have previously been using the rssi variable of Cellular.RSSI() successfully on 0.7.0 but only noticed this regression after I updated to 1.0.0. I have been unable to downgrade from 1.0.0 to find out exactly which version broke this functionality. I am using a Particle SIM card.

I was unable to find anything about this on the forum or the Github issue tracker. I wanted to post this here to confirm that this is a bug before filing an issue on Github. I’m also open to any workarounds until a fix is released.


Check the firmware updates thread, I believe there was a change in the way RSSI is used for 1.0.0.


Thanks for the suggestion. The 1.0.0 release does have a notice about changes to WiFi.RSSI() but it specifically mentions that “Electron is not affected”. The changelog also mentions “Network Signal Quality/Strength rework and diagnostics #1423” which might have something to do with the regression.

I guess I’ll just file a bug report and hope a fix makes it in time for the next release. Until then I’d love any suggestions for a workaround. I’m deploying a device in the field this week and it would be really beneficial to have some indication of signal strength so I can choose between two types of antennas.

I just tested Device OS 1.0.1-rc.1 and have verified that the bug is still present.


I am stuck with the same problem.
I contacted Particle but they don’t seem very interested/concerned in the problem or the fact they they broke one of their apis which is a bit worrying. They talked about a fix for version 1.0.2 but who knows.

I am really interested in a workaround for this so if anyone has any ideas!