see http://colm.posterous.com for latest posts...

microprinter

hello world

inspired by the work of others i decided to wire up a little microprinter for myself. in an overly keen purchase on ebay i ended up getting a citizen idp-3420 for around £30. it's a dot matrix printer which can print in red or blank and a has a few style options such as double width, double height, highlighted and underlined. the one thing it's lacking is autocut although i have to admit i haven't missed that very much. since it's dot matrix it's noisy but in a way i'm quite fond of that, feels very retro.

the arduino's serial capabilities are very easy to use so when choosing a printer make sure you get a serial one and aside from that you're going to need to know how to talk to the printer so a technical user manual is crucial. My ebay seller provided this but working the google should do the trick for any citizen printer, other brands i'm not so sure of. my printer came with a ribbon but no receipt rolls so i had to purchase those separately, either till roll warehouse or till rolls direct should have what you need.

i have a beginners arduino kit that was provided as part of the beginner's workshop i took with tinker.it (which i strongly recommend for any newbies, i found it a very useful refresher on electrical theory and also a good introduction to the arduino and it's capabilities). all that was left for me to get is the max232 chip which converts between TTL and RS232 so the arduino and the printer can talk to each other. with that, i had to buy a 5 1.0μF capacitors which are used by the chip. the alternative is to get a max233 or similar which requires no external capacitors. personally i think the capacitors make my circuit look more geeky which is of course a good thing and earns me extra frags or something.

breadboard

the datasheets for max232 chips are easily found online and provide details of how to wire up the chip. for the specific chip i bought, that involved putting the capacitors in correctly, wiring up gnd and vcc's correctly, hooking up an output pin on the arduino to one of the input pins on the chip and the corresponding output pin on the chip to the input pin of the printer. i only hooked up 3 pins of my printer, 2 gnd and the input pin since that's the bare minimum required to make it print. i'm not really too interested in any messages coming back from the printer so i didn't even bother investigating what it would have taken to handle that.

next up was configuring the printer. reading the manual is actually a pretty good idea. i had to wait a day or two for the paper to arrive so it gave me time to slowly and methodically set everything up, rather than throwing things together and seeing what output i got. the one part of this that's worth spending time to make sure you get right is the dip switches since they're typically awkwardly positioned (underneath the roll of paper in my case). i went with pretty much all the defaults but choose the star mode for printing since it makes the extra text styles available.

as it turns out, the first time i attempted to print didn't work but i quickly found out it was only because my arduino code was using pin 4 for output whereas i'd wired up pin 3. a schoolboy error and very easily rectified. from then on printing went smoothly which i was overjoyed with given how flimsy and unstable a few wires loosely wired looks. that plus the fact that i had correctly understood the manual's function reference section and could correctly issue commands to the printer. all in all a success for patience and spending a little bit extra on attention to detail.

it works!

i've mentioned in the blog post that there's more i'd like to do with this to make it more stable and permanent but i hope this guide through the steps i took to get up and running proves useful to some of you someday. thanks for reading.

microprinter
<< back to list of projects
<< back to homepage