• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!



Page history last edited by pbworks 2 years, 7 months ago



Microprinter - Tom Tom describes it as "an experiment in physical activity streams and notification, using a repurposed receipt printer connected to the web". Hackers across the country are buying up old old receipt printers and imaginatively repurposing them into something new. We call them microprinters www.


People who've got one:

  • Chris Heathcote has one (the gay uncle) (a CBM 720. 2 colour, papercut, impact/dot matrix, serial. Has a crazy mode that doesn't require a MAX232). He's made a time receipt printer.
  • Roo has one (a CBM 231) and has shared a simple Arduino patch plus a Java library (full feautred) and Ruby port (very basic so far) to communicate with it.
  • Nick O'Leary has a CBM 231. 
  • Vahakn Matossian has used one in an Artwork with Ambiguous Quadrupeds. He really wants to learn how to do bitmaps too, and has succeeded in printing a test with additive binary pattern relating to the pixels available on the print head. You can see it featured in an ICA video here.
  • Philip has an APS printer (model BPM205). Datasheet (pdf)
  • Nick Aldwin has a Custom Neo's (with an excellent "custom commands" instruction manual).  He wants to develop something with an Arduino, but while waiting for the MAX2323 to arrive, he's working on communication via C#.
  • Me too! I (John Honniball) have just acquired a Citizen CBM 1000 on a certain well-known auction website (there were five more on offer).
  • Colm McMullan has a Citizen iDP-3420 and has hooked it all up to a violet mir:ror RFID device to trigger print events (see the blog post).
  • Jason Davies has just acquired a CBM 231 and is now waiting for an Arduino board to arrive.
  • Michele Bursi has a Citizen CBM 1000 (and Arduino) and is waiting for a MAX232.
  • Who else? More on the way, I know... (@beng, @mattxbart, @adamend, @plasticine, @martynrdavies, @wschenk@dmje, @tillkanone all have one?)
  • @benosteen has just received a CBM 1000 too - thanks greatly to @tomtaylor and @rooreynolds for blogging/sharing code! - Ben has a Python port of Roo's Java library (and more) at https://github.com/benosteen/microprinter/
  • I've added notes, diagrams and the settings I used to get the printer to work here: CBM 1000 
  • Antoinette J. Citizen has a CBM 1000 II. 
  • James Adam used Tom's CBM 231 to build Timmy Printface.
  • Free Range have built an open-source, distributed Printer platform and shown how to build an internet-connected printer which works with it. There's no reason why it couldn't also play nicely with the CBM 231 (or any other printer...).


Getting started: 

  1. Manuals for Citizen printers at http://www.goodson.com.au/support/Download_UM_citizen.htm
  2. Tom's Ethernet Arduino sketch shows how to listen using an Arduino ethernet shield and send text to the printer.
  3. Roo's Arduino sketch uses a serial connection to send things to the arduino. Includes barcodes and a few other formatting options. 
  4. Ben O'Steen's Python port of the same library, also prints images. 
  5. Free Range's Printer platform


Tips and tricks:

  • Hold down 'LF' (line feed) button while powering on the printer to get a two part self-test (part 1, part 2). Handy for testing it offline.
  • I sacrificed an old USB cable to make the connection between the printer and the Arduino. Works fine and is much better than the rigid wires you normally use on breadboards. 


Questions (help!)

  • Formatting - I'm reading a serverside script and have line breaks (I believe the CBM 231 takes whitespace and prints as line breaks?) in it but also want to pass other simple formatting - for instance say a <h3> tag I want to "translate" into a larger font on the printer. I'm thinking a simple find/replace but am having trouble with my noobesque knowledge of arduino...
    • Although I did not convert HTML tags, I made my script output special characters, as for example '$' and '&'. If the Arduino finds a $, it prints bold and if it finds a &, it prints normal. Very easy to implement!


Thoughts and ideas

  • Is anyone using a different printer? Perhaps we should split the bits which are specific to the Citizen CBM off into their own section.
    • I (Nick Aldwin) am, but most of the syntax is the same--mostly only the actual hex commands are different.
  • Datasheet link to the APS printer is linked above, I don't know which bits are specific or not. It does work with Roo's sketch but prints an extra "€" at each start (0xFF most likely). Does not have autocut. 
  • A ticket printer, the kind used at horse track betting machines, would produce a lot more durable result. Scouring ebay for the past few days doesn't turn up anything, at least not affordable. Anyone have any thoughts on this?
  • The ESC/P2 command set seems to be a starting point for all these printers. The FutureLogic ticket printer uses a proprietary subset of it, and the CBM, Epson, and Zebra thermal printers all seem to start with ESC/P. This could be handy.
  • I've ordered a Toko Bunga Parcel Imlek Parcel Natal Citizen barcode and label printer, which uses an ESC/P subset to generate QRCodes and Datamatrix barcodes. Harga Genset —Josh DiMauro


The aquariums for sale comes with water treatments that will condition the water. You then turn it on and let the aquarium sit for five days. To let the filters mature, start adding about five fish every week until your tank is fully stocked.

Comments (1)

Joe Cantrell said

at 10:46 pm on Oct 22, 2009

Anyone ever used a USB micro printer? I found one here it even has bluetooth - http://www.provantage.com/bixolon-srp-270apg~7BIXO004.htm

You don't have permission to comment on this page.