There are a number of widely used methods to connect microcontroller projects to USB, all of which are not entirely satisfactory:
- The commonly used FTDI chips are somewhat expensive, and their manufacturer has made some unpopular decisions with their driver support (although technically, the FTDI drivers work quite well).
- Atmel also offers microcontrollers with built in USB, but those also tend to be a bit expensive.
- Software USB stacks use a considerable proportion of the microcontroller’s processing power, and as not always as reliable as hardware solutions.
