Redirecting data between computer <-> arduino <-> printer


How you all? Hope well..

I've a project in mind: filter some printer commands to pc, and viceversa.
I want to use an arduino ADK for that job.
I am not sure if it's viable, I mean: I am not sure if it will work...

printer_cable printer_cable
The setup will be: pc<--------------->slave port[arduino ADK]host port<--------------->printer
Is that clear at the moment? Hope yes...
The software will be easy: read command from pc, filter, send or don't command to printer, read response from printer, filter, send or don't response to pc.
Asking in that post, I mean, I want to know if it will work. Also if its viable with an arduino ADK because it has an usb HOST but, it's for to use it for DEBUG I think... so, I haven't it clear.
If not possible, should it work with arduino mega 2560 and an usb 2.0 host shield? I guess this second choice is more normal and possible as I can imagine, but Arduino ADK is cheaper when buying more than 10 pieces, than when buying arduino mega 2560 + usb 2.0 host shield x >=10 pieces. Isn't it?

Thanks.. that's all I think.

I hope for a clearly answer.

Thanks, really thanks.

I think you may have a problem with the printer driver on the pc. The arduino would need to present itself using usb identification data that matched that of the printer.

Ehm... ok, that's true.
How this can be done? Reflashing the ATMEGA8U with the product_id and device_id numbers of the printer I think.
Can also it be done just changing the product_id and device_id numbers of the .inf file from the driver by the arduino's ones?

Thanks for the answer, dude!

More thingys... please.


I don't know whether that would work or not.

What are you trying to filter out? As rendering is largely done on the host these days, the stuff sent to the printer is pretty low level.

I'm trying to do basically the same thing, except I do not want to do anything with the package that your computer is sending to the printer, I just want the package to reach the arduino, and the arduino transfer the packet to the printer. Without changing anything or read.

That would be possible?

I've a project in mind: filter some printer commands to pc, and viceversa.

Do you have a particular printer in mind for this? Are you familiar with the details of the PC/printer protocol used by that type of printer driver? It seems to me that it would take a lot of research and development to get this setup to have any effect at all, and even more work to implement it in a way that enabled the printer to keep working afterwards. I guess you must have some specific goal in mind and perhaps you already know exactly what is involved and how to achieve it, but that's not obvious from the vague nature of your question.

In general, if I was trying to modify the appearance of a printed document I'd either try to do the manipulation within the application which submitted it for printing, or I'd produce a virtual printer which modified the image being printed and then handed it off to the underlying printer. By the time you have got down to the level of USB, the sort of manipulation available to you will be extremely limited such as disabling specific admin/status monitoring functions.

Hi there

I am looking to do a similar project. Did you have any success with this?


Hi there

I am looking to do a similar project. Did you have any success with this?


And I see you are providing the same amount of useful information.