Thermal Printer driver

Well well. ESC POS command eh? Doesn’t seem that hard, does it?

I got my hands on a 3inch thermal printer from Fujitsu Siemens.

That would be the FTP-628DSL600 Series controller board and an FTP-638MCL101 Printer.

(http://www.fujitsu.com/downloads/MICRO/fcai/printers/ftp-628dsl600.pdf)

Apply Power:

Initially nothing worked. Took some time before I found out that you had to connect not only Rx and Tx for the serial communication but the three /INPRM, /ATF and /SLCTIN, wires according to a time diagramm to actually initialize the printer. In our case that would be /SLCTIN to GND and /INPRM and /ATF to 5V.

Make it work:

Up to now we have problems finding the right power supply unit. The Voltage starts to drop off when the print ratio is high (eg printing 3inch by 3inch pictures). What happens is that the heater wont be warm enough and the motor wont move fast enough resulting in bad print quality fist repetitive voids and grayish areas.
(gray printing would be cool though :-])

Setting the printer to speedMode 5  (less power consumption)  stabilizes the print quality. But the printing process on higher ratios is dam slow for a thermal printer.

Coding snippets:

println(Serial.list());
myPort = new Serial(this, Serial.list()[0], 19200,’N’,8,1);


//Initialize
myPort.write(0x1B); //ESC 
myPort.write(0x40); //@

//set speedMode
myPort.write(0x1B);
myPort.write(0x73);
myPort.write(0x64); //Mode5 

//TALK TO PRINTER

myPort.write(“Print that!”);

//line Feed
myPort.write(0xA);

Short URL for this post: http://tmblr.co/ZUMZkx3OyJk2