Totally new to IoT, here. I got the new Particle Electron cellular IoT device. I used up 5 Mb in like three hours. I have no idea what took up all that data. That is the monthly limit so no I have to wait another month to use it or spend more money to develop on it.

I don't want to go through a months worth of data every day so I was wondering if there was a way hookup the Electron to Wi-Fi while I am developing it. Any good and easy to configure dongles? I have searched and can't find any way to do this easily.

Also, does that level of data usage seem abnormal? If so any ideas what happened? I accidentally tried to flash the tinker software on to OTA, but that was well before the 5 Mb data limit was reached. That only took like one Mb. So I guess hosting a variable on the cloud for like 2 hours took up 5 Mb.

Any help would be appreciated.

2 Answers 2


The Particle Electron has three free UART lines of which you can use one to connect an ESP8266 based Wi-Fi module.

Particle Electron Pin Map

The ESP can be controlled via AT-Commands which is not that difficult to use. The manufacturer provides a lot of document to help you getting started.

Furthermore, to make your life easier you could use a little C++ and OOP when doing your firmware.

You could define an interface class which is actually an abstract C++ class. This class would only define the functions your application code will use. Simple example functions:

  • connect
  • disconnect
  • send
  • receive

This would be your base class from which you could inherit a Cellular and a Wi-Fi class to implement the actual connect/disconnect/send/receive functions. These functions would be different for Wi-Fi and Cellular under the hood but the interface will be the same, and the result would be the same: Internet connection. The caller class/code would not know if it is a Cellular or Wi-Fi connection, it would only know that there are connect/disconnect/send/receive functions to use and there is Internet.

So when you do the testing you will have a Wi-Fi class instance and when you have finished debugging you could simply change it to a Cellular class instance.

This way you do not have to rewrite your code based on the used communication method.


Have you read the Particle Data Guide? This shows a breakdown of how much data each message requires.

A small, non-confirmable published event from an Electron is only 67 bytes.

On Ping:

The initial ping results in 98 bytes, plus then the application's acknowledgement is another 98 bytes. That's 196 bytes every 15 seconds, or almost 46 kilobytes per hour, just in pings.

On Reset:

There are other communications that you may not even be aware of. For instance, when an Electron turns on or is reset it has to register with the cell towers and the Particle Cloud, and this set of messages can use as much as 6KB

I didn't find any detail on the Particle website, but I'd expect you to be able to perform a reasonable amount of testing whilst tethered over USB. If nothing else, the cost of data will encourage you to debug your code carefully.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.