Using 3rd-party SIM cards

SIM card overview

There are two different kinds of SIM cards, depending on the device.

  • Nano (4FF) SIM card holder that accepts a physical SIM card
  • MFF2 embedded SMD SIM soldered to the device

Only devices that have a 4FF SIM card slot can be used with a 3rd-party SIM card.

The MFF2 embedded SIM card is not a programmed eSIM. It's basically the same as the Particle SIM card, except in an SMD form-factor. It cannot be reprogrammed to support other carriers.

Device Model Nano SIM Card MFF2 SMD SIM
Boron 2G/3G BRN314 BRN310
Boron LTE BRN404 BRN402
B Series B402 SoM (Cat M1) B404X B404 B402  
B Series B523 SoM (Cat 1) B524 B523  
Tracker SoM (LTE Cat M1) T404 T402  
Tracker SoM (LTE Cat 1 and 2G/3G) T524 T523  
Electron 2G G350  
Electron 3G U260  
Electron 3G U270  
Electron Global ELC314  
Electron LTE (Cat M1) ELC404X ELC404 ELC402  
E Series 2G/3G E314 E310  
E Series LTE (Cat M1) E404X E404 E402  

General considerations

  • In the growth tier, the price per block for device count and data operations is the same whether you are using a Particle SIM or a 3rd-party SIM card.
  • Enterprise contracts cannot be made with 3rd-party SIM cards.
  • Technical support is not available for devices with 3rd-party SIM cards.

LTE Cat M1 considerations

  • The Boron LTE (BRN404X, BRN404, BRN402) has a 4FF nano SIM card slot, but using a 3rd-party SIM card is not recommended.
  • Only cellular bands used in the United States, Canada, and Mexico are enabled in Device OS which will prevent connecting in Europe and other locations.
  • The Boron LTE is not CE certified, and cannot legally be used in the European Union.
  • Some carriers, such as Verizon in the United States, require additional certification of the device and IMEI registration to be able to use their LTE Cat M1 network. This certification has not been done for Boron LTE devices and they will likely be banned from the network within a day or two of first connecting.

B Series SoM not compatible

  • Even though the B Series SoM has pins on the M.2 connector marked for use by a SIM card, this feature cannot be used! There is no SIM switch on the B Series SoM and in order to use these pins, you'd have to rework the SoM itself to disconnect the MFF2 SIM and connect the pins on the M.2 connector instead. This is not practical and not recommended.

Setup

Several of the steps below require the Particle CLI, so if you haven't installed it yet, you should do so now. The instructions are at the top of CLI page.

All SIMs, including 3rd-party SIMs, must be activated. The method for activating varies by carrier; you might do this from a web site or with a phone call. If you're using the SIM that was in your phone, it's already activated. Being activated or not is part of the state of the SIM and doesn't depend on what device it's being used in.

Activation is different than claiming a Particle device, which adds the device to your account. Claiming is discussed below.

Note about support: 3rd Party SIMs bypass the MVNO infrastructure of Particle's partners, severely limiting the visibility that Particle Technical Support Engineers have with respect to connectivity and configuration. For this reason, the Technical Support team does not provide technical support for connectivity issues on 3rd Party SIMs.

About ICCIDs

Every SIM card has an ICCID ("integrated circuit card identifier") that uniquely identifies the card. The number is usually 19 to 21 digits long and is usually printed on the card, though some carriers only print part of the number on the card.

Assuming your phone accepts nano-sized SIM cards, your phone can show the ICCID. On the iPhone, it's in Settings - General - About - ICCID.

The location varies on Android phones, and sometimes it's called the SIM ID or SIM Number instead of ICCID. There are other numbers like the IMSI and IMEI that are different, and shorter.

You can also easily find out the ICCID using the Particle CLI. Connect the Particle device by USB to your computer. Hold down the MODE button until the main status LED blinks blue, then release. Issue the command:

particle identify

About SIM PINs

The Electron and Boron do not currently support SIM cards with a PIN. If your SIM card requires a PIN, even if it's 0000, you must remove the PIN before it will work in a Particle device.

The easiest way to remove a SIM PIN is from a phone. On the iPhone, it's in Settings - Phone - SIM PIN.

Finding Your APN

The APN ("Access Point Name") specifies how the Particle device should connect to the Internet. The setting varies by carrier, and sometimes by country. If you're searching Google for your APN, be aware that some carriers may list separate WAP APN or MMS APNs; you want to use the Generic or Internet APN.

