Best USB Chip for Microcontrollers

In early 2012 I was trying to transfer data between my Micro controllers and PC as fast as Possible.I was thinking to build a device using a low power MCU that can perform like team viewer.The parts I had chosen were STM32F4 to run the application,NRF24L01 to handle the wireless part & USB to communicate with PC .Note that  USB is not a part no its a bus.

Mistake No 1

So first I thought I should try MCP2210 from Microchip.

Reasons behind Choosing MCP2210

its a full speed device .

Its quite cheaper .

you don’t need a MCU to send data to NRF.

Without reading the datasheet properly i moved forward with this chip.I Designed a eagle  Library for this chip then  a Circuit & PCB for it.mcp2210ckt mcp2210pcb

You can download the library and PCB files below.


However, until now I haven’t mentioned why its a mistake .It’s a mistake because MCP2210 is a HID device . even though it’s a full speed device it doesn’t support any other endpoint other than Interrupt Endpoint .In page no 62 ,Chapter 3 of  a book called USB complete you can find that  maximum data rate possible for this endpoint is  is 64Kbytes/Sec .  since NRF24L01 supports up to 2mbps i’e 250KBps,  MCP2210 would act as a bottleneck. 

In my next post I will tell why I switched to FT232 .That was not enough then I switched to STM32F103 & that was the best choice.





I do what I love. There is a famous quote "Love the process not the product " & I think this is what differentiates developers from consumers .