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:
Extract the zip file and run (for example, NINA → WiFi1010)
./$your_os/updater -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:
./$your_os/updater -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:
./$your_os/updater -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: ./updater -h
Usage of ./distrib/linux64/updater: -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) -> if not provided it will expect FirmwareUpdater sketch to be already flashed on the board -model string module model (winc or nina) -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) -> if not provided it will try to restore the original firmware
From the sources root directory run:
go build -o updater
This will create the updater
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-2016 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