Updating Probe Firmware

The Monitor/Loader

The application firmware of Bus Probes is updated with the aid of a resident firmware called the Monitor/Loader (M/L).

The M/L is launched every time a Bus Probe is powered up or reboots. When happens next depends on whether the MD button is pressed at the moment the M/L starts running:

  • If the MD button is not pressed, the M/L verifies the sanity of and launches the application firmware.
  • If the MD button is pressed, the M/L enters the firmware update mode. This mode is for updating the application firmware of Bus Probes. The firmware is updated via the RS485 port of Bus Probes, using the XModem communications protocol.


To update a Bus Probe's firmware, you must have the firmware file you will be sending into that Bus Probe. BP firmware is published here: http://tibbo.com/support/downloads/bus-probe-firmware.html. A single firmware file covers all BP models.

Perhaps the most convenient way of updating the application firmware of Bus Probes is by using a TPS2(G2) system running one of the two Bus Probe testing apps provided by Tibbo.

If you don't have a TPS(G2) device you can perform a firmware upgrade from your PC.

To perform an XModem serial upgrade from a PC:

  • You must have a USB-to-RS485 cable. We successfully tested DigiFusion "FTDI-based" USB-to-RS485 cable.
  • You must have a DC power source providing clean power in the 5~12V range.
  • You will need a "terminal" software supporting XModem file transfers. Any "terminal" software capable of sending files using XModem protocol will do. For example, you can employ Tibbo's own IO Ninja software. You can download it here: http://ioninja.com/downloads.html.

Update procedure

  • Connect the USB-to-RS485 cable to your PC.
  • Interconnect the RS485+ and RS485- terminals of your Bus Probe with corresponding terminals on the USB-to-RS485 cable.
  • Connect the power source to +V and GND terminals of the Bus Probe. Keep the supply voltage in the 5~12V range.
  • Turn off the power.
  • Run IO Ninja software.

IO Ninja toolbar

  • Click New Session, then choose Serial.
  • Click New Layer and add the XModem layer.
  • Click Settings and make sure that:
    • Correct Port is selected;
    • The Baud rate is 38400;
    • The number of Data Bits is set to 8;
    • The number of Stop Bits is set to 1; and
    • Parity is set to None.
    • The flow control is set to None.
  • Click Open.

  • Click Transmit File With XModem, select the firmware file to send, and click Open.

  • Press and hold the MD button on the Bus Probe. Each Bus Probe comes with a metal pin that makes pushing and holding down the MD button easier.

  • Apply power to the Bus Probe. The upload should start. You may release the MD button at this point.

  • During the upload, the status LEDs will be showing the following patterns:

    • pat_receiving — the Probe is receiving and storing the file;
    • pat_ok — XModem transmission completed;
    • A number of error patterns may also be displayed. Please refer to the status LEDs topic for more info.
  • After the upload completes, power-cycle the Probe. The newly loaded application firmware will start executing.

Updating the Monitor/Loader

It is also possible to update the M/L itself. M/L updates are distributed as application firmware files. The sole function of a M/L updater firmware is to update the M/L (with the M/L code contained within the firmware).

To update the M/L:

  • Upload this updater firmware in the same manner used to upload the application firmware (explained above).

  • Reboot your Bus Probe and let the updater firmware execute.

  • The updater firmware will go through displaying three distinctive status LED patterns:

    • pat_preparing_to_update — the Probe is preparing to update the M/L. Do not turn off the power.
    • pat_updating_ml — the Probe is updating the M/L. Do not turn off the power.
    • pat_update_completed — the M/L has been updated. You can now safely turn off the power or reboot the Probe.
  • Upload the application firmware to make the Probe operational.