The EZ-USB FX1™ USB Microcontroller is a full-speed USB peripheral controller that integrates a USB transceiver, Serial Interface Engine (SIE), and enhanced 8051 microprocessor. It is upgradable to the FX2LP (CY7C68013A) with pin compatibility, object code compatibility, and functional compatibility. The FX1 is suitable for bus powered applications and draws no more than 65 mA in any mode. Its software can run from internal RAM, which can be downloaded via USB, loaded from EEPROM, or an external memory device. The FX1 has 16 KBytes of on-chip code/data RAM and multiple programmable endpoints with buffering options. It also features an 8-bit or 16-bit external data interface, Smart Media standard ECC generation, GPIF, and an integrated enhanced 8051 microprocessor.