Providing a document via USB.

Hoping someone can point me in the right direction:

I would like to store a document (pdf) in my project and have it presented or available to the user when the device is plugged into USB. The USB will also be used to charge the battery on the device. The device does not need to store any information from the end user. It only needs to present a read only copy of the document.

Any pointers to a project that does something similar would be appreciated.

Adding to my question above...

Would it be possible to store the document on the EEPROM and make it available via the USB?

Would it be possible to store the document on the EEPROM and make it available via the USB?

A PDF requires a reader on the client PC, so "something" running on the PC would need to make a request over USB/serial to the Arduino to transfer the file from EEPROM or flash SD card. The client PC software would need to buffer the download and hand the file handle over to the PC PDF reader. This is in the realm of possibility but is a rather advanced concept. You may be able to use something like this to glue some pieces together:
http://playground.arduino.cc/Interfacing/GoBetwino

A more realistic transfer implementation is:

Frank Zhao Creates "Flat" USB Business Card - SlashGear

With external SDcard or large EEPROM, the amount of data can be large. Of course, USB 1.1 is not fast, a better protocol (using a 32U4 based Arduino) would be a better approach.

Ray

Thanks for the reply. I think Frank Zhao's USB Business Card is a step in the right direction.

To clarify my thoughts, the document does not actually have to open on the machine. It only has to be available. The user could choose to copy the document to the computer or not. I am thinking it would function like a read only USB drive but with the added capability of charging the device.

Look at the YUN or the Pi.

Mark

Thank you for the reply.

My project is based on Arduino and will eventually be stripped down to the bare minimum (an ATTiny of some sort most likely) on a PCB so a full Arduino is not optimal. Switching to Pi is not an option.

http://www.cactus-tech.com/download/CTAN009-SD-INTRO-20080603.pdf

To clarify my thoughts, the document does not actually have to open on the machine. It only has to be available. The user could choose to copy the document to the computer or not. I am thinking it would function like a read only USB drive but with the added capability of charging the device.

The concern I see is that a PC opens a SD card using the "SD interface" but the Arduino uses the SD card in SPI mode. With some cleaver wiring, you likely could perform whatever Arduino-ish stuff you wish to do, then switch the SD card onto the USB bus where the host PC can perform a traditional mount of the card as a logical drive.

I am having trouble understanding the role of the Arduino. What you are generally discussing is just an adapter between the SD card and host USB.
http://www.walmart.com/ip/Sunpak-SD-CR-BU-Secure-Digital-Card-Reader-Blue/21499848

Ray

I suspect all you need is a USB memory stuck with an autorun configuration stored on it.

I suspect all you need is a USB memory stuck with an autorun configuration stored on it.

That will for for Windoze but, I'm told, not for Macs. For Macs the PDF file would be accessible.
Here is how to make a USB thumbdrive autorun: Knowledgebase | How To Create An AutoRun File - Premium USB
And here is how to write-protect the thumb drive Write Protect and Disable USB Drive « My Digital Life