How to add new boards to boards manager?

Hi
I am trying to add extra boards to the boards manager. I have downloaded the latest 1.6.4 IDE and tried to add the AdaFruit URL. It didn't work! So I am wondering how to get this to work
-Isaac
EDIT I also tried to add GitHub links and DPACKAGE_INDEX_URL in arduino.l4j.ini. It still doesn't work!

With http://raw.githubusercontent.com/Isaac96/JSON/master/package_index.json in preferences, the IDE gives an error

 package_index.json file signature verification failed
java.lang.RuntimeException: cc.arduino.contributions.SignatureVerificationFailedException: package_index.json file signature verification failed
	at cc.arduino.contributions.packages.ui.ContributionManagerUI$3.run(ContributionManagerUI.java:155)
	at java.lang.Thread.run(Thread.java:745)
Caused by: cc.arduino.contributions.SignatureVerificationFailedException: package_index.json file signature verification failed
	at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:74)
	at processing.app.BaseNoGui.initPackages(BaseNoGui.java:600)
	at processing.app.Base$10.onIndexesUpdated(Base.java:1279)
	at cc.arduino.contributions.packages.ui.ContributionManagerUI$3.run(ContributionManagerUI.java:153)
	... 1 more

when I open Boards Manager. I am not using HTTPS, so it should work(it works with the Balanduino files)
Wait- my file is wrong! I will fix it. :blush:

I think not working this way… package_index.json is for standard arduino boards.

To add a custom board you need this sort of filename: package_anothername_index.json

And you can put whole link in File->Preferences->Additional Boards Manager URLs

I post an article on Instructables: http://www.instructables.com/id/ATmega-DIP40-in-Arduino-IDE-164/

You can read and download my packages … and use them as starting point…

Regards!

Ok, I renamed the JSON file to package_STM32_index and changed the link as well. Now I get this error:

java.lang.NullPointerException
java.lang.RuntimeException: java.lang.NullPointerException
	at cc.arduino.contributions.packages.ui.ContributionManagerUI$3.run(ContributionManagerUI.java:155)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at cc.arduino.contributions.packages.ContributionsIndexer.mergeContributions(ContributionsIndexer.java:102)
	at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:82)
	at processing.app.BaseNoGui.initPackages(BaseNoGui.java:600)
	at processing.app.Base$10.onIndexesUpdated(Base.java:1279)
	at cc.arduino.contributions.packages.ui.ContributionManagerUI$3.run(ContributionManagerUI.java:153)
	... 1 more
java.lang.NullPointerException
	at cc.arduino.contributions.packages.ContributionsIndexer.mergeContributions(ContributionsIndexer.java:102)
	at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:82)
	at processing.app.BaseNoGui.initPackages(BaseNoGui.java:600)
	at processing.app.Base.openInstallBoardDialog(Base.java:1294)
	at processing.app.Base.access$100(Base.java:75)
	at processing.app.Base$11.actionPerformed(Base.java:1314)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.Component.processMouseEvent(Component.java:6525)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6290)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4881)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
	at java.awt.Container.dispatchEventImpl(Container.java:2278)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4703)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

What is wrong?

Wait- I changed the link and now it gives me http://raw.githubusercontent.com/Isaac96/JSON/master/package_STM32_index.json file signature verification failed. File ignored.
when I open Boards Manager. Do I need a signature?

No need signature for json file. I noticed when you are in development stage for pakage files, you need to delete manually files already installed...(and update hash values in json file)

Sorry, I don't know JSON- I just used the file from rogerClark for STM32. Could you demonstrate how to do this?
Thanks!

If you want to change content of package files, you need to recalculate hash values(SHA-256) with some hash calculator/tool
I use this Hash Tool - Calculate File Hashes for windows.
But if you're going to search "hash calculator" or "hash tool" you will find many tools.

After that you need to update information in json file:

for example:

.............................................
      "platforms": [
        {
          "name": "AVR Boards",
          "architecture": "avr",
          "version": "1.0.0",
          "category": "Arduino",
          "url": "http://openhardware.ro/boards/avr-openhardware.ro-1.0.0.zip",
          "archiveFileName": "avr-openhardware.ro-1.0.0.zip",
          "checksum": "SHA-256:83260d2a8ca874b26ffaebef08a8d5c6260722f5ea0bb35efb1def5ed183b820",
          "size": "26390",
.............................................

you need to change string "83260d2a8ca874b26ffaebef08a8d5c6260722f5ea0bb35efb1def5ed183b820" with newer calculated value...

(I just realized that I have not updated size field for my json file :slight_smile: ... fortunately it worked without. I will make an update anyway)

For easy edit json file you can use http://www.jsoneditoronline.org/

And after you put new files in place, you need to delete old versions from your local installation. After that you enter in Boards Manager...

After everything is okay is no need for manual deleting files. You can install/delete packages from board manager...

So it worked for me. Have fun! :slight_smile:

Ok, thanks!