Adding 4G module to Electron

Hi. I'm currently using a Particle E313 in a project that needs a cellular connection. The devices can be viewed in the Particle Console. Unfortunately, with 3G networks being shut down soon, there is a need to move to a 4G-capable device.

The obvious solution is to upgrade to one of the 4G Particle devices (such as the B Series), however, this obviously comes at a cost—purchasing the B series, manufacturing new PCBs, etc.—so I want to do this cheaper.
A cheaper solution would be to simply purchase a 4G module such as the Quectel EG91-E, which is used in the B524, and attach it to the E313 through some of the unused pins.

My questions are:

  1. Is this possible? Can I use a different cellular module and disable the previous one?
  2. Will this still be able to connect to the Particle Cloud? I've seen other topics about using 3rd-party hardware which said that it requires licensing to work with the Cloud; although I'm not sure if that applies in this situation.
  3. What sort of changes do I need to make to do this? I was thinking the best option would be to modify the DeviceOS code, so my main code can still use functions like Particle.connect(). I'm not very familiar with the DeviceOS code, so I'm wondering where I should start.

Ideally, any changes I make will allow me to simply call the same functions from my code to set up the new 4G module, while the previous one stays disabled. I was looking at remapping pins and was also thinking about using the cellular HAL code for the B5SOM instead of the Electron code, but the code is quite different between them, so I'm not even sure if it'll work.

Here are some related topics which didn't answer my question:

WiFi +LTE together - Connectivity - Particle
Argon Bootloader + Firmware on third party hardware - Connectivity / BLE // NFC - Particle

While it's theoretically possible, it is completely impractical.

You will of course need to fork Device OS and maintain your fork. Once you've forked Device OS, you will no longer be able to automatically update Device OS from the cloud and will need to manually flash each of the 3 Device OS parts manually to each device by OTA or USB if you ever need to upgrade.

While the B Series SoM does use the EG91-E, there is a fundamental difference between how the network stack works on the Gen 3 devices like the B Series. On those devices, the cellular modem is run in PPP mode and the network stack is implemented in software using LwIP. On Gen 2 devices, the u-blox cellular modem socket library over AT commands is used. The problem is that there is no implementation of AT sockets for Quectel. There isn't enough room to fit the LwIP implementation in a Gen 2 device.

Then there are all of the other factors: How are you going to power it? Where are you going to put the module? You will need full recertification, which will cost in excess of US$20000 for a single jurisdiction, and that alone will take 6 or more weeks.

1 Like