I thought of making my own motor controller (found some different tutorials after some time with google - like this one http://freecircuitdiagram.com/2009/02/01/pwm-motor-control-circuit/
) but in the end I just bought a dual motor driver from Pololu. I am very happy with it and it is simple to interface with. It controls two 5amp motors. Note the difference of a motor driver and a motor controller! Drivers are more basic but achieve the same reuslts. But for 30amp motor you should use a high-power driver which can control only one motor. Pololu has some 25amp (continuous) models but you pay about 50 dollars for it... a driver for a 10amp motor is a bit less but still 40 I think. They all can control speed and direction and you can add a heatsink if you want to reach more amps in continuous operation.