Haris Andrianakis writes:
One of my latest projects i just finished is a hardware thermal printer driver. This project designed/developed for “Delmac Instruments” as a part of my internship. Thermal printers are used in cash and weighting machines for receipt printing.
What the specific hardware does is to receive ASCII characters, escape sequences in UART and convert them in a printable form to send to printer mechanism for printing. Escape sequences are used to send commands to the printer to change character size, line spacing etc.
Thermal Printers don’t use ink as usual printers but they have a head of tiny resistors in a row (about 384) which behave on the paper as dots. Also they use a suitable paper which is thermal sensitive.
By supplying voltage to a single resistor, you heat the resistor and you make the paper burn at the specific point drawing a tiny single dot on the paper. If you supply voltage to a single resistor and you move the paper at the same time by stepping the head motor you will have a tiny width vertical row. This is the basic. (Resistors are refered as elements).
Thermal Printer Driver - [Link]