Skip to content

A cross-platform GUI for uploading new firmware to an Artemis based device.

License

Notifications You must be signed in to change notification settings

diplodocuslongus/Artemis-Firmware-Upload-GUI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SparkFun Artemis Firmware Uploader GUI

Artemis Firmware Uploader GUI

The Artemis Firmware Uploader (AFU) is a simple to use GUI for updating firmware and the bootloader on Artemis based products.

To use:

  • Download the repo ZIP
  • Run the artemis_firmware_uploader_gui executable for your platform
    • /Windows contains the Windows .exe
    • /OSX contains an executable for macOS X
    • /Linux contains an executable built on Ubuntu
    • /Raspberry_Pi__Debian contains an executable for Raspberry Pi 4 (Debian Buster)
  • Click Browse and select the firmware file you'd like to upload (should end in .bin)
  • Attach the Artemis target board over USB
  • Select the COM port (click Refresh to refresh the list of USB devices)
  • For the SparkFun Edge: click the Board Type menu and select Apollo3
  • Click Upload Firmware

The GUI does take a few seconds to load and run. Don't Panic if the GUI does not start right away.

Be sure you are loading firmware for your board or product. While it's unlikely to damage Artemis by loading incorrect firmware it will erase the pre-existing firmware and may lead to the peripherals being controlled incorrectly.

An example Blink.bin firmware file is included in the repo. This firmware will cause these LEDs to blink at 1Hz:

Clicking Update Bootloader will erase all firmware on the Artemis and load the latest bootloader firmware. This is handy when SparkFun releases updates to the SVL.

SparkFun labored with love to create this code. Feel like supporting open source hardware? Buy a breakout board from SparkFun!

Repository Contents

  • /tools contains the python source files and SVL binary
  • /Windows contains the Windows .exe
  • /OSX contains an executable for macOS X
  • /Linux contains an executable built on Ubuntu
  • /Raspberry_Pi__Debian contains an executable for Raspberry Pi 4 (Debian Buster)
  • LICENSE.md contains the licence information

Building Your Own Executable

We use Python3 and pyinstaller to create the executables. You can create your own executable if you want to, so long as you have PyQt5 and the other prerequisites installed.

The /tools folder contains the python source code, icons and the latest SVL bootloader binary. You can run the python code directly by calling:

python3 artemis_firmware_uploader_gui.py

On Windows platforms, you can create an executable by calling:

pyinstaller --onefile --noconsole --distpath=. --icon=artemis_firmware_uploader_gui.ico --add-data="artemis_svl.bin;." --add-data="Artemis-Logo-Rounded.png;." artemis_firmware_uploader_gui.py

On Linux platforms, you need to replace the semicolons with colons:

pyinstaller --onefile --noconsole --distpath=. --icon=artemis_firmware_uploader_gui.ico --add-data="artemis_svl.bin:." --add-data="Artemis-Logo-Rounded.png:." artemis_firmware_uploader_gui.py

This will create a single file executable which has the SVL binary bundled into it. You can then distribute it and run it on the same platform without needing Python3.

License Information

This product is open source!

If you have any questions or concerns on licensing, please contact [email protected].

Please use, reuse, and modify these files as you see fit. Please maintain attribution to SparkFun Electronics and release any derivative under the same license.

Distributed as-is; no warranty is given.

  • Your friends at SparkFun.

About

A cross-platform GUI for uploading new firmware to an Artemis based device.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%