I'm beginning work on a project that will have a user-editable config file (.txt file) stored on a USB thumb drive or SD card, and pass parameters to be read by the arduino.
I'd REALLY prefer to use USB for this, but it seems like SD is more widely used in arduino projects that require this functionality. There are of course USB host boards and several SD and mini SD shields, but it just seems like the SD is more widely supported and easier to use in the arduino community.
any idea why that is? my desire to use USB is probably strong enough to cause me to "go down the harder road", but how much harder is USB storage than SD storage? Should I just bite the bullet and go with the SD method?
Why do you want to use USB so badly? It would eat up tons of compute cycles if you could get it to work, and thats a big IF without some extra hardware. Just use an SD card and a $5 usb->sd card reader for the computer.
any idea why that is? my desire to use USB is probably strong enough to cause me to "go down the harder road"
USB requires a protocol stack and a Host to communicate with the device (USB Drive.) Then on top of that, you need a filesystem to read/write files on the device. SPI only requires the SPI hardware built into the ATmega328 and a filesystem.
If you are so adamant about using the more difficult hardware, the Arduino may not be a good choice for your project.