Contents

Edit

Your shopping basket

You have no items in your basket

You are not signed in

What would you like to do?

Hello !

You are signed in. What would you like to do?

designer and developer
designer and developer
  • AVR Firmware Uploader - Screenshot of the application after upload process completed

    AVR Firmware Uploader

    Screenshot of the application after upload process completed

    Image Credit: ©2024 Eddie Green

    AVR Firmware Uploader

    Screenshot of the application after upload process completed

  • AVR Firmware Uploader - Screenshot showing serial port drop-down which lists all detected ports

    AVR Firmware Uploader

    Screenshot showing serial port drop-down which lists all detected ports

    Image Credit: ©2024 Eddie Green

    AVR Firmware Uploader

    Screenshot showing serial port drop-down which lists all detected ports

  • AVR Firmware Uploader - Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

    AVR Firmware Uploader

    Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

    Image Credit: ©2024 Eddie Green

    AVR Firmware Uploader

    Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

  • AVR Firmware Uploader - Sample Board.txt file with relevant information required to add new boards to the app highlighted

    AVR Firmware Uploader

    Sample Board.txt file with relevant information required to add new boards to the app highlighted

    Image Credit: ©2024 Eddie Green

    AVR Firmware Uploader

    Sample Board.txt file with relevant information required to add new boards to the app highlighted

  • AVR Firmware Uploader - Configuration file showing data required to add new boards to the app.

    AVR Firmware Uploader

    Configuration file showing data required to add new boards to the app.

    Image Credit: ©2024 Eddie Green

    AVR Firmware Uploader

    Configuration file showing data required to add new boards to the app.

Last updated August 2021

AVR Firmware Uploader

The AVR Firmware Uploader is a stand-alone app to flash memory on AVR chip IoT devices. The app auto-detects serial ports when they are connected, making it simple way for end-users to update their firmware. It's also useful for developers wanting to flash multiple units with pre-compiled binary images.

AVR Firmware Uploader is a wrapper for the commonly used uploading tools required to upload firmware to AVR or Espressif chips. Depending on the board type selected, the app will upload using the appropriate strategy for that board without further user input. For devices such as the ESP8266 or the ESP32 it uses esptool, while for other devices such as the ATmega328p and ATmega32U4, avrdude is used.

App features
  • Auto-detects serial device connection and switches to the detected COM port.
  • Filters file selection to HEX or BIN flash images, depending on uploader used.
  • Supports frequently used boards, will support any board with modification.
  • Handles requirements for bootloaders, for example the ATmega32U4, that open a separate COM port for upload.
  • Reports tool progress at end of cycle.
  • Clean, customisable interface with built-in help.

The app currently supports the four boards that I use regularly:

  • Arduino Pro Micro with ATmega32U4
  • Arduino Nano with ATmega328p (Old bootloader)
  • LOLIN (Wemos) D1 R2 and Mini
  • ESP32 DEVKIT

However, the app can be configured for additional board types by developers familiar with technical details in the appropriate boards.txt files for devices. If, for example, you are using Windows with Arduino IDE then the location of the default boards.txt is:

C:\Program Files (x86)\Arduino\hardware\arduino\avr

For additional boards installed via Arduino IDE boards manager, go to the following folder and search for boards.txt:

%userprofile%\AppData\Local\Arduino15\packages

See screenshots highlighting the relevant data for a device, and the Program.config file which is located in the local AppData directory.For location of app files, click on version number in main window to see the 'About' dialog.

Note that the MCU listed for boards using avrdude, for example atmega32u4, requires translation to the appropriate part number, in this example m32u4, as listed in the AVRDUDE configuration manual.

Note also that new releases will install a default Program.config file, overwriting any changes you make to the file, so don't forget to backup modifications before upgrading.

Please contact me if you would like to include a board type not currently listed - I will add them to the next release.

SmartSerial is free. It doesn't connect to the internet, gather telemetry or display advertisements. Use it and enjoy. If you would like to say thanks, consider making a donation via PayPal.

For commercial use, consider a white-label version of this app. Customisation includes your branding including app name, logo and colour scheme and removal of my own details. Contact me for details.

Download the latest version

Version History

1.1.15222 July 2021
  • Updated libraries used.
1.1.14622 July 2021
  • Updated libraries used.
1.1.14523 September 2020
  • Updated libraries used.
1.1.13524 May 2020
  • Program now keeps valid user settings between releases.
1.1.133April 2020
  • Added option in About box to turn off help popups
  • Improved and formatted help text
  • Replaced icons
1.1.122April 2020
  • References to chip type have been changed to board type as multiple boards can have the same chip with different flash settings.
  • App now uses board definitions created in Program.config in local AppData directory.
  • File selection limited to appropriate image type for the selected board.
  • Board type is now saved between sessions. File selection is not available until a board is selected.
1.1.68April 2020
  • First public release

Images

AVR Firmware Uploader - Screenshot of the application after upload process completed

AVR Firmware Uploader
Screenshot of the application after upload process completed

AVR Firmware Uploader - Screenshot showing serial port drop-down which lists all detected ports

AVR Firmware Uploader
Screenshot showing serial port drop-down which lists all detected ports

AVR Firmware Uploader - Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

AVR Firmware Uploader
Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

AVR Firmware Uploader - Sample Board.txt file with relevant information required to add new boards to the app highlighted

AVR Firmware Uploader
Sample Board.txt file with relevant information required to add new boards to the app highlighted

AVR Firmware Uploader - Configuration file showing data required to add new boards to the app.

AVR Firmware Uploader
Configuration file showing data required to add new boards to the app.

AVR Firmware Uploader

Screenshot of the application after upload process completed

AVR Firmware Uploader - Screenshot of the application after upload process completed

AVR Firmware Uploader

Screenshot of the application after upload process completed

Image Credit: ©2024 Eddie Green

AVR Firmware Uploader

Screenshot showing serial port drop-down which lists all detected ports

AVR Firmware Uploader - Screenshot showing serial port drop-down which lists all detected ports

AVR Firmware Uploader

Screenshot showing serial port drop-down which lists all detected ports

Image Credit: ©2024 Eddie Green

AVR Firmware Uploader

Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

AVR Firmware Uploader - Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

AVR Firmware Uploader

Screenshot showing drop-down listing supported AVR boards - the list can be updated using appropriate boards.txt entries

Image Credit: ©2024 Eddie Green

AVR Firmware Uploader

Sample Board.txt file with relevant information required to add new boards to the app highlighted

AVR Firmware Uploader - Sample Board.txt file with relevant information required to add new boards to the app highlighted

AVR Firmware Uploader

Sample Board.txt file with relevant information required to add new boards to the app highlighted

Image Credit: ©2024 Eddie Green

AVR Firmware Uploader

Configuration file showing data required to add new boards to the app.

AVR Firmware Uploader - Configuration file showing data required to add new boards to the app.

AVR Firmware Uploader

Configuration file showing data required to add new boards to the app.

Image Credit: ©2024 Eddie Green

Comments

Notice to admins and editors

Editing pages and administering the site is disabled because you are not using two-factor authentication to secure your account. This is required for all users with privileged access.

Set up Two Factor Authentication

Contact me...

please wait