Does the Electron use the "strongest" signal?

It might be a naïve question but since the Electron is not associated with a specific carrier, does it “choose” the strongest signal or …?

Just curious.


It’s not a specific carrier for each country but specific for that country itself.

There’s one local telco that Telefonica partners with in each country. That’s my understanding but i might be wrong. :slight_smile:

I think there are several carriers (e.g. in the US) since there seems to be no carrier with full coverage all over, but some areas are covered by both, so I’d see this a valid question but can’t answer it either :blush:

I don’t know the answer either, but I guess yes based on the following observation: I live in the United States where there are two carriers: AT&T and T-Mobile. At my house I have excellent signal strength on AT&T and poor on T-Mobile, based on phone signal strength (I have phones on both). My Electron 3G (U260) works great, and connects via AT&T. My Electron 2G (G350) has poor signal strength because AT&T is in the process of decommissioning all of their 2G towers, and mine has been done already, so 2G is only available on T-Mobile.


From my rusty knowledge of cellphone communication it should try to stick to a same network when it connects to it. Networks sends list of nearby towers it can switch to if signal is too low and I suppose it is what Electron would do. Losing signal completely should try to look for a new network, but not sure how selection will work there.

Is there no official reply on this ?

Typically my electron wakes up every 15min so rescans and connects to a carrier. I would like to be able to influence to which one it connects. From what I am seeing in the logs I am not convinced its connecting to the one with the strongest signal.

Do you really want this to happen each time you wake up?
If you do, you’ll blow 6KB of your data allowance just for that action. It might not be an issue for 3rd Party SIMs with loads of data allowance, but for 1MB/month you’ll be done in less than two days (without actually sending any data).

In my case data is cheap and battery power is not. I am aware of the overhead and it does not pose a problem.


OK, but if battery power is not cheap, you might still save on battery when cutting the renogitiation time with cell towers and thus energy (for staying awake longer and having to send more data) by keeping the channel open via something like

  System.sleep(WKP, RISING, 15*60000, SLEEP_NETWORK_STANDBY); 

In one of my own projects I’ve got better battery life with the above than with DEEP_SLEEP - but that requires a time to live of the “connection” greater than your expected sleep time.
Particle SIMs provide up to 23 minutes TTL.

Thanks, thats a good idea but will require some changes to my code and I have no idea what the TTL might be for the 3rd party SIM I am using.

So I have modified my code to use “SLEEP_NETWORK_STANDBY” as discussed and here is my conclusion.

  1. I am consuming more battery than with DEEP_SLEEP

2 .System has run without issue for 6 days which was not the case with a DEEP_SLEEP

  1. The Electron is not able to wake-up from DEEP_SLEEP in a reliable manner requiring human intervention to resolve!!

Running in DEEP_SLEEP mode I got at best 24 hours of reliable service before I hit the “green blink”! There clearly seems to be something in the Electron startup sequence which is a little buggy.

My code wakes up every 15min from DEEP_SLEEP for about 30seconds (when it works), sends the data and goes back to sleep. So that would be 96 “cycles” in 24 hours within which it would generally fail on wakeup at some point in time!! I dont know if this is related to having several “carriers” available for the Electron to choose from or something else.