Skip to main content

📣 Firmware Update Release:
Firmware Version v0.15 is now released! Please follow the link here or update via Cloudloop Device Manager.

Firmware and Config Update Process

This page covers the process for Firmware and Config updates. The RockBLOCK Pro receives regular firmware updates that contain enhancements and new features, many of which may have added more configuration - therefore we advise checking our User Configuration page and updating the file as required.

Mass Storage Drive via USB Type-C​

The RockBLOCK Pro will enumerate as a mass storage drive under the name of "RockBLOCK P" once connected to an end device via USB Type-C.

This can currently serve to upload a Firmware or User Configuration file to, and after a reboot (or a power-cycle by removing the USB-C and re-plugging after 10 seconds) the RockBLOCK Pro will find the new file and update to it.

tip

You can drag and drop - or copy and paste the file to the "RockBLOCK P" drive

The files are case-sensitive and will have to match the following naming exactly

  • RockBLOCK Firmware = L4-App.new
  • User Configuration = user.cfg
  • BLE Firmware = BLE-App.new
  • Iridium Firmware = IRID-App.new
important

It is recommended to use a JSON editor when changing the file as invalid JSON will revert to the default User Configuration file with no error

AT Interface and C-Kermit via Serial​

The RockBLOCK Pro allows the update of the Firmware or User Configuration file via Serial over a different individual method

User Configuration update over AT Interface​

The User Configuration can be read with AT+CFGR and will return a single line JSON payload followed by OK

Example payload:

{"Serial":{"Enabled":true,"mode":"RS232","baud":115200,"parity":"NONE","bits":8,"stop":1},"BLE":{"Enabled":false},"GNSS":{"Enabled":true,"nmeaForwardEnabled":false,"reportInterval":0,"stlMode":"DYNAMIC","stlSens":"HIGH"},"Sensors":{"Enabled":true},"IO":{"IOtype":"NONE"},"SleepMode":"NONE","LEDS":{"Enabled":false},"Imt":{"defaultTopic":244,"defaultTTL":86400},"BUZZER":{"Enabled":true}}

Once edited, it can be updated with
AT+CFGW={<SinglelineJSONpayload>} - More Information

tip

You should not have to reboot for the changes to apply via Serial although it is best practice to do so

Firmware Update over Kermit​

This Firmware update method requires the use of C-Kermit and the AT interface which is used to set the RockBLOCK Pro in "Kermit Receive" mode

important

The Firmware file must be named case-sensitive L4-App.new

Windows

Windows​

Requires connection to a terminal application that supports Kermit file transfer. Example below uses Teraterm for Windows

  • Serial port settings are 115200,n,8,1

  • Terminal settings are:

terminal-settings.png

  1. Put the RockBLOCK Pro in "Kermit Receive" Mode:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Note that the token number will only be valid for 30s

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

teraterm-upgrade-commands.png

  1. Click File > Transfer > Kermit > Send ... Select the firmware file in the dialog.
important

The downloaded firmware file must be renamed 'L4-App.new' (case-sensitive)

teraterm-file-transfer.png

  1. Progress bar will reach 100% and the dialogue will close.
    • The RockBLOCK Pro will automatically reboot on completion.
Linux

Linux​

  1. Save Kermit script to "fw-update.kerm"
#!/usr/bin/kermit +
if < \v(argc) 4 {
echo "Usage: \%0 <serial port> <baudrate> <*.new app file>"
echo "eg. \%0 /dev/ttyUSB0 115200 L4-App.new"
exit 1
}
assign SERIAL_PORT \%1
assign SERIAL_BAUD \%2
assign FILENAME \%3
# Set the communication parameters
set line \m(SERIAL_PORT)
set speed \m(SERIAL_BAUD)
set flow none
set parity none
set stop-bits 1
set carrier-watch off
set file names literal
set window-size 1
set receive packet-length 94
send /AS-NAME:L4-App.new /BINARY \m(FILENAME)
# Uncomment this for stats to be displayed at the end
# statistics /VERBOSE
close
exit
  1. Put the RockBLOCK Pro in "Kermit Receive" Mode:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Note that the token number will only be valid for 30s

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

  1. Run the script by:
./fw-update.kerm /dev/ttyUSB0 115200 /<filepath>/<Firmware File>
  1. Progress bar will reach 100% and the dialogue will close.
    • The RockBLOCK Pro will automatically reboot on completion.
note

Replace ttyUSB0 with your correct serial device name (run dmesg | grep tty to find)
Also replace baudrate and other parameters if required

