I use a cheap thermal printer and a Raspberry Pi to develop a small Python library which is able to dither a photo to B&W and crop it to fit in the 256x256 px squares that the ESC/POS protocol is able to send. Low cost posters, slow printing and really nice result.
I'll publish the library on Github in some days, my code needs to be checked...
The photos featured in this post come from the project "Hey Baby" by Caroline Tompkins.
One of the many simultaneous exhibitions of SUMA Project ( http://sumagranada.tumblr.com ), 4/25/15, Granada, Spain.
Cool.