OMG! I am confused with my MOTOR SHIELD!

[I am a Noob]

I have bought a dual l293d motor shield, i got my motors, battery and arduino Leonardo connected (I think the program is correct too). However, it doesn’t work…

Someone said the motor shield is not compatible with Leonardo, is it right?


That looks like an Adafruit motor shield. Is that correct? If so then you are correct, the Adafruit library uses some registers that are not available on the Leonardo. That's not to say the shield isn't compatible, and it might be usable without the library.

As an aside, IC2 doesn't look to be seated very well.

Thank you for your reply :) So I should wait for the library update or pull out the l293d ic from the board and build a "leonardo-compatible" motor shield? :roll_eyes:

So I should wait for the library update or …?

You could try waiting, but Adafruit have said:

There is no ETA or guarantee we will be able to adapt the Motor Shield to leonardo


Is there any method to control DC Motor from Leonardo since the motor shield doesn't work currently?

dxw00d: As an aside, IC2 doesn't look to be seated very well.

Actually - none of the ICs look to be seated fully; in fact the pins look kinda "bent" near the body of the chips...

seeseesky, did the board come assembled that way, or did you have to insert the chips yourself? Because if you have to do it yourself, I am not sure you have them in properly (brand new DIP ICs are very difficult to insert into DIP sockets; you have to -very- slightly bend the legs inward on each side by equal amounts so that they will fit when pressed in with enough force - even doing that is a very delicate operation; breaking off or bending legs too much can be an issue).

As far as your last question is concerned (and once you have those chips seated properly) - you would need to consult the schematics of both the Arduino and the motor shield, find out what pins are being used, etc - and then consult the library source code and find out what needs to be changed to use those pins. Likely, the library is doing some kind of direct-port manipulation (why, I am not sure) or something that is only compatible with certain Arduinos. Instead, you may need to rewrite those pieces or write your own library to control the shield.

But think about this: If you are successful, and you release the library back to the community, you will have the undying thanks of many of your fellow Arduino Leonardo users everywhere (you will also get to handle bug reports too, so keep that in mind!)...