This circuit is a classic application of STMicroelectronics dual full-bridge driver L298. My friend Mauro Soligo did a great work optimizing it in a 30 x 40 mm PCB, exactly the room available between the encoders attached to the motors, as is shown in the picture to the right.
Full documentation and a deep description are available at www.tuttoelettronica.com internet shop.
On the board there is space enough also for the 5V regulator, the flyback fast recovery diodes, the current sensing resistors and all the connectors needed to bring in and out signals and power.
A kit with all the part needed (including double layered PCB) is available at www.mselettronica.com internet shop, also in new SMD version.