I am new to electrical engineering, and have several questions involving a project that i have begun. The project is that i am building a 'robot' that will hold a UMPC connected to the internet, and the 'robot' itself will be controlled USB through the UMPC. I am looking to spend as little money as possible to do this, and am looking for cheep solutions. I am looking for some micro-controller that will communicate via either serial or USB that will be able to vary the speeds of a 12v motor. I have speed controllers that take PWM and convert it to a varying 12v signal, but i need a cheep, easily interfacable controller that can produce a PWM signal. I have some programing knowledge, and can program in BASIC, .NET, C#, C++, and C. All help is greatly appreciated.