Printer Emulator

I am trying to create a printer emulator with my Arduino UNO. The issue with one of the systems is that it crashes without a printer. Having a printer is not efficient because it take s up so much space and we really want a digital copy of the files. I tried to attach an USB but that did not solve the problem. Since we can't make any changes to the system, I need a device to behave as an USB printer and save digital files so that it can be retrieved when connected to a PC. I don’t really know where to start, so it will be great if I can get pointers :slight_smile:

You keep saying “the system”. But you never tell quite what that is. That might be pretty important info.

Does you system expect a specific model printer? Does the printer use a USB interface, or some other type?

Sorry about the lack of information. The system is a cardiac simulator. Right now we are using a Lexmark MS310d Printer, and we haven't gotten the chance to run any other printers with it. It uses a USB interface.

My guess is that the interface between a PC and any modern printer would be much too complicated to be emulated by an Arduino.

we really want a digital copy of the files.

And if that means that you want this "emulator" to collect a copy of the data that otherwise goes to the printer then I am certain that an Arduino would not be suitable.

The operating system on my Linux PC allows me to route stuff to a PDF file rather than to a real printer.

...R

It might be possible to do this with an Arduino. Might be...

OP- Is there any other I/O port on the device, like an RS232 port that could be used?
Have you tried using a terminal program on the Arduino?

This one might be a starting point for you.

One option is LUFA But this not for Uno and is not for Arduino IDE. You must be comfortable with command line mode, makefiles, etc. Not for beginners. It works on boards with 32u4 (among other choices) such as Leonardo, Micro, and Pro Micro. But emulating a USB printer is only part of the task. The other task is converting the printer command language (PCL) into something readable.

Another option is a commercial hardware USB virtual printer. Also handles converting PCL to PDF, etc.