Controlling multiple outputs with a microcontroller

Hello, I am a software developer and have had no previous experience with hardware. I am excited to learn and would like your recommendations to help point me in the right direction for a project.

Main goal:
To independently turn on and off 30 Solarbotics VPM2 Vibrating Disk Motors via software from the computer over a usb connection.

My first preference would be to develop the software in C#. From reading the other posts it seems that I should be able to program in C# and pass some kind of serial requests to the microcontroller to interact with the hardware. Is this right?

Thank you very much for your help.
Tyler

Hi Coleman,

Thank you for your quick reply. I apologize for my ignorance in this area but I was looking at this article and I was wondering if I could use the Arduino Duemilanove USB Microcontroller to accomplish what he does in the article. Do you think this can be done?

Thank you again for your help.
Tyler

Thanks again Coleman. I will pursue the ideas that you have given me. Have a great day.

Tyler

Hi Tyler,

I gather you would like independant control of each motor? Each motor operates at 3V and 80mA. For computer control, you would need a low power motor controller. The ideal “custom” solution would be to create your own custom circuit with 15 dual H-bridges, a microcontroller and a serial interface. Ideally you would use an H-bridge with digital (instead of serial) interface. Consider the SN754410 Quad half H-Bridge which we can special order from Sparkfun. You can use a standard microcontrolller (with enough I/O pins) with USB interface. We do not have anything “off the shelf” that can work for this application.

In his application, he is using LEDs, which usually consume far less current than a DC motor (even though the one you selected is quite small, it still uses 80mA because it is rotating an offset mass). Arduino is open source and can certainly be programmed in C#, though there is less community support available. You would still need motor controllers.