Electron LTE - Verizon

@all, I wanted to share my experiences with setting up a Hologram SIM with the Boron and my attempt to get access to Verizon LTE on the Particle Boron.

First, let me say that this is a cautionary tale and that, at this time, you cannot get a Verizon LTE SIM to work on a Boron. Particle does not have carrier certification from Verizon and therefore Verizon will block a Particle device detected on their network as the IMEI numbers have not been added to their “white list”. What is more, Hologram will pre-empt this situation by blocking Verizon access.

Here is what I learned from how to set up a 3rd Party SIM.

  1. There is good documentation of this process from Particle - it will get you +80% of the way there. Make sure you take the time to read the full document. BTW, if you are using a 3rd Party SIM, Particle sees no monthly revenue from that device so it is great that they are doing this much for the benefit of their users.

  2. The process above will likely - in my experience - leave your device in a non-functional “listening mode” state. This is because the Boron has not received the signal that set up is complete. If this happens to you (after you follow the steps in #1 above) flash this sketch from @rickkas7 and then reflash Tinker:

#include "Particle.h"

#include "dct.h"

SYSTEM_MODE(SEMI_AUTOMATIC);

void setup() {
    // This clears the setup done flag on brand new devices so it won't stay in listening mode
    const uint8_t val = 0x01;
    dct_write_app_data(&val, DCT_SETUP_DONE_OFFSET, 1);

    // This is just so you know the operation is complete
    pinMode(D7, OUTPUT);
    digitalWrite(D7, HIGH);
}

void loop() {
}
  1. Setting up a device with Hologram may require you to enter AT commands directly to the Modem. In previous generations this was possible but not with the Boron. Don’t waste time searching for a “AT command pass - through mode” - you will need to send these commands using a sketch with the Cellular.command() deviceOS call. My Hologram sketch ended up looking like this:
/*
 * Project Hologram-TestCode
 * Description: Adapted from Particle docs for Hologram
 * Author: Chip McClelland - and many others
 * Date:1-25-20
 */

//Boron LTE SIM, Credendtial, and Network settings.

#include "Particle.h"

#include "dct.h"

SYSTEM_MODE(SEMI_AUTOMATIC);

void setup() {

// Code to mark setup as complete in case you have the blue flashing LED  - comment out section below once done.
// 0x01 = setup done
// 0xff = setup not done (go into listening mode at boot)
// const uint8_t val = 0x01;
// dct_write_app_data(&val, DCT_SETUP_DONE_OFFSET, 1);
// End section to mark setup complete


//For external Hologram (or other) SIM, uncomment the following and use the appropriate APN credentials:   
Cellular.setActiveSim(EXTERNAL_SIM);
Cellular.setCredentials("hologram");
    
//For internal (Particle) SIM, uncomment the following:
// Cellular.setActiveSim(INTERNAL_SIM);
// Cellular.clearCredentials();

//    Mobile Network Operator (MNO) configuration:
//* 0 (default value): SW default
//* 1: SIM ICCID select
//* 2: ATT
//* 3: Verizon
//* 4: Telstra
//* 5: TMO
//* 6: CT

int mnoProf = 2;    

Cellular.on();
Mesh.off();

Cellular.command("AT+COPS=2\r\n");  // De-register from network.
Cellular.command("AT+UMNOPROF=%d\r\n", mnoProf);  // Explicitly call MNO profile from list above.
Cellular.command("AT+CFUN=15\r\n");   // Reset the modem.


// This is just so you know the operation is complete (turns on onboard blue LED).
    pinMode(D7, OUTPUT);
    digitalWrite(D7, HIGH);
}

void loop() {
}
  1. Hologram has a somewhat outdated guide for the Electron which is mildly useful.

  2. There is an issue which may arise after a number of failed connection attempts. Basically, the SIM card builds a “black list” of sites that have failed to connect and they will not be contacted in future attempts. This can become an issue and there is a guide from Hologram to address this - you will need to build these commands into a sketch. Flash the code and then reflash with Tinker.

I hope that bringing all this together in one place is helpful to anyone who wants to use a 3rd party SIM. Please let me know if I got anything wrong here as I am only a novice at this.

However, let me close with this. The first and best path for most users is to use the Particle SIM. If you want access to Verizon - don’t waste your time. If you live in a country where you have no choice, I hope this helps but also please let Particle know of your needs as I know their intent is to make 3rd Party SIM usage unnecessary.

Thanks, Chip

1 Like