HOWTO : Adding multiple OpenCR boards to the Arduino IDE

OS : Linux.


OpenCR can be managed by the Board Manager via thirdpary json.

However, developers sometimes want to work on various branches, including the develop branch, or on branches that they fork.
In this case, there is a way to add to the Arduino board list without using a json file.

This method is using the hardware folder in the sketchbook folder.

For example, if you want the develop branch, you can proceed as follows:

  • Use git to clone the desired branch(In this case, develop).
$ cd ~/Downloads
$ git clone --recursive https://github.com/ROBOTIS-GIT/OpenCR.git -b develop
  • Create an OpenCR folder inside the Arduino sketchbook/hardware folder.
$ mkdir YOUR/ARDUINO/SKETCHBOOK/HARDWARE/opencr_develop
  • Creates a symbolic link to the downloaded folder in the created folder.
$ cd YOUR/ARDUINO/SKETCHBOOK/HARDWARE/opencr_develop/
$ ln -s ~/Downloads/OpenCR/arduino/opencr_arduino/opencr/ ./opencr
  • If necessary, change the board name (to avoid confusion with other OpenCRs).
$ cd opencr
$ gedit boards.txt
CHANGE BOARD NAME TO THAT YOU WANT.
ex) OpenCR.name=OpenCR Board to OpenCR.name=OpenCR Board(develop)
SAVE YOUR CHANGES.

In this way, you can create various names in the sketchbook/hardware folder and modify the boards.txt so that you can use the OpenCR board without having to reinstall multiple source versions.

The description is based on linux, but you can do it in windows in a similar way.

1 Like

Thanks @OpusK,

As I mentioned in the thread:

You can also do this from Windows You use the command, mklink instead of ln, example on my machine I did:

mklink /D opencr D:\GitHub\OpenCR\arduino\opencr_arduino\opencr

As I noted in the other thread the name of the link (opencr) including it’s case is important as Arduino uses it.

Also side note: I have also done similar trick with OpenCM9.04. The process is almost identical (except for names), However in this case the Arduino will fail in the link phase. As it can not find the file:

...\opencm9.04\variants\OpenCM904/lib_f103.a

To resolve this, I used the command:

<full path to arm-non-eabi-ar> rcs lib_f103.a

Thanks again, your instructions make the process a lot clearer!

1 Like

Thanks @Kurt

I should have written in the same thread as your Topic!
Anyway, thank you for mentioning your link.

Thank you for leaving content about Windows :slight_smile:

Very interesting! Thank`s!

1 Like

Thanks for this guide @Kurt I was having trouble with the install from the board manager so tried this.
Now I’m getting a new error though, I’m having an error compiling.

‘exec: “/bin/arm-none-eabi-g++”: file does not exist
Error compiling for Board OpenCR Board’

Anyone have any ideas what I could be doing wrong. Seems like I am totally missing the correct compiler but I am not sure how to get it. Thanks!

Sorry it has been a long time since I looked at this. So I am pretty rusty at it!

When I was doing this, my systems already had ARM based Arduino boards installed, including the openCM, OpenCR, Teensy, … So this process did not need to install the ARM set of tools.

If it were me, I would use the board manager to install some ARM based board, like the opencm or OpenCR, or maybe some of the Arduino boards and see if it installs the correct tools for you.

Otherwise hopefully someone like @OpusK or @ROBOTIS-Will can give help.

I’m sorry for the late reply. The board manager installation method will provide the compiler.
You can also find the OpenCR GCC complier from the link below.
Please select proper one for your system and use the url to download it.

Please note that OpenCR currently does not support ARM based SBC such as Raspberry Pi or NVidia Jetson boards.