This description is for Windows PCs and Apple.

You have to install two software packages for the update: 1. Arduino IDE (only needed to get the USB driver for Arduino Due) and 2. arduino-cli to transfer the new binary over USB

  1. Install the Arduino App over the Windows App Manger or the official Arduino web site. Open it and here select install Tools>Board>BoardsManager>Arduino SAM Boards (32-bits ARM Cortex…). Close the IDE.
  2. Download and unpack the Arduino tool “arduino-cli” from and copy VL1.ino.bin into the same directory where the file arduino-cli.exe is located.
  3. Unplug the 9V power cable from the controller and connect the controller to the provided USB cable. First insert the USB cable into the controller, then the other side of the cable into the USB plug of your PC, in that order. See also Chap. “Connect to Power” in the User Manual, not to destroy your device. After the cable is connected, the controller will start.
  4. Look into Window’s Device Manager to identify the physical USB port, check the COM port that is assigned to the Arduino Due. In this example it is COM5. Remember this port number.
    For Apple: open the Arduino App and look under Tools>Port and mind the port name for the Arduino Due.

5. Open the command line interface or shell of your computer: e.g. type “Windows Key” and cmd.

6. Change to the directory where you extracted the files of step1, e.g. type


cd D:\Downloads\arduino-cli_0.35.1_Windows_64bit

7. Enter following command (but with your correct COM port). Wait until the program finishes, do not interrupt the connection while uploading.

arduino-cli.exe upload -i VL1.ino.bin -p COM5 -b arduino:sam:arduino_due_x

Apple: Assuming the port name you found in the Arduino App was “/dev/cu.usbmodem14101”, the command you enter is:

cd /directory_where_all_the-uploaded_stuff_is

arduino-cli.exe upload -i VL1.ino.bin -p /dev/cu.usbmodem14101 -b arduino:sam:arduino_due_x

Have fun with your improved VL1 controller!

Leave a Reply

Your email address will not be published. Required fields are marked *