macOS and others

macOS​

Older versions of C-Kermit (v9) running on any OS (Including Linux) require a slightly different C-Kermit command

  1. Put the RockBLOCK Pro in "Kermit Receive" Mode:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Note that the token number will only be valid for 30s

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

  1. Run the C-Kermit command:
kermit -l /dev/tty.usbserial-FT4WLSEC -b 115200 -i -C "set carrier-watch off, set flow none, set parity none, set stop-bits 1, set file names literal, set window-size 1, set receive packet-length 94, send /AS-NAME:H7-App.new /BINARY L4-App-Test-0-0-0.new, close, exit"
  1. Progress bar will reach 100% and the dialogue will close.
    • The RockBLOCK Pro will automatically reboot on completion.
note

Replace /dev/tty.usbserial-FT4WLSEC with your correct serial device name (run dmesg | grep tty to find)
Also replace baudrate and other parameters if required
Also replace L4-App-Test-0-0-0.new with the correct filename

Over the Air via Cloudloop Device Manager​

Cloudloop Device Manager (CDM) allows remote management and troubleshooting of devices and uses Iridium Messaging Transport (IMT)

warning

Any use of Cloudloop Device Manager will result in data usage

User Configuration update over IMT and CDM​

Optimising for lowest possible satellite data usage, the user configuration file is split by sections in CDM.

Each section can be individually requested, and updated. CDM-Config-Pro

Firmware update over IMT and CDM​

CDM allows the upgrade and downgrade of Firmware with the option to check the current version, see the release notes of new versions and the estimated size of the new version. CDM-FWUpdate

User Configuration via Bluetooth App​

The RockBLOCK Pro can be configured and managed via the all new RockCONNECT IoT (From FW v0.15)

Android RockCONNECT IoT App

important

If your device was released prior to the RockCONNECT IoT App being released then you would have to follow the local firmware update process to update the Bluetooth Firmware in the same manner, making sure that the file is named "BLE-App.new" - file can be downloaded below

Downloads & Release Notes​

v0.15​

Download FW Version 0.15 - LATEST
Download BLE Version 0.14 - LATEST
Android RockCONNECT IoT App

New Features:

  • Improved message handling and prioritisation. New options have been added to the command AT+IMTWB/U to indicate MO message Priority and/or TTL on a message-by-message basis
  • Ability to retrieve a System and Service log file from Cloudloop Device Manager, including details such as first position fix, modem connection, PPP connection, signal logging, high temperature logging, and Iridium 97XX error codes
  • Bluetooth support added (requires a Bluetooth firmware update using a BLE-App.new file) enabling communication via the Bluetooth application

Bug Fixes:

  • Resolved issue causing RR-Mini to lock up when MO messages were sent rapidly under poor sky visibility
  • Fixed an issue where Mass Storage and virtual serial ports did not always enumerate correctly on Raspberry Pi OS
  • Soft-reboot no longer occurs when NMEA forwarding is first enabled through serial (AT+CFGW)
  • Fixed bug where using the Sleep pin to put RockBLOCK PRO into sleep mode would not bring the device back up on release
  • Resolved Cloudloop Device Manager errors on RockREMOTE Mini when configuring firewall rules with a default configuration
  • Fixed issue where a soft reboot could leave the device in an unusable state until a hard reset (Including after Iridium update)

RockBLOCK Pro APNT:

  • Full product support in Cloudloop Device Manager and BLE App
  • Ability to configure the Kalman filter settings
  • Ability to configure APNT Mode, Sensitivity and Power settings
  • Ability to configure a Position Source (GNSS/APNT)
  • Full view of APNT parameters in the Virtual Statistics over Type-C
View previous Release Notes

v0.13

Download FW Version 0.13

New Features:

  • RockBLOCK PRO is now supported in Cloudloop Device Manager, including configuration and firmware updates over-the-air
  • RockBLOCK PRO enumerates a second virtual serial port over USB-C, enabling AT command support
  • RockBLOCK PRO STL module support is now enabled (Set up in production and disables the use of internal GNSS)
  • Tracking position reports can now be sent at configurable intervals to Cloudloop Device Manager and Cloudloop Tracking (Messages include Time, Latitude, Longitude, Altitude, COG and SOG)
  • User-configurable NMEA forwarding from the GNSS (or STL) module via the serial interface
  • Message queuing system revised to significantly increase MO and MT storage capacity and allow concurrent processing (Increasing absolute stored message count from ~500 to ~6000 and increasing the total capacity from ~1.8Mb to ~3Mb)
  • Cloudloop Device Manager MT File transfers are now revised and significantly improved

