5.4. Upgrading Firmware

The Simple Motor Controller has field-upgradeable firmware that can be easily updated when Pololu releases bug fixes or new features.

Firmware Versions

  • Version 1.00: This is the original version.
  • Version 1.01: This version fixes a bug that made the ASCII Get Variable serial command malfunction for negative numbers.
  • Version 1.02: This version fixes a bug that caused the controller to detect the wrong baud rate if the baud rate detection byte was sent during the first two milliseconds after a reset.
  • Version 1.03, released on 2010-11-18: This version fixes a bug that caused the yellow LED to flicker sometimes.
  • Version 1.04, released on 2012-08-09: This version fixes some bugs with error handling. The effect of the Exit Safe Start serial command now lasts for 200 ms instead of ending immediately and the ERR line high error now works in RC and analog mode.

Upgrade Instructions

You can determine the version of your controller’s firmware by running the Pololu Simple Motor Control Center software, connecting to the controller, and selecting “Device Information…” from the Device menu. If you do not have the latest firmware, you can upgrade the firmware by following these steps:

Linux users: The Simple Motor Controller’s firmware cannot be upgraded from a Linux computer. This is due to bugs in recent versions of mono, which we were able to reproduce on mono version “Debian 2.10.8.1-5ubuntu2”. If you need to upgrade your firmware, please use a computer running Windows.

  1. Save the settings stored on your controller using the “Save settings file…” option in the File menu. All of your settings will be reset to their default values during the firmware upgrade.
  2. Download the latest version of the firmware here: Firmware version 1.04 for the Simple Motor Controllers (266k fmi). This single file will work with all the different Simple Motor Controllers.
  3. Connect your controller to a Windows computer using a USB cable. Do not attempt to upgrade the firmware on a Linux computer.
  4. Run the Pololu Simple Motor Control Center application and connect to the controller.
  5. In the Device menu, select “Upgrade firmware…”. You will see a message asking you if you are sure you want to proceed: click OK. The Simple Motor Controller will now disconnect itself from your computer and reappear as a new device with a name like “Pololu Simple High-Power Motor Controller 18v15 Bootloader”.
    • Windows 8, Windows 7, and Vista: the driver for the bootloader will automatically be installed.
    • Windows XP: follow steps 6–8 from Section 3.1 to get the driver working.
  6. Once the bootloader’s drivers are properly installed, the green LED should be blinking in a double heart-beat pattern, and there should be an entry for the bootloader in the “Pololu USB Devices” list of your computer’s Device Manager.
  7. Go to the window titled “Firmware Upgrade” that the Pololu Simple Motor Control Center opened. Click the “Browse…” button and select the firmware file you downloaded.
  8. If it is not already selected, select the device you want to upgrade from the “Device” dropdown box.
  9. Click the “Program” button. You will see a message warning you that your device’s firmware is about to be erased and asking you if you are sure you want to proceed: click Yes.
  10. It will take a few seconds to erase the Simple Motor Controller’s existing firmware and load the new firmware.
  11. Once the upgrade is complete, the Firmware Upgrade window will close, the Simple Motor Controller will disconnect from your computer once again, and it will reappear as it was before. If there is only one Simple Motor Controller plugged into your computer, the Pololu Simple Motor Control Center will connect to it. Check the firmware version number and make sure that it now indicates the latest version of the firmware.

If you run into problems during a firmware upgrade, please contact us for assistance.