Inspired by Tom Taylor’s microprinter project, I’ve bought a Citizen CBM-231 thermal reciept printer of my own. I picked it up for just £20 on eBay, including shipping. It’s great.

Tom uses his to print the weather, his diary, where his friends are (according to Dopplr) and more. As soon as I saw it, I wanted one of my own to hack with. Reciepts, printed on cheap and recyclable thermal paper, are perfect for directions, schedules, TODO lists and other impermanent bits and pieces you might want to carry while you’re offline. I also like the idea of it politely telling me what I’m up to as part of my morning waking-up ritual. I have a feeling that the soft sound printing and the ‘clunk’ of the auto-cutting blade will be a nice start to the day.

Citizen CBM-231 Citizen CBM-231 Arduino Hacked cable MAX3221 Barcodes!

(More photos)

A few hours of soldering and programming later, and I’m quite a happy hacker. I’ve put an Arduino sketch on github which shows how to easily print text and barcodes to the printer from an Arduino. It’s just a sketch at the moment, but I’ll turn it into a reusable library soon.  With a few utility methods and constants, a “hello world” with two barcodes ends up looking as simple as this…

println("Hello, World!");

I think it can print bitmaps too. With a bit of work it should be able to print sparklines and QR Codes.

I know Tom has inspired a lot of people, and there are quite a few of these Citizen CBM-231 printers being repurposed at the moment. If you’re interested in building your own microprinter, you’ll hopefully find the wiki at microprinter.pbwiki.com useful.

Update: more microprinting fun including a book and sparklines.


RSS feed for comments on this post.

  1. […] Roo Reynolds – Microprinter Roo writes up his first experiments with his microprinter. The barcode stuff is particularly interesting. (tags: hardware electronics arduino printing microprinter barcodes ) […]

    Pingback by Infovore » links for February 1st — February 2, 2009 #

  2. It is certainly useful to be able to carry impermanent information with you but I prefer a high-tech solution! I find the information that I want on my iPod touch when in a wi-fi zone and take screen shots that get saved in the photos library. I can then view these when offline. It works well, particularly for maps.

    Comment by Matthew — February 2, 2009 #

  3. It’s nice to have information that requires no boot up time, that has no worries about battery life, that takes next to no room, that has a high contrast, sunlight readable surface.

    Comment by kyb — February 2, 2009 #

  4. nice idea, though I’m still thinking about THE killer app for it …
    Btw. what’s the total cost of ownership? How much is a paperroll? How often do you have to replace other things?

    I’m currently thinking about printing QR codes and vouchers, fancy advertising … along these lines …

    Comment by woodly — February 2, 2009 #

  5. Because the print head is thermal, there are no other consumables. Thermal till rolls are less than £1 each in bulk, and each one will last for a long time.

    Comment by Roo — February 2, 2009 #

  6. Another advantage is that it’s one less hassle in the event that you want to start up a shop.

    Comment by Arthur — February 3, 2009 #

  7. Roo, what a fantastic idea! These little printers are absolutely great, and what a cool hack. Nice! :)

    Comment by Richard — February 3, 2009 #

  8. Nice idea – something very appealing about a tiny Twitter-sized printer giving you your shopping list or whatever in the morning

    Comment by Emma — February 3, 2009 #

  9. For those of us not quite so adept, would something like this suffice…. similar price too…


    Comment by Kevin Aires — February 12, 2009 #

  10. I just connected my BPM205 printer (by unknown-to-me Italian company APS) to my Arduino board via a MAX232 chip. Works well with your “Hello world” sketch. I posted a link to the data sheet in the wiki. So far all non ASCII characters are printed out wrong, obviously the Arduino IDE is sending bytes > 0x79 in 2-byte Unicode, so there should be a conversion function somewhere.

    I’ll see what I can come up with. Is there talk about that somewhere else from the wiki and this comments?

    Comment by Philip — February 15, 2009 #

  11. Interesting. The wiki is probably the best place to document your findings (and I see you’ve already started to do so).

    Comment by Roo — February 15, 2009 #

  12. […] bought a MAX232 chip and 4 caps (1 µF) and soldered a serial adapter cable. I found Roo’s sketch at github and was able to get my “Hello world!” right away. Barcode […]

    Pingback by robot porn » First Microprinter test — February 15, 2009 #

  13. […] been experimenting a bit more with the thermal receipt printer I bought recently, and I’m pleased to see the ‘microprinter’ craze taking […]

    Pingback by Roo Reynolds - More Microprinting — February 28, 2009 #

  14. Hello i just recovered a CBM printer . Assuming it works in serial mode what is the speed (4800 , 9600,….)

    Comment by oscar — May 11, 2009 #

  15. According to the manual (see the link from the microprinter wiki) it’s user-selectable in hardware. The default, which worked for me, was 9600 baud.

    Comment by Roo — May 11, 2009 #

  16. […] quite a few of us to play with printers, I’ve been seeing what I can get mine to do. So far: barcodes were pretty quick. More recently, daily digests, twitter updates and even printing an entire a […]

    Pingback by Microprinter Sparklines - Roo Reynolds — July 18, 2009 #

  17. […] notification, using a repurposed receipt printer connected to the web”. Using this and the works of others as inspiration, I set about making my own Internet connected […]

    Pingback by Microprinter RSS Arduino Driven « Arduinian Tales — February 15, 2010 #

  18. […] or other retail outlet – and inspired by the work of Tom Taylor at Bookcamp/Papercamp09 and Roo Reynolds, I had already worked out how to print to it (I’ve added instructions to the microprinter […]

    Pingback by Making the Physical from the Digital « Random Hacks — April 25, 2010 #

  19. Has anyone tried to hack printing calculators? They are much cheaper than the thermal printers.


    Comment by Franklin — July 4, 2011 #

  20. Hi Roo,

    I thought it was this!


    Comment by eevilmidget — April 5, 2012 #

  21. Layers of history here.

    Matt Webb, one of BERG’s principals, wrote about an idea for a social letterbox in 2006. We all swooned.

    Tom Taylor, inspired by the idea and inventive chap that he is, saw a cheap way to make it happen. During PaperCamp in January 2009, Tom showed off his Microprinter project and shared the source for his Arduino sketch.

    A couple of weeks later and I’d found and bought the exact same hardware, and soon shared my own code including a Ruby library.

    Tom’s project has inspired dozens of people to hack their own hardware, often using the same hardware. Many of them are listed on the microprinter wiki.

    One of the most impressive efforts comes from James Adam, who has been quietly beavering away on the Go Free Range Printer platform. It’s an impressive bit of work and definitely worth taking a look at.

    The good people at BERG obviously continued to think about doing the whole thing properly as a gorgeous bit of consumer electronics and, at the end of November 2011, announced their Little Printer.

    Frankly, I expect I will want a Little Printer and something I can hack with.

    Comment by Roo — April 5, 2012 #

  22. […] work started a chain reaction of mods, including Roo Reynolds who thought that “the soft sound printing and the ‘clunk’ of the auto-cutting blade will be a […]

    Pingback by Wired - Your Twitter Feed as Newspaper: A Look at the Tiny Printer Trend — April 20, 2012 #

  23. I feel exactly the same way; I want something that’s stable and reliable (and somebody else’s responsibility), but I also want to be able to act on any inspiration that I get from it :)

    Comment by James Adam — April 20, 2012 #

Sorry, the comment form is closed at this time.

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
The postings on this site are my own and don't necessarily represent my employer's positions, strategies or opinions.