This document discusses issues to consider when adding USB capabilities to an embedded system design. USB is complex to implement properly at the hardware and software levels. Key factors to evaluate include available processor bandwidth, memory requirements, interrupt handling capabilities, and whether existing real-time operating systems include adequate USB stack software. Third-party USB controller vendors can provide hardware and drivers to simplify integration, but full support may require licensing additional software. Proper planning is needed to ensure a USB solution meets performance needs and is maintainable for future projects.