This is here only temporarily. The fwuploader is under refactoring. This repo is only a backup version and will be removed in the future. Please use https://github.com/arduino/arduino-fwuploader
Use this tool to update the firmware and/or add SSL certificates for any WINC, NINA or SARA module.
You can download the Firmware/Certificates updater here:
https://github.com/arduino/FirmwareUploader/releases/latest
Extract the zip file and run (for example, NINA -> WiFi1010)
./FirmwareUploader -flasher firmwares/NINA/FirmwareUpdater.mkrwifi1010.ino.bin -firmware firmwares/NINA/1.2.1/NINA_W102.bin -port /dev/ttyACM0 -address arduino.cc:443 -restore_binary /tmp/arduino_build_619137/WiFiSSLClient.ino.bin -programmer {runtime.tools.bossac}/bossac
To flash a MKR1000:
./FirmwareUploader -flasher firmwares/WINC1500/FirmwareUpdater.mkr1000.ino.bin -firmware firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin -port /dev/ttyACM0 -address arduino.cc:443 -restore_binary /tmp/arduino_build_619137/WiFiSSLClient.ino.bin -programmer {runtime.tools.bossac}/bossac
To update a MKRNB1500:
./FirmwareUploader -flasher firmwares/SARA/SerialSARAPassthrough.ino.bin -firmware firmwares/SARA/5.6A2.00-to-5.6A2.01.pkg -port /dev/ttyACM0 -restore_binary firmwares/SARA/SerialSARAPassthrough.ino.bin -programmer {runtime.tools.bossac}/bossac
The full list of command line options can be obtained with the -h
option: ./FirmwareUploader -h
Usage of ./FirmwareUploader:
-address value
address (host:port) to fetch and flash root certificate for, multiple values allowed
-certs string
root certificate directory
-firmware string
firmware file to flash
-flasher string
firmware upload binary (precompiled for the right target)
-get_available_for string
Ask for available firmwares matching a given board
-model string
module model (winc, nina or sara)
-port string
serial port to use for flashing
-programmer string
path of programmer in use (avrdude/bossac)
-read
read all firmware and output to stdout
-restore_binary string
firmware upload binary (precompiled for the right target)
To build we use task for simplicity. From the sources root directory run:
task dist:<OS>_<ARCH>
Where could be one of: macOS
,Windows
,Linux
. And : 32bit
, 64bit
, ARM
or ARM64
This will create the FirmwareUploader
executable.
If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team ๐ก๏ธ Thank you!
e-mail contact: [email protected]
Copyright (c) 2015-2021 Arduino LLC. All right reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA