Roving robot.... arduino questions


I have a project in mind… (well Ive gone to the point of purchasing all of the equipment required) I am going to build a small roving robot, the plan being that the user will access a website located on a raspberry pi. This website will be the gui for controlling the robot. The robot is based on the Mega 2560 R3 and has an Adafruit Motor Shield (V2.3) and I want to also connect a CC3000 wifi breakout board… for connecting to the raspi’s website. I was going to connect the cc3000 to the mega and motor shield like shown in attached image. If Ive read some posts elsewhere correctly, there could be some potential conflicts with the motor shield… as they both use pin 10? Could anyone shed some light on this and possibly indicate how I could connect them all together without conflicts?

Second question… sorry…

I have a surplus of 3 cell lipos with a nominal voltage of 11.1V however, when they are fully charged they have a voltage of 12.6V and when depleted they can drop to 9V. My question is, can I use these to power the arduino as is (I believe the max supply voltage is supposed to be 12V?) or would I be better off stepping the voltage down to a safer value? My motors are 6V rated so I would have to step down for them anyway.

I would appreciate your thoughts and advice.



Isn’t this very similar to what you are building?

If so it goes in some details about pin declaration and should answer your first question.

Second question, you’ll be fine if only a little over 12V. I believe you can feed much more than that, up to 20V, though I would never go close to that… keeping an eye on how hot the regulator is getting initially is good advice though.


Thank you for your reply, however, I am not convinced that the person in that article is using an adafruit motor shield… hes certainly not using the 2.3 version that I am using anyway. On my motor shield, there are references to addressing the boards when stacking. Im not sure if I am supposed to do this with mine and there is no facility to address the CC3000 Breakout PCB. From what I can gather, I can use pin 10 of the arduino/motor shield for the CC3000 CS as that pin is normally used for driving servos (I can see a future problem coming). If I only need to use 1 servo then that is fine (I can use pin 9). I was thinking of adding an ultrasonic range finder at a future date as a make shift OAS - Obstacle Avoidance Sonar, however, if I need to use 2 servos then Im pretty much buggered :(


you are right, he is using best I can tell a dfrobot kit.

The point though is that the CC3000 uses SPI, so you’ll have to use the dedicated pins on the Mega or use software SPI. The later should be unnecessary since the former have no chance to be in use by the shield since they are located somewhere physically away from where shields sit.

I’d need to look into it more closely, but I can’t see how they’d be a pin conflict on a Mega (on a Uno I can totally imagine that being possible).


Ok, I will look on the mega board and see if there is a Dedicated spi port.


see here:

basically it’s on pin 50-53. as far as I can tell using 3 and 5 as you planned is not problematic, though there a lot of alternatives on the Mega if that caused problem with one of your planned additions.


Doh, after asking the almighty Google which pins were the spi pins I since found out that pins I was connecting to are the spi pins. My apologies, I’m still finding my feet with arduino. Could you possibly explain what the CS does?