`Good Afternoon
I have Arduino IDE 2.3.4 installed on my computer I have tried to install
MakerBLE mbed board library but Iam getting an error 13 message.
I have pasted the message below, I am also getting the same error messagge on my pc.
Any advice \help will be appreciated.
Thanks oldguyjn
Tool MakerPortal:openocd@0.11.0-arduino2 already installed
Tool MakerPortal:arm-none-eabi-gcc@7-2017q4 already installed
Tool MakerPortal:bossac@1.9.1-arduino2 already installed
Tool MakerPortal:dfu-util@0.10.0-arduino1 already installed
Downloading packages
MakerPortal:mbed@1.0.0
Installing platform MakerPortal:mbed@1.0.0
Failed to install platform: 'MakerPortal:mbed:1.0.0'.
Error: 13 INTERNAL: Cannot install platform: installing platform MakerPortal:mbed@1.0.0: searching package root dir: no unique root dir in archive, found 'C:\Users\johnm\AppData\Local\Arduino15\tmp\package-3250299427\bootloaders' and 'C:\Users\johnm\AppData\Local\Arduino15\tmp\package-3250299427\cores'
I was able to reproduce what you are seeing.
I tried installing the board package into IDE v1.8.19 but could not compile it.
If you are not totally dependent upon using this board or its processor but are only interested in BLE, you might be better off using an ESP32-based board.
Hi @oldguyjn. The reason for this error is the developers of the "MakerBLE mbed Board" platform used an invalid structure for the platform's release archive.
Probably the reason they didn't notice this problem is because the Arduino IDE 1.x Boards Manager allowed installation even when the archive structure is invalid, and they probably only tested their platform with that version (the platform has not been under active development for years). Arduino IDE 2.x is more strict about requiring platform archives to have a valid structure.
This means the workaround will be to use Arduino IDE 1.x to install the platform:
Select File > Quit from the Arduino IDE 2.3.4 menus.
All Arduino IDE windows will close.
Click the "Windows ZIP file" link under the "Legacy IDE (1.8.X)" section of the page.
A donation request page will open.
If you would like to make a donation, click the "CONTRIBUTE AND DOWNLOAD" button and complete the donation payment, otherwise click the "JUST DOWNLOAD" link to proceed without a donation.
You might now be presented with a newsletter subscription offer page. If you would like to subscribe, fill the information and click the "SUBSCRIBE & DOWNLOAD" button, otherwise click the "JUST DOWNLOAD" link to proceed without subscribing.
Your browser will start a file download.
Wait for the download to finish.
Extract the downloaded file to any convenient location on your hard drive.
Double click on the arduino.exe you will find in the extracted folder.
Arduino IDE 1.8.19 will start.
Select File > Preferences... (or Arduino > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open.
Enter the following URL into the "Additional Boards Manager URLs" field of the "Preferences" dialog:
If there are already Boards Manager URLs in the field, separate them with commas.
Click the "OK" button in the "Preferences" dialog.
The "Preferences" dialog will close.
Select Tools > Board > Boards Manager... from the Arduino IDE menus.
The "Boards Manager" dialog will open.
Wait for the updates to finish, as shown by the messages printed at the bottom of the "Boards Manager" dialog.
Scroll down through the list of boards platforms until you find the "MakerBLE mbed Board" entry. Click on it.
Some buttons will appear on the entry.
Click the "Install" button on the "MakerBLE mbed Board" entry.
Wait for the installation to finish.
Click the "Close" button on the "Boards Manager" dialog.
The "Boards Manager" dialog will close.
Select File > Quit from the Arduino IDE 1.8.19 menus.
All Arduino IDE windows will close.
Start Arduino IDE 2.3.4.
Select Tools > Board > MakerBLE mbed Board > MakerBLE - nRF52840 from the Arduino IDE menus.
You should now be all set to compile and upload sketches to your board.
I compiled a simple sketch for the "MakerBLE - nRF52840" board using Arduino IDE 2.3.4, so I'm not sure what sort of problem you encountered, but I don't think the platform is completely broken at least.
Arduino: 1.8.19 (Linux), Board: "MakerBLE - nRF52840"
Archiving built core (caching) in: /tmp/arduino_cache_72564/core/core_MakerPortal_mbed_xiaonRF52840_0d1568ad5af43e440bb801a7af55603d.a
exec: "adafruit-nrfutil": executable file not found in $PATH
Error compiling for board MakerBLE - nRF52840.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I am unsure how to load adafruit-nrfutil, but it was not installed automatically.
I see the problem now. It is Linux-specific so fortunately it won't affect @oldguyjn (who is using Windows).
From the platform's platform.txt file:
recipe.objcopy.zip.pattern="{tools.nrfutil.cmd}" dfu genpkg --dev-type 0x0052 --application "{build.path}/{build.project_name}.hex" "{build.path}/{build.project_name}.zip"
[...]
#
# NRFUTIL
#
#***************************************************
# adafruit-nrfutil for uploading
# https://github.com/ElectronicCats/Adafruit_nRF52_nrfutil/releases/
# pre-built binaries are provided for macos and windows and linux
#***************************************************
tools.nrfutil.cmd=adafruit-nrfutil
tools.nrfutil.cmd.windows={runtime.platform.path}/tools/adafruit-nrfutil/win32/adafruit-nrfutil.exe
tools.nrfutil.cmd.macosx={runtime.platform.path}/tools/adafruit-nrfutil/macos/adafruit-nrfutil
Notice that, even though the full path to the adafruit-nrfutil tool is provided in the Windows and macOS variants of the command template, it is not in the Linux variant. And, despite the "pre-built binaries are provided for macos and windows and linux" claim made in the comment, the platform actually only provides binaries for macOS and Windows.
I'm not sure which version of adafruit-nrfutil the platform was intended to be used with, but in case you actually want to get the platform working, you could download a build from the latest release page at the URL provided in the comment:
(the nrfutil-0.5.3-linux.tar.gz download link on that page)
Then just put that binary in any folder that is in your system PATH.