Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| projects:thermal-printer [2025/10/25 17:28] โ ava | projects:thermal-printer [2026/02/02 17:48] (current) โ ava |
|---|
| # eposnow 80mm Thermal Printer | # eposnow 80mm Thermal Printer |
| |
| {{ :projects:thermy.jpeg?direct&400|}} | This is a general purpose thermal printer. A web interface is available from the hackerspace network at: [http://paperjam](http://paperjam). |
| |
| This is a general purpose thermal printer with no specific project in mind yet. | You can communicate with it via USB, using [ESC/POS](https://download4.epson.biz/sec_pubs/pos/reference_en/escpos/index.html). There's a good guide for setting it up [here](https://mike42.me/blog/2015-03-getting-a-usb-receipt-printer-working-on-linux) and a handy cheatsheet [here](https://www.datona.cz/sites/default/files/support/TM-T20II_escape_sekvence.pdf). |
| |
| You can communicate with it via USB, using [ESC/POS](https://download4.epson.biz/sec_pubs/pos/reference_en/escpos/index.html). There's a good guide for setting it up [here](https://mike42.me/blog/2015-03-getting-a-usb-receipt-printer-working-on-linux). | {{ :projects:thermy.jpeg?direct&400|}} |
| |
| ## Printing images | ## Printing images |
| |
| You can use [png2pos](https://github.com/mikersee/png2pos) (currently installed on the lab computer) to print images. The output can be directly piped to `/dev/usb/lp0`. | You can use [png2pos](https://github.com/mikersee/png2pos) (currently installed on the lab computer) to print images. The output can be directly piped to `/dev/usb/lp0`. |
| | |
| | ## TODO: UTF-8 support |
| | |
| | By default ESC/POS only supports the limited number of characters from [PC437](https://en.wikipedia.org/wiki/Code_page_437). Someone who would like to print non-PC437 (latin++) characters will need to switch the character set each time it is needed using [ESC t](https://download4.epson.biz/sec_pubs/pos/reference_en/escpos/esc_lt.html) (aka. `\x1B\x74`). |
| | |
| | Python libraries such as [python-escpos](https://github.com/python-escpos/python-escpos) or [py-xml-escpos](https://github.com/fvdsn/py-xml-escpos) could help do the conversion easily โ if at all possible as some unicode characters might be outside the capabilities of ESC/POS, in which case, creating an image instead could be a solution. |
| | |
| | One added difficulty is that the exact ESC/POS capabilities of our printer is unknown (kit-ty-kate: to my knowledge, no official datasheet for this machine exists), so the exact number of character set that it support will have to be detected manually by trial an error. |