SparkFun SAMD Boards installation in Arduino IDE on NVIDIA Jetson Xavier NX is failing

The problem I encounter is: Tool bossac is not available for your operating system.

Is there a version of the SparkFun SAMD boards library that is compiled for ARM 64?

I got the SparkFun RedBoard Turbo - SAMD21 Development Board https://www.sparkfun.com/products/14812

and followed the instructions in the hookup guide. Everything works great when I use a desktop computer with Ubuntu 18.04, but doing the same thing on a NVIDIA Jetson Xavier NX fails when I try to install the SparkFun SAMD Boards.

Download Arduino IDE 1.8.13

Firefox: https://www.arduino.cc/en/software

Click on Linux ARM 64 bits

Click Download

~/Downloads/arduino-1.8.13-linux64.tar.xz

Right-click Extract to …

Browse to sw/NVIDIAJetsonXavirNX/SparkFunRedBoardTurbo

Install Arduino IDE

$: sudo mkdir -p /opt/SparkFunRedBoardTurbo

$: sudo chmod 777 /opt/SparkFunRedBoardTurbo

$: cp -r sw/NVIDIAJetsonXavirNX/SparkFunRedBoardTurbo/arduino-1.8.13-linuxaarch64/arduino-1.8.13 /opt/SparkFunRedBoardTurbo

$: cd /opt/SparkFunRedBoardTurbo/arduino-1.8.13

/opt/SparkFunRedBoardTurbo/arduino-1.8.13$: sudo ./install.sh

Open Arduino IDE ($: arduino)

Select File>Preferences

Enter Sketchbook location: /opt/SparkFunRedBoardTurbo/Arduino

$: mkdir -p /opt/SparkFunRedBoardTurbo/Arduino

Install Arduino’s SAMD Board Add-Ons

Open Arduino IDE ($: arduino)

Select Tools> Board: “Arduino Uno”> Board Manager…

Select Arduino SAMD Boards (32-bits ARM Cortex-M0+)

Click 1.8.1 Install

I tried 1.8.1 and 1.8.11

Install SparkFun’s SAMD Board Add-Ons

Open Arduino IDE ($: arduino)

Select File>Preferences

Copy following text into the Additional Board Manager URLs text box

https://raw.githubusercontent.com/spark … index.json

Click OK

Close and Open Arduino IDE

Select Tools> Board: “Arduino Uno”> Board Manager…

Select SparkFun SAMD Boards

Click 1.8.1 Install

Tool bossac is not available for your operating system.

java.lang.RuntimeException: java.lang.Exception: Tool bossac is not available for your operating system.

at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$2(ContributionManagerUI.java:175)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.Exception: Tool bossac is not available for your operating system.

at cc.arduino.contributions.packages.ContributionInstaller.install(ContributionInstaller.java:89)

at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$2(ContributionManagerUI.java:172)

… 1 more

Thanks for reaching out to us on this.

This post had a similar situation occurring https://forum.arduino.cc/t/installing-a … m64/550398 that they were able to come up with a solution for - this might work for your case as well, as it seems very similar.

Hope this helps, and happy sparking!

Thanks a lot TS-Russell for the pointer. Yes, looks very similar and should work. I will try it and report back. A little bit disappointed that the so far plug and play experience got interrupted. I didn’t expect SparkFun’s microcontroller libraries not to support ARM64, given that SparkFun also provides the NVIDIA Jetson platform.

Ok, that was straightforward and easy. As suggested by TS-Russell - thanks a lot, based on the post Installing Arduino SAM boards on Arduino IDE for Arm64 https://forum.arduino.cc/t/installing-a … m64/550398 in the Arduino Forum, I downloaded and modified the package_sparkfun_index.json to use the same versions in the toolsDependencies as found in the .arduino15/package_index.json for the Arduino SAMD Boards (32-bits ARM Cortex-M0+).

wget https://raw.githubusercontent.com/spark … index.json

“boards”: [

{ “name”: “Sparkfun RedBoard Turbo” }

],

“toolsDependencies”: [

{

“packager”: “arduino”,

“name”: “arm-none-eabi-gcc”,

“version”: “7-2017q4”

},

{

“packager”: “arduino”,

“name”: “bossac”,

“version”: “1.7.0-arduino3”

},

]

Open Arduino IDE ($: arduino)

Select File>Preferences

Copy following text into the Additional Board Manager URLs text box

file:////package_sparkfun_index.json