BrickPi motor driver input modification

I think it is common to other people also, the brickPi tends to make the raspberryPi restart suddenly due to the motors running wildly.

I was frustrated with the restarts and wanted to use SN754410 with another micro controller. I looked at the firmware source codes for the arduinos in the brickPi and used the same technique on mbed micro controller to control speed and direction. It too started started restarting when the direction of the motor was changed. The weird thing is the test was done with no load on motor and multimeter didn’t even show high current through motor.

The problem is SN754410 doesn’t seem to like having both sides of the H-bridge in high state. To fix that I used PWM pins to control both sides of the h-bridge. To control direction I just put side to 0% pulse and controlled the pulse on the other side. This allowed the mbed micro controller to control the motor speed in both direction without crashing.

I implemented this technique of having PWM outputs controlling both sides of the H-bridge on the brickPi. I did this with one 7408 AND gates and one 7404 inverter. The circuit is shown for one motor.

My brickPi is ugly right now with patch wires coming from it and breadboard hanging on the side. I implemented this for two motor and raspberryPi hasn’t crashed so far. If I do this on the other side it would take 2 more chips and more wires.

I wanted to see what people thinks about the mod before I move it off the breadboard. It will help many frustrating users like me and maybe I will get a new brickPi if the modification is good.