9. Upgrading firmware

The Pololu Isolated USB-to-I²C Adapter runs open source firmware that you can replace with new versions from Pololu or third-party developers.

Currently, the only official firmware version is version 1.00.

Determining firmware version

You can determine what firmware version the adapter is running using the “Get device info” command documented in Section 7.

On a computer running Microsoft Windows, you can find the firmware version by double-clicking on the adapter’s port in the Device Manager, opening the Details tab, and selecting “Hardware Ids”. The firmware version appears after “REV_” in one of the hardware IDs. For example, “REV_0102” indicates firmware version 1.02. On Linux, you can find the firmware version by installing the lsusb utility, running lsusb -d 1ffb:, and looking for the bcdDevice value.

Getting into bootloader mode

To update the firmware on the adapter, you must first get it into bootloader mode, which means it is running the bootloader in the STM32’s system memory instead of the usual firmware.

The simplest way to start the bootloader is to open the adapter’s virtual serial port with a serial terminal program, set the baud rate to 600, and then close it. Some general-purpose terminal programs that work for this are Google Chrome Labs serial terminal, Tera Term, and PuTTY.

If that method does not work, you can short together the two exposed pads labeled “Boot” in the diagrams below while powering up the adapter to force it into bootloader mode. Hold a screwdriver or other conductive tool across the pads while plugging the adapter into USB. If this works, you will see the bootloader turn the red LED turn on briefly and then it off, and the other LEDs on the USB side of the adapter will not turn on.

Pololu Isolated USB-to-I²C Adapter pinout and LEDs.

Pololu Isolated USB-to-I²C Adapter with Isolated Power pinout and LEDs.

Upgrade instructions

  1. Download the latest official firmware from Pololu: firmware version 1.00 (21k elf). This single file works for both versions of the adapter.
  2. Install the STM32CubeProgrammer software from ST.
  3. Get the adapter into bootloader mode as described above.
  4. Run the STM32CubeProgrammer software.
  5. In the upper right corner of the window, select “USB” in the blue dropdown box. The software should automatically detect the board and display “USB1” in the “Port” dropdown box.
  6. Click “Connect”.
  7. Click the menu icon in the upper left and then select “Erasing & programming”.
  8. Click the “Browse” button and select the ELF firmware file you downloaded earlier.
  9. Check the “Run after programming” checkbox and then click “Start Programming”.
  10. You might see a warning box that says “Warning: Connection to device 0x493 is lost”. If the log pane says “Start operation achieved successfully”, then this message is normal and expected.

If the update was successful, the new firmware should now be running. The adapter’s green LED should be on and the computer should recognize it.

Alternatively, you can also update the firmware using ST’s command-line utility with a command like this:

STM32_Programmer_CLI -c port=USB1 -w firmware.elf --go

Related Products

Pololu Isolated USB-to-I²C Adapter with Isolated Power
Pololu Isolated USB-to-I²C Adapter
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Menu
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors