NB-IoT Firmware Upgrade

u-blox has just release firmware version FW 06.57-A09.06 for the whole range of SARA NB-IoT N2 modules. With this new firmware they have also released an new tool that (unfortunately only) runs on Windows with which you can flash the new firmware on the module in less than a minute. Its called the UEUpdater.

But first you need to check which NB-IoT module you actually have.
If you check the label on the module:

You see marked in blue here the module version (e.g. SARA-N200) and marked in red the sub version number (01B or 02B).

Supported mudules

Module Version Supported?
SARA-N2XX 01B-00 (Experimental samples, not stable) No, end of life
SARA-N2XX 02B-00 (pre-production, stable) Yes
SARA-N2XX 02X-00 (production) Yes

With the command ATI9 you can check your firware version. Result N2 should be: 06.57,A09.06
Note: Follow the steps on this page to update your N2 02X module
Note: The N2 modules need to be updated to 06.57,A07.03 before updating to 06.57,A09.06.

With the command ATI9 you can check your firware version. Result R4 should be: L0.,A.02.00
Note: To update the R4 module check the SARA AFF R4 and SARA SFF pages.

Some of the early boards we shipped were fitted with the 01B while for the later production batches u-blox has provided us with the 02B modules. Unfortunately U-Blox has stopped the support for the 01B modules.

To get the latest firmware contact your u-blox representative, they will send you the latest firmware.

The UEUpdater tool allows you to update the firmware over the USB interface of your Windows computer. This means the u-blox module needs to be connected to USB. If you have an Arduino M0 or compatible board (like the Crowduino or SODAQ ExpLoRer)  this is really easy.
All you need to do is to load this passthrough sketch on the board, which takes care of passing everything from the USB port to the module and back directly.

This unfortunately doesn’t work on the older 8 bits Arduino board like the Leonardo. We have tried extensively to make it work, but the older boards simply aren’t fast enough. Normally the NB-IoT modules communicate at 9600 bits/s, but during the update process the the speed is changed to 115200 bits/s which is just a tad too fast for these 8 bit microcontrollers.

If you don’t have a 32 bits Arduino board, the firmware update can also be done using a USB to serial converter. If you want to use this method, follow this link.

Well like I said, it works like a charm on the faster 32 bit M0 based boards (and probably on a whole range of other 32 bit Arduino’s too). The speed switching is handled in the Arduino sketch by just these few lines of code:

// check if the USB virtual serial wants a new baud rate
  if (USB.baud() != baud) {
    baud = USB.baud();

So once you have loaded the passthrough sketch you can install the UEUpdater on your computer.

With the UEUpdater you can load the firmware. The firmware comes in different versions, depending on the type of SARA-N2xx module you have (like N200, N211, etc.).

Please make sure again that your module is of the 02B version and choose the right firmware version from the archive you just downloaded. For example if your module is a SARA-N211-02B you choose sara-N211-02B-00.fwpkg.