@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.
-
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.
-
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() {
}
- 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() {
}
-
Hologram has a somewhat outdated guide for the Electron which is mildly useful.
-
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