Multiple libraries in Arduino IDE

I am trying to compile the drive motors example on the Arduino UNO and am getting the following error message, "Multiple libraries were found for “SpheroRVR.h” Any help would be greatly appreciated.

1 Like

Hey @drhalftone!

That sounds frustrating… Is this error also preventing you from taking any action, or is it just displaying the message and still allowing you to continue on?

Looking forward to getting to the bottom of this with you!

Kelsey

1 Like

I just compiled this example with no errors. Make sure you do not have two copies of the Sphero Library in you Arduino Libraries folder.

2 Likes

It looks like I wasn’t compiling for the uno but am now and it’s compiling without errors. That being said, is there a version of this library that works on arduino compatible boards like the teensy?

2 Likes

Hey @drhalftone!

We haven’t played with the teensy around here yet… At this point, we are supporting the UNO and MEGA, but the more interest we get in RVR and the examples connecting it with different development boards, the easier it will be for us to convince the business that its worth doing more of (so tell all your friends!!).

In the meantime, while we can’t guarantee that a board not on the list of those we support will work with RVR, you should be able to use the serial port and send raw API commands to any board that RVR is capable of powering (or you can use an external battery :slight_smile: ).

Happy tinkering!

Kelsey

1 Like

The link above appears to be broken.

1 Like

As I like to tell my students, I could write printf in assembly on my x86 PC or I could use an already existing ANSI library. Chances are, I’m going to use existing code. That being said, you could release the actual C++ code that you used to create the UNO
library so that we can modify and compile it for our Arduino compatible boards. As it stands write, the RVR is not Arduino compatible but UNO and MEGA compatible.

1 Like

@ogiewon Thanks for catching that! Fixed now :slight_smile:

@drhalftone You are so right that it is wise not to reinvent the wheel! Unfortunately, to create the C++ SDK, we had to use commands from our core internal libraries (and, therefore, can’t release the actual C++ code because y’all are so smart and could reverse-engineer Sphero in its entirety :stuck_out_tongue_winking_eye: ). With that said, one of our other community members, @rmerriam, has been working on building out a more generic C++ library; you can find details on that and his associated wiki on this post.

Thanks for getting so involved; we are really looking forward to seeing all that you and your students accomplish!

Kelsey

I guess my feeling is that I could have purchased a Rover 5 Tank Chassis with DFRduino Mega Kit For 4 motor Robot for half the price I paid for the RVR and would have had the same level of support and functionality. And I just thought for the extra money,
it would save me time by avoiding the low level programming chores.

1 Like

Hey @drhalftone!

I completely understand why that would be frustrating for you and I am so sorry you’re feeling that way. The value is all in whether the tool is useful to you; RVR shines in that it is packed with sensors, can take on all sorts of terrains and is flexible enough to work, in some form or another, with a wide variety of add-ons and boards AND with coding languages down from block coding all the way up through SDKs in popular development languages to working with our API. We started out building easier connections (SDKs) for the boards that are most popular amongst our users and are continuing to innovate based on all the information we get from users who are excited to learn and grow and who are sharing all the ways in which they would like to grow with us.

Regardless, it is frustrating when our expectations are different from reality and I am sorry you are feeling that way. As I mentioned, we are constantly iterating and our iterations and the projects we produce are all fueled by what our users want. I didn’t say that the board you already have doesn’t work, I just said that it wasn’t one we had yet tried; we would love if you’d like to try and share what you find with the Community :slight_smile: You also asked for the C++ code that is behind the scenes of our SDK and I told you that, while I couldn’t give you our C++ code, one of our other awesome community members had much of a C++ codeset figured out that would fill a very similar purpose for you.

I would absolutely love to hear any ways in which we can continue to grow alongside you and to share in all the fun things you accomplish!

Most Kindly,
Kelsey

It’s been years since I used Rover 5 (we won a robotics competition using one in 2012). IIRC it was much slower, I had to work in our own Gyro because the encoders weren’t enough for dead reckoning, and the payload was lower as well.

2 Likes