SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By zbalz
Hey everyone. I am a bit confused on whether or not I can actually add USB functionality to a PIC16F877 (a PIC without built in USB capability). I understand there are UART to USB converter ICs out there but I want to get to know the USB protocol so I am looking for a driver IC or a USB transceiver IC that I can interface with a PIC.

Do such items exist in DIP packaging? Am I just better off using a PIC with built-in USB functionalities? Like I said, I really would just like to learn to apply USB and understand the fundamentals..and also not have to change to a new PIC :).
I've successfully gone through the process you described just by moving to an 18F series pic (18F4550, specifically). If you're just interested in learning the USB protocol, I'd recommend doing the same thing; after all, introducing another variable will unnecessarily complicate the learning process. I'm finding that the USB protocol is involved enough to confuse me at times, and the 16F to 18F transfer was easy.

There's a couple sites popping up out there that gives examples of basic USB implementations that you can leverage in getting you up to speed. I've built Microchip's USB bootloader onto a breadboard and downloaded their sample program. So, while I haven't innovated, I've at least gone through the motions enough to start learning how to do it.

Recommended sites: