A while back I came across the PDIUSBD12 chip from Philips/NXP, and have been working on using it with the Arduino. I've had success implementing some basic HID devices (keyboard, mouse), as well as USB MIDI (my original goal) and Mass Storage. I want to produce either a shield or Arduino variant using this chip, but I'd like to get some feedback from the community.
Arduino variant
1) Programming I'm currently programming via ISP, but I think most users would prefer to be able to program through the Arduino IDE via USB. Implementing a USB serial interface with the PDIUSBD12 is not difficult, but I don't have the knowledge/resources to write drivers for Mac/Win/Linux. The PDI could be programmed to enumerate as an FT232R, but that's probably not legal, or at least not ideal. I haven't looked into modifying the IDE to support an alternate download method ... any suggestions?
2) Memory Since USB Mass Storage is likely to be one of the main uses of this board, and even the smallest FAT library is so large, the mega328 is as small as I would want to go. This is now supported by the IDE, so shouldn't be a problem.
3) I/O Pins I'm using 13 pins for the PDIUSBD12 (8-bit parallel data bus), which severely limits the available I/O pins for shields, etc. Right now, the two options I can think of are a) using a mega644, which isn't supported by the Arduino IDE at this time, or b) running the PDI off an i2c GPIO expander.
USB Shield
The alternative to attempting an Arduino-compatible board with full-featured USB is to make a USB shield board. This could have its own uC and interface to the Arduino board via i2c (or some other protocol). Other than MIDI ports and an SD card slot, what other USB peripherals would you be interested in having built-in?