The requirement to connect devices is becoming mandatory. USB is one of the very popular and inexpensive communications protocol as it has taken over traditional serial standards. The demand for products to support USB devices like ThumbDrives, keyboards, printers, and memories or for products to communicate with a PC through USB has increased in recent years. This class covers USB and how it can be integrated into present and future products such that it can interface many of these devices. The difference between Host and Device will be stressed out as it is a common question coming back in many implementations. The class goes over the design implications and some solutions.