BTN7970 Motor Driver


I would like to build a dual motor driver based off of the BTN7970. I looked at the data sheet, and it gives a schematic on how to make a dual motor driver, however, I hardly understand it. Does anybody know what parts I need (besides 2 BTN7970's) to make an Arduino compatible motor driver? Also, any good books that would teach me how to read a schematic?


In view of your lack of knowledge, and because you have to be careful with layout when building high-current motor drivers, it might be better for you to buy ready-made motor driver boards based on that chip. I found a few on ebay, such as

I found some good pre-built ones two. But I figured the best way for me to learn was by experience. To be honest I would rather have to re-buy parts because I failed at a design then to buy a motor driver that is working and gain no experience. Do you know of any resources that show you how to read a schematic? I don't mind buying a few books if you know of any that would help! I really would like to build this project my self so any info would be awesome :slight_smile:


I'm muddling my way through the data sheet, and I have a question will one BTN7970 per motor be able to control the direction? Or do I need two for each motor?


That chip is a half bridge, so you need 2 for each motor.

I got the parts in I need but the Pin spacing on the chip is much smaller then what would fit into a breadboard… something I did not expect! Does anybody know how to overcome this? I have wanted to make a PCB board through one of those online places for a long time, but for this project it would take to long for me to learn how to make a PCB design on eagle. Do they sell standard breakout boards? Any Ideas would be awesome!


Well, you did say you wanted to learn! I don't know of any breakout boards for that chip, also good layout and short wiring is important for high-current switching ICs. So you can either download Eagle and design your own pcb, or buy a ready made BTN7970-based module via eBay, Or perhaps both - start with the eBay module, and later on design your own pcb, perhaps with the microcontroller integrated so you don't need an Arduino.

Well as it appears that their is no easy way I will take your suggestion, and buy one from eBay while working on my own PCB design.

Thanks for the help!

I started working on the design but I have looked all over and can't find a library that has a BTN7970 driver in it. I also could not find anything that has the same pinout (TO263). Any ideas?


It should be straightforward to drive a bridge made from two BTS7970s from an Arduino. Connect the IN pin of each BTS7970 to an Arduino output pin with PWM capability (two separate pins) and a 10K resistor to ground. Connect the two INH pins to Vcc if you want the bridge to be active all the time; alternatively, connect it to a digital output pin (one pin can drive both INH inputs) and a 10K resistor to ground.

To drive the motor in one direction, digitalWrite LOW to the first IN pin, analogWrite to the second IN pin, and set the INH pin high. To brake the motor, digitalWrite LOW to both pins. To run the motor in the other direction, write LOW to the second IN pin and PWM the first. To let the motor coast, write LOW to the INH pins.

Optionally, connect a current sense resistor between each IS pin and ground, and feed it to an Arduino analog input via an R-C filter.

Thank you for the info, but I have gotten through the data sheet and I understand how to hook it up. I'm trying to make a PCB on eagle but according to the youtube videos i'm watching I should make the schematic on eagle first. The problem is I can't find anything to represent the BTS7970. Should I start with the PCB instead?

Thank you so much for helping me! Your info has always been very accurate and I would trust your opinion over the youtube videos…

OK, I thought you meant an Arduino library, but you meant an Eagle library. If it's the pad outline for the SMD version you want, try searching for "to263-7 eagle library".

I have been looking all day but I'm unable to find a library that has the driver or the TO263-7 package . Is there any way to make the schematic/PCB without it?


You didn't try hard enough then - I just found one at

Thank you so much! I have stared working on my design.

How does this schematic look… it’s my first one!

You appear to have the wrong pin numbers in your schematic. According to the datasheet:

1 GND - Ground
2 IN I Input Defines whether high- or lowside switch is activated
3 INH I Inhibit When set to low device goes in sleep mode
4,8 OUT O Power output of the bridge
5 SR I Slew RateThe slew rate of the power switches can be adjusted by connecting a resistor between SR and GND
6 IS O Current Sense and Diagnostics
7 VS - Supply

The pins on eagle don’t match the pins of the motor driver since it was a different component. I just ignored the pin names, and went by the shape of the component. Sorry for not explaining that. I have attached the diagram provided by Infineon Technologies.

I wasn't looking at the pin names (which I realized were for a different component), I was looking at the pin numbers on your schematic and comparing them with the pin numbers from the datasheet.

After correcting the pin numbers, I recommend you add a pulldown resistor from the Arduino pin 4 input (which is the pin that I assume you intend to use to drive both INH pins) and ground. This is to ensure that the bridges don't activate their outputs before the Arduino has initialized that pin to be an output.

I believe that I fixed all the problems you mentioned. Thank you so much… this would be impossible without your help!

Screen Shot 2013-08-04 at 11.11.27 AM.png