There is no set structure to an APN. Here are some examples: broadband, internet, three.co.uk.

If you have set your APN correctly the Particle device should proceed through the normal states: breathing white, blinking green, blinking cyan, fast blinking cyan, and finally to breathing cyan, even before you've claimed the Particle device. In fact, the Particle device must be in breathing cyan to complete the claiming process.

Some carriers may also require a username and password. Note those, if they are required, as well.

Device Type

The instructions vary between the Boron and Electron. Select the device you want to configure here:

Select the type of cellular device you have:

Claiming A Boron Or An Electron Manually

Once your device is breathing cyan after successfully setting the APN, you can claim it.

You'll need the device ID of your device. You can get it by putting the device in listening mode, blinking dark blue, by holding down the MODE button until the main status LED blinks blue, then issuing the CLI command:

particle identify

The device ID is different from your SIM ICCID.

Claiming from the CLI

With the device in breathing cyan mode, issue the CLI command:

particle device add YOUR_DEVICE_ID

Claiming from Particle Build (Web IDE)

Click the devices icon in the lower left corner of the Particle Web IDE window.

Particle Build Devices Icon

At the bottom of your list of devices is Add New Device button. Click that and enter the device ID.

About Keep-Alive

When mobile devices, including phones and the Electron and Boron, connect to the Internet they share a connection through their mobile carrier, similar to how multiple computers in your home share a connection through your home router.

When the device sends data to the Particle cloud, the carrier also opens up a reverse channel to allow the Particle cloud servers to send data back to the device.

(Technically speaking, the device sends UDP data out, and the carrier creates port forwarding to a UDP listening port on the device to get data back.)

These return data channels take up resources on the carrier network, so they like to clean up the unused ones to free up the resources. The Particle SIM has an unusually long timeout of 23 minutes. Most carriers use a timeout of between 30 seconds and several minutes.

When the return channel is freed, the device will continue to breathe cyan, because it doesn't know that it has occurred. Also, it will still be able to send data to the cloud, so things like Particle.publish will work, and will also restart the return channel if it has been cleaned up.

The problem is that without a working return channel the following things don't work properly:

  • Subscriptions using Particle.subscribe sending data to the device
  • Calling Particle functions on the device
  • Getting the value of Particle variables on the device
  • OTA code flash

If you're using a 3rd-party SIM card you almost certainly will need to use the Particle.keepAlive() function. It's typically added to setup and the parameter is in seconds.

void setup()
{
    // Set the keep-alive value for 3rd party SIM card here
    Particle.keepAlive(120);
}

Each keep-alive ping uses 122 bytes of data, so you want to make it as long as possible for it to work with your carrier.

One way to determine the correct interval is to run the Tinker firmware on your device with the APN set. Reset the device then wait an interval before using a Particle function like:

particle call YOUR_DEVICE_NAME digitalWrite "D7=HIGH"
particle call YOUR_DEVICE_NAME digitalWrite "D7=LOW"

Find the longest interval where the calls still work, and that's what you should set as your keep-alive. It's usually between 30 seconds and several minutes.

For the Electron, also note that the keep-alive settings is only in device OS 0.5.0 and later, so if you have the original factory default firmware 0.4.8 you'll need to upgrade the Device OS.

More troubleshooting tips

Blinking Blue

If, when you power on the Electron, it's blinking dark blue (listening mode blue), the most common cause is that the SIM is loose. Try removing it and putting it back in again.

Or you can try to either gently lift the little metal prongs that contact the SIM with a pin (with power off and SIM card removed) or push down on the little metal holder to get a better contact.

Stuck on blinking green

If the Electron or Boron never progresses past blinking green, it probably can't contact a cellular tower. There are several possible reasons for this:

  • No coverage on the required band. For example, you have a 2G Electron but no 2G coverage. 2G coverage may be different than 3G, 4G or LTE coverage.
  • No coverage from the selected carrier/SIM.
  • Incompatible Electron (U260 when you need a U270 for example)
  • No LTE Cat M1 service for Boron LTE
  • Antenna problem

Also note that the 2G Electron is not supported in Japan, Australia, Korea, and Singapore, and has limited coverage in some parts of the United States. Other countries may phase out 2G as well, this is often referred to as "2G Sunset."

Blinking magenta

Blinking magenta is safe mode, and is an entirely different problem than connectivity. You can find more about safe mode in this post.