Ok I have to admit I personally fell a bit in love with NB-IoT recently (or CAT M1) and have started all sorts of tests.

Latest is a test on my beloved BalenaFin board on which I tested connecting it to NB-IoT network using a Quectel BG96MA Mini PCI-Express Card.

The questions I wanted to answer:

  • Will it work out of the box?
  • Can this be connected to the Balena Cloud?
  • Can I connect this to Datacake using MQTTS?

The answer to all these questions shortly is:

Yes it can!

And here‘s the result.

Things used in this project:

Will it work out of the box?

Yes, I installed the latest version of BalenaOS on the BalenaFin, inserted a 1NCE SIM card into its SIM slot and turned on the power supply.

After a few seconds I could see the device listed online in the console. Connection successfully established!

cdc-wdm0 is the cellular connection over Quectel Modem

Amazingly, the BalenaOS seems to already come with drivers for the Quectel modem. So connectivity via NB-IoT is not an issue for Balena.

This is so awesome! I am really massively impressed!

Can it be connected to Balena Cloud?

Yes. With the following limitation:

The Quectel BG96 is a modem for NB-IoT or LTE CAT M1 connections. These are not high speed connections, but rather low power connections for less amount of data.

The VPN tunnel to the Balena server is therefore very very slow and I had the impression that it is also a bit unstable. The whole thing was comparable to a 2G connection.

Can I connect this to Datacake using MQTTS?

Ok so using the Balena Cloud via NB-IoT is rather unsuitable.

So I flashed the BalenaFin with the Open Source Edition of the BalenaOS and installed a small script there which connects to the Datacake Cloud via MQTTS and sends random numbers and receives commands regularly.

And look at that! This works really good and fast! I am impressed.