StarXpand SDK for React Native Developer's Manual Ver. 1.10.0

Last update: Jul 11, 2025

Update Printer Firmware

StarPrinterSettingFirmware provides the APIs to check the current firmware version of your printer and update it to the latest version.

The latest firmware includes fixes for bugs reported in the previous version and adds new features.
It is recommended to use the latest version of firmware.
Firmware data is downloaded to your device once from Star Micronics' server.
Therefore, your device must be connected to the Internet when using the firmware update API.

Flow of firmware update

1. Execute the firmware update API.

2. Get the latest firmware version information from the cloud server.

3. Download firmware data from the cloud server.

4. Transfer firmware data to the printer.

5. Completed transmitting firmware data. Control of the firmware update API is completed.

6. Start firmware rewriting at the printer.

7. The printer automaticallt restart, and the firmware update is completed.

       

Precautions when updating firmware

When updating printer firmware, note the following.

  • Do not turn off the printer until the rewriting of the printer firmware is completed.
  • Turning off the printer while the firmware is being rewritten may cause the printer to stop operating properly.
    Note that in the worst case, repairs may be required.
  • Do not disconnect communication between the host device and the printer until the printer firmware update API execution is complete.
  • The host device should not be in sleep mode while the printer firmware update API is being executed.


Communication with Star Micronics Cloud Server

To use the printer firmware update API, the host device must communicate with the Star Micronics cloud server.

Use APIs while the host device is connected to the Internet.
For details on communication with the cloud server, refer to the Flow of firmware update.


When communicating with the cloud server, information on your device and our peripheral devices is sent to our server and used for service improvement and SDK improvement and analysis.
For details, refer to the SDK Privacy Policy or the following URL.

https://github.com/star-micronics/react-native-star-io10/blob/master/DIAG_INFO.md

This transmission of the information to our server can be disabled by StarIO10DiagInfoUpload.




Update Procedure

Refer to the following procedure to update the firmware.

1Connect to the printer by referring to steps 1, 2, and 4 here.

2Get the instanceStarPrinterSettingFirmware, which is used to configure firmware-related settings, from the property of theStarPrinterinstance.

var firmware = printer.setting?.firmware;

3Execute thecheckVersions()method to check the current firmware version and the latest firmware version.
After the method succeeds, the current version is set to the currentVersion property and the the latest version to the latestVersion property.

await firmware.checkVersions();

4Before executing the firmware update method, implement the methods provided by theFirmwareUpdateDelegateprotocol.
This protocol provides methods to notify the status of firmware updates via theupdate()method.
These delegate methods allow notification of the start of downloading from the Star Micronics cloud server, the start of transmitting data to the printer, the completion of transmitting data to the printer, and the occurrence of errors as events.

firmware.updateDelegate.onFirmwareUpdateProgress = (step) => {
    var status = `onFirmwareUpdateProgress: ${String(step)}`;
    console.log(status);
}

firmware.updateDelegate.onFirmwareUpdateTransmitComplete = () => {
    var status = `onFirmwareUpdateTransmitComplete`;
    console.log(status);
}

firmware.updateDelegate.onFirmwareUpdateError = (error) => {
    var status = `onFirmwareUpdateError: ${String(error)}`;
    console.log(status);
}

5Execute theupdate()method to update the firmware.

await firmware.update();
Notes
Do not turn off the power to the host device and the printer until the control returns from the method.
Even after the method finishes, the printer is still in the process of rewriting the firmware.
Do not turn off the printer until the printer is restarted.


6After theupdate()method has completed and the printer has restarted, execute thegetCurrentVersion() method to confirm that the firmware has been updated.
Refert toTime required to rewrite printer firmwarefor the printer restart time.

await firmware.getCurrentVersion();

Refer the full sample code here.

Communication time required to transmit firmware data

When communicating with the printer via the Bluetooth interface, it takes a long time for the firmware data transmission to complete.
It is recommended to use LAN or USB interface.

Sending firmware data from the host device to the printer takes the following time as a reference.

       

Interface

For mC-Print3

For mC-Label3

LAN

25~35 seconds 60~70 seconds

USB

45~55 seconds 70~80 seconds

Bluetooth

55~65 seconds 7 minutes

Time required to rewrite printer firmware

After the update() method completes transmitting firmware data to the printer, the printer begins the rewriting process.
This rewriting process takes a long time. The time shown below is a rough estimate and may take longer in practice.

  

For mC-Print3

For mC-Label3

60~90 seconds

3~4 minutes


If a communication error occurs while transmitting firmware data

The method ends before the firmware data transmission is completed, so the printer remains in a state waiting to receive data.
In this case, turn the printer off and then on again.
Printers that support the firmware update API have recovery firmware, so they can start up with the original firmware version without any problems even if the power is turned off while receiving data.
After the printer starts up, try updating the firmware again.

Note
Do not turn off the printer power while the API is successful and the printer is rewriting the firmware data.