NewBee... USB question

Hi All, I am very new to microcontrollers and arduino's products so please bare with me. Being that this has to do with USB and how it communicates with the host I am not sure this will work in the first place.

Situation:
Have computer with USB Epson printer. No admin access to Windows CPU.

Problem:
Need to take the USB cable from Window's CPU and have not only print to the Epson printer but also convert the same data and spit is out to Serial (com port).

I would like to know if this is possible and if so how?

Thanks! KG

Here are the products I thought might work with this situation.

ATMEGA8U2 Breakout
DEV-10277

USB to UART Bridge - FT232RL
COM-00650

USB to FIFO Bridge - FT245RL
COM-00787

Breakout Board for CP2102 USB to Serial
BOB-00198

Breakout Board for CP2103 USB to Serial w/ GPIOs
BOB-00199

so please bare with me.

You go right ahead. I'll keep my clothes on.

I would like to know if this is possible and if so how?

Possible? Yes. Easy? No.

The printer is a USB slave. The Arduino is a USB slave. Slaves can not talk to each other. Only a USB Host (or master) can talk to a slave. The Arduino can wear a USB Host shield, but you have to write the printer driver for the Arduino.

No admin access to Windows CPU.

There is none? Or, you don't have it?

but also convert the same data and spit is out to Serial (com port).

Convert it how? I doubt that you'll make much sense of the binary data sent to the printer.

Hi PaulS,

If the Windows computer default printer is set to print to a USB Espon printer... Could the Audrino board be connected to the USB to FIFO/capture the USB data and sent to it. Then pass the data to the actual USB Espon printer and out to the USB to serial converter shield or have it send the data out as generic text?
> No admin access to Windows CPU.
Sometimes our clients don't have access or won't give it to us. So the only way we could capture data would be from the data coming from the default usb printer.
**Again, thank you for your help. **

usbcrazy:
ould the Audrino board be connected to the USB to FIFO/capture the USB data and sent to it. [/Quote]
Maybe after several months of reverse engineering work, you could write a microprocessor to emulate the printer you have in mind. Since the USB connection on the Arduino is a serial port, you'll have to find another platform. Not to mention processing the data and converting to text is going to be tough with 2-8k of RAM.
This project sounds more like you're trying to intercept the data...

Hi James,

Correct if I can intercept the data from the computer then have it go to two places 1) USB Printer 2) Generic Com Port Printer. Is this possible?

This would be perfect.

Thank you, USB Newbi

KG

usbcrazy:
Correct if I can intercept the data from the computer then have it go to two places 1) USB Printer 2) Generic Com Port Printer. Is this possible?

I already answered your question:
"Maybe after several months of reverse engineering work, you could write a microprocessor to emulate the printer you have in mind."

Months might be optimistic depending on your experience with the USB protocol and the internals of the EPSON firmware.

Why don't you write a program for the arduino to send data to com port, then write an application for the computer to print the data with the printer?

usbcrazy:
Correct if I can intercept the data from the computer then have it go to two places 1) USB Printer 2) Generic Com Port Printer. Is this possible?

This would be perfect.

Why not just print twice, once to the USB/Epson and once to the Generic Com Port Printer?
If you're using Microsoft Office then you could write a VBA program to automate it.
It would be far easier than what you're proposing to do.

good info,Months might be optimistic depending on your experience with the USB protocol and the internals of the EPSON firmware.