You may think that this is a simple question, but I have often searched the Internet to find an answer, but I could not find one (only some theoretical numbers) and decided to do a test. Here's the result.
The Datacake platform has a built-in MQTT broker that allows customers to easily bring their devices to Datacake. But since most of our own customers use cellular as connectivity, we wanted to find out how much data is required when using MQTT over SSL.
For microcontrollers, there is CoAP - a protocol developed specifically for "Constrained Devices", and if you use it in combination with sending over UDP, but still have encryption enabled (over DLTS), you can get by with less than 3 megabytes per month.
The drawback, however, is that a CoAP server is required and implementation on a device can be difficult.
But what happens if you have a SIM card with 500 megabytes prepaid available? Could we exchange CoAP and use MQTT over classic SSL instead? How far would this get us? Month, days or even years?
The result is impressive!
Prepaid IoT SIM Card
As a basis for the connectivity we use a SIM card from the company 1nce. They have a very interesting business model:
For 10€ you get 500 megabytes and 10 years runtime
If data volume or running-time are used up, you can recharge or reactivate them with another 10€.
For the test we used the Balena.io balenaFin board and configured it as follows:
- Quectel EC-25 LTE Modem
- 1nce SIM-Card
- Tinkerforge HAT Brick + Particulate Matter Bricklet
- BalenaOS + Balena.io Cloud
Follow this for a guide on how to set up a similar system:
The hardware sent two measured values every five minutes as two separate MQTT messages:
def cb_pm_concentration(pm10, pm25, pm100): client.publish("dtck-pub/balena-fin-cellular-demo/0e5d7891-7b73-4377-a7f9-f837a12df327/PM25", pm25) client.publish("dtck-pub/balena-fin-cellular-demo/0e5d7891-7b73-4377-a7f9-f837a12df327/PM10", pm100)
This resulted in a consumption of 0.8 megabytes per day, which allows us more than 600 days or more than 1,5 years on a single 10€ SIM card.
From a monthly perspective, this refers to a monthly fee of about 0.50€. This is awesome.
We currently source our cellular connectivity at 3 megabytes per month for about 3€. Since we charge our customers for the data they use, this would mean a profit increase of 2.50€ per month and per device!
Can we take this even further?
Yes. Let me give you a typical example of one of our clients.
They use our Industrial IoT Gateway to monitor their industrial gas supply stations. Five pressure transmitters, two PT100 temperature sensors and two digital inputs monitor the status of these stations and send measured values every five minutes.
When using CoAP + DTLS over UDP, we currently consume about 3 megabytes per month (including encryption, connectivity handshake, key rotation, etc.).
If we invested in building our own CoAP infrastructure (client libraries + servers) and used these 500 megabytes of prepaid SIM cards from 1nce, we would end up with that:
500 Megabyte / 3 MB per month / 12 months per year = 13+ years!
So your device would run on cellular connectivity for 10 years for a one-time payment of just 10€!
Think about it.
You could still charge your customers 1€ per month for the mobile device (and additional fees for overruns because you virtually limited the volume to 3 Megabyte per day :wink:) and you would still be cheaper than your competitors.
This is a huge business opportunity. Cellular connectivity at no monthly cost.
If you want to know more about Datacake:
Or register for free:
And learn how to start with MQTT on Datacake: