Mesh events incurring high data usage?

I have two Xenon’s connected to a Boron. Each Xenon is sending a mesh event every five seconds. I was surprised by the high SIM card data usage, after one day. I expected mesh events to stay within the mesh network and not go out on the cellular network. Is this not the way my configuration should work?

Would you mind sharing the code you’re using (both Xenon and Boron)? Perhaps there’s something we can spot that’s causing this (mis)behavior.

This is all just my first test code, so it is super simple.

Boron code:

int led = D7;

void myMeshEventHandler(const char *event, const char *data)
    digitalWrite(led, !digitalRead(led));

void setup() {
    pinMode(led, OUTPUT);
    Mesh.subscribe("mesh-event-boron", myMeshEventHandler);

void loop() {

Xenon code:

int ledPin = D7;
Timer setReadingFlagTimer(500, setReadingFlag);

int _count = 0;

void setup() {
    // declare the ledPin as an OUTPUT:
    pinMode(ledPin, OUTPUT);

void loop() {

void setReadingFlag() {
    if (_count >= 10) {
        _count = 0;
        Mesh.publish("mesh-event-boron", "seven");

void flashLed() {
    digitalWrite(ledPin, !digitalRead(ledPin));

Did you OTA Flash your Boron a few times over the Cellular Connection ?
If you did, System Firmware Updates would be noticeable on the SIM Card data usage Graph.

1 Like

I am sure I did. Can I prevent OTA firmware updates via configuration?

If you are doing a lot of development for the Boron, it’s better to install and use Particle’s CLI to flash the Boron Locally, instead of the Cellular Connection.

But there is nothing wrong with flashing over the Cellular Connection, just be aware that data may be what you are seeing on the cellular data charges for the first day of your Mesh Network test…verses the Mesh traffic that you suspected.

1 Like

Makes sense. Thanks for your help.

1 Like

I did update the Boron’s firmware using CLI, last night. I had to unclaim and reconnect the Xenon’s to it after I updated the Boron’s firmware, since they would not connect to it. I understand this connect process is using Bluetooth and not cellular. This morning, my data usage is at 4.4MB. Yesterday it was at 1.44MB. I still do not understand why so much data is being used. I found no way to view cellular details, so it make troubleshooting impossible. If I can’t understand this, there is no way for me to use the Boron. I cannot imagine the handshaking and/or housekeeping between the cell and the Boron is chewing up that much data. Any suggestions?

How, exactly?

It’s using Mesh, not really bluetooth, but not cellular either, though the nodes then connect to the cloud through the gateway.

I installed the CLI app, put the Boron in DFU mode and ran:

particle update