Xiaofan, a client has asked if a USB memory stick (which I think is what you're calling a thumb drive) can be added to a 4550 to log analogue readings and general data I've had a look through some of the links you provided, especially those that mentioned mass storage. I'm aware that the 4550 is not a host, as you point out in the quote below. Do you know if anyone has a work-around ? Perhaps a peripheral adapter ? A thumb drive would be most convenient for end users (write with PIC, read with PC) so I'll pretty much do what it takes if it's possible ================= http://forum.microchip.com/tm.aspx?m=304436 Description: Will the full speed usb PIC18Fxx5x device, talk to a usb thumb-drive? Resolution: The PIC18Fxx5x (such as the PIC18F4550) cannot be a usb host This means that you can build any device that is a slave device. This basically means that you can connect the PIC18F4550 to a PC, and program it to be a lave. However you can not connect a device to the PIC18F4550 that would need to connect to a PC. This means you could put code on the '4550 to read a memory card and provide the data to a PC, but you could not program the '4550 to read a thumb drive, as the thumb drive needs a host, such as a PC The reason the thumb drive doesn't work is that the typical usb thumb drive is a 'slave only' device just like the PIC18F4550. Thus the PIC18F4550 cannot talk directly to a thumb drive is a slave device can not talk to a slave device -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist