Sparrow Binary Installation Guide

This article is a step-by-step guide for downloading firmware releases and uploading those firmware binaries to your Sparrow devices.

NOTE: The Sparrow Essentials Board and Sparrow Reference Nodes run the same firmware, and you can use this article’s instructions to update the firmware of each.

Download the Binary from GitHub

The Sparrow reference firmware is open source and available on GitHub. You can view all firmware in the repository’s releases page. The steps below you show you how to download a firmware binary.

  1. Open GitHub - blues/sparrow-reference-firmware: The accelerator app for the Sparrow Device Cluster use case. in a web browser.

  2. Click the tag link.

  3. Select the appropriate release.

  4. Scroll down to download the .elf. (The .zip is optional.)

Upload the Binary using STM32CubeProgrammer

Now that you have the firmware binary downloaded, you’re ready to push the binary out to your device.

NOTE: To complete this section you’ll need to have STM32CubeProgammer installed. So if you haven’t already, install STM32CubeProgrammer, and make sure to follow these installation notes.

  1. Ensure your Sparrow hardware has power, either from a LiPo battery, a Qwiic connection, or a USB connection.

  2. Connect your STLINK-V3MINI to your Sparrow Essentials Board, or Sparrow Reference Node.

3. Use a micro USB cable to connect the other end of your STLINK-V3MINI to your laptop or computer.

4. Open STM32CubeProgrammer on your laptop or computer, and select ST-LINK from pulldown menu (shown below).

5. Select Reset mode: Hardware Reset.

6. Click the Connect button.

7. Click the "Erasing & programming" button.

8. Click the Browse button, and select a local copy of the sparrow.elf file you just downloaded.

9. Click the Start Programming button.

10. Wait for the download to complete and your Sparrow to reboot.

At this point you’ve now successfully updated the firmware on your Sparrow board. You can verify the installation succeeded by completing the following steps in a serial terminal application, such as CoolTerm or TerraTerm.

  1. Connect to the STLINK-V3MINI serial terminal at 9600-8-N-1.

  2. Press RESET button on Sparrow.

  3. Verify the updated firmware by referencing the banner message (example shown below).

    =================== ===== SPARROW ===== =================== Feb 24 2022 15:19:28

Upload the Binary using STM32_Programmer_CLI

You can also update Sparrow firmware with STM32_Programmer_CLI by following the steps below.

NOTE: To complete this section you’ll need to have STM32CubeProgammer installed. So if you haven’t already, install STM32CubeProgrammer, and make sure to follow these installation notes.

  1. Ensure your Sparrow hardware has power, either from a LiPo battery, a Qwiic connection, or a USB connection.

  2. Connect your STLINK-V3MINI to your Sparrow Essentials Board, or Sparrow Reference Node.

  3. Upload the local copy of the sparrow.elf file you just downloaded:

    STM32_Programmer_CLI --connect port=SWD reset=HWrst --write ~/Downloads/sparrow.elf --verify --go
  4. Wait for the download to complete and your Sparrow to reboot.

You can verify the installation succeeded by completing the following steps in a serial terminal application, such as CoolTerm or TerraTerm.

  1. Connect to the STLINK-V3MINI serial terminal at 9600-8-N-1.

  2. Press RESET button on Sparrow.

  3. Verify the updated firmware by referencing the banner message (example shown below).

    =================== ===== SPARROW ===== =================== Feb 24 2022 15:19:28