VNH5019 driver compatible / stackable with Arduino DUE?

Hello everyone,

Could you tell me if someone has manage to stack-over the VNH5019 on the Arduino DUE board? Arduino DUE is 3.3V board, like Arduino Pro for example, and I’m a afraid to put them one in other not to burn something (especially the DUE :), was hard to get one). I understand that logic levels are taken from the board and it supports both 3.3V and 5V logic, but technically I can do this merging safely? I need space in my robot and separately the two boards consume too much of it. I need stacking. I know that this is possible on Mega2560, but I need Cortex :slight_smile:

Thank you!

I need your answer to buy this driver!



The 3.3 V logic voltage should not be a problem, but I am not sure how well our libraries will work. We will try it out tomorrow and let you know the results.

- Ben

Thank you!

I’m new to this forum like user, but I know your posts for a year at least. I must say that I appreciate your involving and how you always solve problems! It is a big step to implement all common shields on arm cortex architecture and it is time for multitasking :slight_smile:


I tested the VNH5019 shield on the Arduino Due using our library and demo program and it worked as expected. However, please note that the voltage on the current sense pins will exceed 3.3V when the current draw exceeds ~23A.


Thanks Pololu, Derrill, Ben,

You have/are great engineers. What is the best way to avoid >23A? Constant monitoring A0 and A1 and put a maximum level when I disconnect the power on engines? Or a hackable way to do it (voltage divider, logic level converter)? In this case it is not stackable and is better to buy not the shield but the simple board driver (you damaged your DUE at 23 amps)? In few words what is the best strategy when you have a six wheeled robot with ~6A stall current per motor (6x6=36) and you fall in love with this shield ? Should I put a passive cooler on those chips in normal/outdoor usage (6x6=36)? :slight_smile:

You might be okay as is; I suspect it is unlikely that all six of your motors will be stalled at the same time. The main thing to watch out for is rapid acceleration and direction changes can cause current spikes that exceed the stall current. One way to avoid this is to build acceleration limiting into your code (i.e. ramp the speed up over a short period of time rather than starting at full speed from a stop). Also, the current sense outputs each have a 10k series resistor, which would probably protect the Arduino if the voltage does go above 3.3V, but this is not something I would be willing to guarantee.

Alternatively, if you want to play it safe, you can cut the traces that connect the motor driver’s current sense outputs to the Arduino. The procedure for disconnecting pins is covered in the shield’s user’s guide; the ones you want to disconnect are labeled A0 and A1. If you still want to monitor the motor current, you can reconnect the driver’s current sense outputs to your Arduino through voltage dividers.

I don’t expect you’ll need a heat sink for your drivers.

- Ben

Thank you Ben!

Do you expect to have a new version of this shield compatible with Arduino DUE and other 3.3V boards?

Probably not. I suspect that the 10k resistor in series with the current sense output will protect the Due should the voltage try to exceed 3.3 V, and the motor driver cannot deliver such high currents for long, anyway.

By the way, I thought of one other potential solution: you could use a 3.3V zener diode to clamp the current sense output voltage to a maximum of ~3.3V. With this approach, you would not have to physically modify the shield at all; you would just connect the Zener diode between A0/A1 and GND.

Also, I should point out that I have not actually looked into whether the Due has 5V-tolerant analog pins. I have been operating under the assumption that it does not, but if it does, it would make this discussion moot.

- Ben


Zener solution is FANTASTIC! I never thinked of that, even if it is very simple indeed, and perfectly reproducible to other situations! Is perfect to not alter such a nice shield. Yes, pins are tolerant, but, do not count on hazard. Some people burned their DUEs because of 5V outputs of other shields/components. You’ve done such a great job to test this shield, considering that no one on the Internet has exposed his research in this subject.

Mystery was elucidated,

One more time thanks Pololu!