Electron vs. Boron – “living on the edge” – what has changed with the cellular connection?

Using the Telstra network need not be that expensive. I use pre-paid sims from Aldi (which use the Telstra 3G network). They have a 365 day expiry and cost $15 for a re-charge which can do about 500MB. Even a $5 starter sim lasts me a whole year using webhooks and 10-min transmissions.

3 Likes

That is good to know - thanks bloke!

https://rfshop.com.au/product/3g-4g-lte-panel-antenna/

Comes with a nicely adjustable bracket and 2 u-bolts.

It does indeed give 10db gain - I have the numbers to prove it.

With a little dipole like this: https://core-electronics.com.au/quad-band-cellular-antenna-sma.html i was sitting around -113db. Putting a directional at about 1.5 meters higher I'm anywhere between -95db and -100db - which seems to be enough to keep everything connected and responsive.

1 Like

..nope - it's just 1 boron and one xenon - mesh has been bullet proof - it's just the boron's connection that has been the issue.

Where do I find this? (dct.h)

It’s a header provided by the framework, but you can find it here

… Thanks, my bad - I hadn’t picked a boron target.

OK. I have a telstra sim installed. So what do I need to change in the code above. Eg. System_mode?

I see an earlier post about flashing a hybrid.bin? Or do I just run with the new firmware released today?

I’m flashing via the cli over usb. The code seems to run but I’m just getting a fast green flash.

Can I add some serial print to get more info?

You need to run the code rick posted above once to get the Boron to use the external SIM card from here on out.

Then you will need to program the Telstra APN and ping rates like you have to do for all 3rd party sims. Search the forum for Telestra APN settings, I’m sure others have posted about it.

I don’t have anything useful to add, but I just wanted to say this is a cool real-world project with interesting edge-case constraints to deal with! Looking forward to learning what final resolution you end up at.

Put in this line

Cellular.setCredentials("telstra.internet");

under this line

Cellular.setActiveSim(EXTERNAL_SIM);

Run it once, the settings will stick.
Then the only change to your code is to put this in void setup()

Particle.keepAlive(30); // can go up to 180 with Telstra but seems more stable at 30
2 Likes

Finally got to sit down and have a go at this and SUCCESS!!!

Wooooooohoooooooo!!! :grinning:

Thank you all for the assistance - working well!

Now, back to work! I have a bit of a backlog (apparently). :thinking:

:rofl:

1 Like

So what did you do exactly? Just switch to a Telestria SIM?

Yup - Telstra SIM and flashed:

#include "Particle.h"

#include "dct.h"

SYSTEM_MODE(SEMI_AUTOMATIC);

void setup() {
Cellular.setActiveSim(EXTERNAL_SIM);
Cellular.setCredentials("telstra.internet");
Particle.keepAlive(30); // can go up to 180 with Telstra but seems more stable at 30

// 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);

}

void loop() {

}

5 Likes

Apologies for this not being directly related to this post. I’m also going to hook up an electron to a car battery and hoping you could post a picture of your wiring.

Did you hook it up to VIN or have you got a buck converter in the project?

Yes, a small 5v step-Down regulator.

1 Like

Thanks Pete, great project by the way!

Nice!

So you next goal is to setup a site using the Mesh equipment?

The lower power consumption of the Boron LTE & Xenons is impressive and will get much longer battery run times.

I’ve been testing the Boron LTE + 8 Xenons and it’s looking good most of the time during my testing. So far seems like I can get the network to stay online until the Boron is reset which causes the Xenons to not reply to the Boron until they are reset manually. If the Xenons were waking up from deep sleep they should reconnect successfuly to the Boron considering that’s similar to a manual reset.

I could also get the Xenons to reconnect to the Boron if I disconnected the Boron long enough to get all Xenons flashing Green and then power back on the Boron which will then cause all the Xenons to reconnect to the Boron without needing to touch them.

1 Like

Neat application.

Your success has motivated me to follow your footsteps. I am in process of converting a medical datalogger from Photon to Boron and have seen similar albeit less frequent dropouts on the Boron.

I have been suspicious of the Vodafone network despite the fact that I am dong this in a major city (Adelaide).

,

I’ve had the Xenons go offline a fair bit too.
The mesh network seems to stay up but they disconnect from the cloud.
I set them up so I can restart the mesh connection on them from the Particle Console, they then reconnect to the cloud.

I put this on the Boron

int handleReset(String command) {
    Mesh.publish("reset", "ok");
    return 1;
}
void setup() {
    Particle.function("reset", handleReset);
}

and this on the Xenons

void handleNeedReset(const char *event, const char *data) {
    Mesh.disconnect();
    delay(1000);
    Mesh.connect();
}
void setup() {
    Mesh.subscribe("reset", handleNeedReset);
}
7 Likes