Skip to content

Uploading Firmware to STM

Connect to the Board

Most development boards (such as the Nucleo-144 and dashboard kit) have built-in ST-Link hardware and a USB interface.

Simply connect the board to your laptop with a USB cable.

nucleo stlink
ST-Link on Nucleo-144 F767ZI

The vehicle ECUs are not development boards. They are bare STM32F7 processors soldered to a circuit board. These boards do not have a built-in ST-Link or USB interface so we must use a different connector.

You will need and external ST-Link and a USB cable from the blue tool chest in the Hatch bay. Some of the ST-Links are Micro-USB and others are USB-C. We should have cables for both.

ST-Link and cables are kept in bags in this drawer. Return them when finished!

Please wrap the ST-Link in electrical tape since it has exposed conductors and is very easy to fry.

E-Tape would have prevented the Great ST-Link Massacre of Comp '24.

  1. Ensure the ECU is off (not receiving power) and the USB is not connected to your laptop.
  2. Carefully connect the grey ribbon cable to the ST-Link and the JTAG connector on the ECU board.

    Both ends of the ribbon cable have a tab which must align with the notch on the connector.

    Connector tab and notch

  3. Power on the ECU. Talk to an upper year SW or Electrical member for help.

  4. Connect your laptop to the ST-Link using the USB cable.

Full setup

ST-Link issue for Mac Users

For some reason, ST-Links don't work when directly connected to a Mac. You need to use a USB hub to indirectly connect to it.

flowchart LR
    Mac --> USB[USB Hub]
    USB --> ST-Link

Upload with PlatformIO

Open a PlatformIO project in VS Code. Select the STM environment and click upload.