The next important part you'll need is a motor controller. Much like the motors, there are a number of trade-offs and considerations before buying one.
Choosing a motor controller
Integration level
Motor controllers can be as simple as motor power control driven from GPIO pins directly, such as the L298. This is the cheapest solution: a generic L298N motor controller can be connected to some of the IO pins on the Raspberry Pi. These are reasonably robust and have been easily available for a long time. They are flexible, but using parts like this will take up more space and need to be wired point to point, adding complexity to the build:
![](https://static.packt-cdn.com/products/9781789340747/graphics/assets/1481ae98-6af9-46d7-a8a6-ba28583b8729.png)
A selection of motor control boards: The L298, PiZMoto, PiConZero, and Full Function...