Hi, I'm trying to control 100 DC motors using a microcontroller (Arduino Mega) The motors run on 1.5V and have a operational current of 40mA. 1) Each motor must be able to rotate clockwise and counter clockwise 2) The motors must be able to move independently (though direction of the motors at any one time will be the same) eg. at time = 0; motor 1,20, 30, 45 will rotate CW at time = 10; motor 20, 35, 80 will rotate CCW 3) Using minimum amount of pins from the Arduino (Shift Register ?) How should i go about doing this ? I have tried using L293D H-Bridge, but in order to control 100 motors, i will need 50 H-Bridges and 200 digital output pins I'm thinking of a simpler circuitry (image attached) to control the motors. Digital output pins from the Arduino will contol the relay switches, and the DPDT relay will change the polarity of the the voltage supply. Will this work ? Are there any smaller alternatives to the mechanical relay (transistor ?) Can a transistor allow current flow in both directions ? I would really appreciate if you could provide some inputs and ideas as to how you would go about controlling a large amount of motors. Cheers!