Bug Fixes:

  • Fixed mismatch between +IMTMTRING and +IMTMTS MT MessageID
  • SMTP email formatting corrected by removing name fields and trimming angle brackets ("< >")
  • Altitude values >9000m now correctly handled (previously returned Invalid Position)
  • Resolved deaf timer triggering when 0 topics are provisioned but data services are active
  • RS4XX_FULL now correctly persists in configuration and no longer reverts to RS232 after reboot
  • Requesting all configuration segments from Cloudloop Device Manager no longer triggers an unexpected reboot
  • Firmware update over Cloudloop Device Manager is now fully functional
  • Zero-length CDM MT messages no longer cause a malloc failure
  • IMT MT message handling improved and fixed – multiple back-to-back messages can now be processed reliably

Known Bugs:

  • Enabling NMEA forwarding via serial (AT+CFGW) may cause a soft reboot.
  • Updating the Iridium modem firmware over Serial may require a manual reboot.
  • On the RockBLOCK Pro - Physical Sleep Pin is not yet implemented.
  • On the RockBLOCK Pro - Mass Storage and virtual serial ports may not enumerate properly in low current USB ports and may require an additional power supply using the Power, Serial and GPIO cable (Seen on Raspberry Pi 4).

RockBLOCK Pro STL only:

  • Kalman filter on STL module is hard set to Marine and power saving to OFF

    (BETA) v0.12.28

    Connectivity & Interfaces

    • Communicates via Iridium Satellite using IMT (Message Transport) protocol with support for ASCII (text), binary and JSON payloads.
    • USB-C interface supports dual virtual serial ports and mass storage enumeration.
      • 1 Virtual Serial Port showing Status and Statistics
      • 1 Virtual Serial Port enabling AT+CMD
    • Sleep pin functionality on Power, Serial and GPIO Cable.

    Messaging & Data Handling

    • Stores messages and dynamically balances MO and MT queues.
    • Full support for MO/MT message history, clear/cancel operations, and status queries via AT commands.
    • Cloudloop Device Manager (CDM) allows remote configuration, firmware upgrades, location reports and more.
    • Configurable tracking reports sent at defined intervals containing GNSS position.
    • Message delivery reliability watchdogs and re-queueing logic to avoid loss during transmission.

    Configuration & Management

    • All device configuration can be updated remotely over-the-air (OTA) via Cloudloop Device Manager.
    • Full Cloudloop Device Manager integration for remote command, reboot, and configuration inspection.
    • Virtual Serial Port exposing status and statistics via Type-C.
    • Supports firmware updates via Cloudloop Device Manager OTA (from Iridium network), Mass Storage (USB Type-C), and Serial (Kermit protocol).

    GNSS & Positioning

    • Supports GNSS positioning with user-configurable NMEA sentence forwarding via serial.
    • AT command available to report or manually inject GNSS coordinates.

    AT Command Interface

    Complete AT command set for:

    • Message queue management
    • Modem and MCU diagnostics
    • GNSS reporting
    • Configuration control

    Reliability & Stability

    • Built-in watchdog resets MCU after lockup (4s timeout).
    • Iridium modem auto-restart logic during provisioning or signal failure (2m timeout).

    Hardware Support & Expansion

    • Supports RS232,RS422/RS485 (full duplex) serial modes.

    Known Bugs:

    • When a series of IMT MT messages are sent in quick succession in some cases one or more messages may be lost/dropped - this behaviour has mainly been seen/replicated when requesting all sections from the Config from CDM.
    • MO Queue can stall in low signal environments and cause a reboot.
    • RS4XX_FULL reports as RS232 in User Configuration and may default to RS232 after a reboot.
    • Firmware update over CDM might not be possible due to dropped MTs. Local firmware update unaffected. We are working with Iridium to resolve this problem.
    • Soft-reboot can occur when NMEA forwarding is first enabled through serial (AT+CFGW).
    • Updating the Iridium Modem Firmware over Serial can cause a Bootloader Cycle requiring a manual reboot.
    • Mass Storage and virtual serial ports may not enumerate properly on Raspberry Pi OS.
    • Physical Sleep Pin not yet implemented.
    • SBD Emulation currently incomplete.

    Recommendations:

    • Physical Serial Configuration: RS232, 115200, 8 data bits, no parity, no flow control
    • Local Firmware and Configuration update either via Mass Storage (USB Type-C) or Serial (Kermit)
    • Sending MT at intervals longer than 15s apart