Coder Social home page Coder Social logo

diplodocuslongus / artemis-firmware-upload-gui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sparkfun/artemis-firmware-upload-gui

1.0 0.0 0.0 203.82 MB

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

License: Other

Python 100.00%

artemis-firmware-upload-gui's Introduction

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.

artemis-firmware-upload-gui's People

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.