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 selectApollo3
- 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:
- the D5 LED on the SparkFun RedBoard Artemis ATP
- the D13 LED on the SparkFun RedBoard Artemis
- the D18 LED on the SparkFun Thing Plus - Artemis
- the D19 LED on the SparkFun RedBoard Artemis Nano
- the Green LED on the SparkFun Edge Development Board - Apollo3 Blue
- the STAT LED on the OpenLog Artemis
- the D19 and GNSS LEDs on the Artemis Global Tracker
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!
- /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
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.
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.