The problem: During an ARES activation, passing Winlink messages for a local hospital, we have no way to print the relies for the hospital staff. We were not allowed to log on to the local LAN and use the hospital printers. We thought about bringing our own printer, but some of our stations were running on battery power or were mobile. Additionally, ink notoriously dries up in a few weeks without use which meant buying new ink (up to $30) for each drill.
The Solution: I bought a tiny portable thermal receipt printer on Amazon for around $40. It operated on 9 volts and includes a 1.5Ah Li-ion battery. It's supports Bluetooth, but so far I've only gotten it to work via the USB cable on Windows. It uses thermal printer rolls which are 58mm wide. It's certainly not large, but very readable. Best of all...no ink or ribbon. The only consumable is the paper and it has a long shelf-life as long as you keep it away from high heat or direct sunshine.
I charged the batter by connecting the power cable and installed the printer driver (POS 58) which came with the printer. I connected the USB and it found the printer. One issue was finding a paper definition in the printer setting that worked. I finally found "ZPrinter Paper (58mmx3276mm)" which worked well. I believe I had to install the printer driver for the ZPrinter to get this option.
I then exported my Winlink message to a text file and opened it in Notepad. I set the left and right margins to the minimum, the top to 1.0 and the bottom 0.0. Then I set the font to 9pt. Arial which seemed to be a good compromise between readability and size. The best thing is these settings carry over even after closing notepad. Then I simply printed the message and tore off the receipt. See the video for a look at the process.
UPDATE: With inflation, the price of most of these types of printers has gone up. I've foundone that is still around $45 (see affiliate link below).