SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By MichaelK83
Hi, I've made some Eagle files for a modified version of the Ardumoto motor driver shield. The files are attached. This modified design is NOT TESTED, so USE AT YOUR OWN RISK!

The design is based on version 13 of the board. The original Eagle files are here. The modified files are attached to this post. I've made the following modifications:
1. I've broken out the digital pins 2-13 onto separate headers, so that it would be easy to re-assign the input pins as needed. Just use some jumper wires or whatever other method.
2. The L298 inputs are routed to the default pins on those separate headers, so that you'll only need a few small solder bridges to activate the default pin assignment. I'm not sure how easy it would be to make these solder bridges, maybe the pads need to be reshaped a bit. But it should be doable fairly easily, I think (like I said, not tested :lol: ).
3. I've broken out the current sense pins onto an extra header behind the L298. You can use jumpers (or solder bridges) to short them to ground if you don't need them, or just leave them as is.
4. As suggested here I've renamed the motor voltage supply to Vs, and added a jumper between Vs and Vin. This makes it easy to separate the Arduino Vin pin from the motor voltage supply, which could be higher than the recommended Vin range.
5. I've shorted the L298's NC pins to the ground plane. This hopefully helps a bit with the heat dissipation...
6. I've marked the board as "v14-MK".

I've also had a few more ideas that I haven't implemented in the attached files:
1. Rotate the L298 chip by 180 degrees. This should make the sense pin connections easier to route, and maybe some of the other connections as well (or maybe not).. But this would flip the A and B sides, and maybe require some rearrangement of the NOT gates and small capacitors, so I'm not sure if it's worth the trouble...
2. Maybe break out the analog pins similar to what I did with the digital ones. This will allow one to easily route the current sense signals back to the Arduino controller (with the appropriate resistors in place).
3. Add a reset button. There is a nice spot for it at the bottom of the board, between the SparkFun logo and the diodes. I'm not sure how comfortable it would be to use it there, but you could probably use a pencil or something if your finger is too large.. Plus, how often would it actually be used?
4. Maybe add a couple of pull-down resistors on the PWM lines? This will keep the motors safely off unless instructed otherwise.

I'd love to hear your thoughts and feedback!
You do not have the required permissions to view the files attached to this post.
By MichaelK83
I've added the other changes I wrote about in my previous post (#2-4): a break-out header for the analog pins, a reset button, and pull-down resistors on the PWM inputs. I had to move the analog break-out header away from the analog pins to avoid the keep out region of the bottom right screw hole. And I've aligned all the new headers with the 0.1" grid so that they could be connected to another shield if needed. The new files are attached.
Hopefully some or all of these changes will make it to the next official revision..
You do not have the required permissions to view the files attached to this post.
Just looked at the artwork for the pcb design. Looks good to me. I recently completed a rotor control project and used the v13 pcb. Had to do some cuts and jumpers to utilize SPI and to isolate 18 VDC motor voltage from Vin. Would have been much cleaner had the v14 pcb been available. Hope they incorporate v14 next time they make boards.

Thank you for your effort