Home | Product Categories | General | COM-10438

Thermal Printer

sku: COM-10438

Description: This is a thermal printer like you would find on a cash register or adding machine. It will print simple strings passed to it via TTL serial, bitmap images (poorly) and it even generates several different formats of barcodes!

The thermal printer takes 2.25" (57mm) wide thermal paper with a max roll diameter of 1.5" (39mm). Thermal paper is inexpensive and commonly found in most office supply stores in 85ft lengths. You may have to remove some paper from these rolls in order for it to fit into the printer. But, you can always use the excess paper in the printer, since you don't need to have a 'core' in the paper for it to work.

The back panel has 2 3-pin connectors; one for power and one for serial communications. The thermal printer ships with default 19200bps baud rate. If you're using this printer in conjunction with an Arduino, you're going to need to connect it to the "Vin" pin and attach an external power supply, as the printer will draw more current than USB is capable of delivering. We've found that a 5V wall adapter works best (see related products below).

The print head has a rated life of 50km! That means this printer can handle a marathon's distance (~30 miles) of printing before the head hits its rated limit.

Use this printer in any project where you need a hard-copy of the output, or in an art project where you want to keep the output to stick on your fridge, or to build a DIY cash register for your lemonade stand!

Documents:

Pricing

33 available

49.95
44.96
39.96

33 in stock

price
10-99
100+



Add to Wish List


Comments 85 comments

  • For those who like VB.NET or C#, I made a small library to use this printer with your computer and a FTDI breakout board.
    You can find it on my blog : http://wp.me/p1TgKg-8

  • Can you include a scan/photo of a sample print from the device?

  • actually this looks alot like a thermal printer i saw once on an aircraft, just not A4 width :)

  • Will you guys carry the print head?

    • no, sorry, just the printer.

    • Why would you bother to replace the printhead in a $50 printer? By the time the head wears out, the printer is probably getting worn out too. So you’ll spend $20 to $30 for a printhead, and put it in a printer that craps out a month later? The smart move is to just spend $50, get a new printhead, and a new printer too. Your time is worth more than that. If it were a $4500 Fargo thermal label printer repairs would make sense, but not on these little jewels.

  • Paper source?

    • We’re checking into it, but ANY office supply store (office max, office depot) and even wal-mart and such have paper. It’s very common.

  • Very cool product. Lots of interesting ideas come to mind. An Arduino that prints out all the tweets on my Twitter feed? Pointless, I know, but just the kind of project I’d build.

    • Was think the same thing! It also be cool if you could use the hot side of a Thermoelectric Cooler to “erase” the paper.

      • Is this even possible? Would it turn it completely black or white again?

        • Ummm, no.
          Take a look at the wikipedia article on thermal paper.

          • You can, however, heat it up further and turn it fully black. :–)

            • Yeah, or leave it in sunlight for a couple of weeks, and then use it with a Sharpie.
              Personally, I plan on saving all of the output from it until I have enough to build myself a paper-mâché house, or perhaps an invincible paper-mâché exo-skeleton.
              Ohh, wait, even better, I’ll just use the thing as intended. I’ll print stuff, and when I don’t need it anymore I’ll throw it away. Eureka!

  • You guys plan on making an arduino shield?

    • Yes, I’ll call it ‘wires’.
      But really, I just shoved wires from my Arduino into the included connectors. Male headers from a protoshield would also work.

      • Well I was thinking something that could also power it

  • I’ve wanting to use one of these in a project for a long time! You guys are awesome.
    Any plans to sell a printer with a built-in cutting blade?

    • Yeah, even just a perforated line would be awesome. I noticed in the video he had a little trouble tearing it properly.

    • Since I assume Sparkfun is just buying these from someone they may not have a lot of say about the design, but adding a tear-bar to whatever enclosure you use seems pretty simple. For those who want a quick and dirty solution, go steal the tear-bar off of a box of aluminum foil, and fasten it to the printer by means of your favorite diabolical attachment method (duct tape, epoxy, ¼-20 stainless bolts, tig welding, making your children hold it in place when you want to print, etc.)

  • I’m gonna use this in my next project. Its gonna be a news ticker with weather updates with an alarm for me too get up

  • Sometimes I wonder what Chinese street market you guys find things… I have been looking for this for 3 months now! Of course here it is! :–) Gonna buy many soon for a project we just finished developing. Thanks!!!!!!

  • typo,
    than USB in capable of delivering should be
    than USB is capable of delivering

  • Make sure you get thermal paper without BPA just to be safe. http://en.wikipedia.org/wiki/Thermal_printer#Health_concerns

  • Is the bitmap print function fine enough for 3d barcode? Could be killet geochache box that prints every visitor proof to take to another location to scan.

  • I had to order this when I saw it….probably gonna make something that generates barcodes as a sort of “key” for a project. Now all you guys need to get is a fixed barcode scanner something like this
    http://www.carolinabarcode.com/images/ArticleImages/RunMyStore/BarcodeScanner2.jpg
    On a more technical note
    If I use a 9v power supply instead of a 5v do I have to use a level shifter on the serial? In the example code it said 9v power supply and nothing about level shifting. So I am assuming not but just wanted to double check!
    Keep the awesome products coming Sparkfun!

    • I just checked this. When powered with 9V the tx line idles at 3.3V. It must have 3.3V controller.

  • is there some sort of sticky-back thermal paper you could print with this, for example if you wanted to make a barcode sticker for something..?

    • have a look at the old gameboy printer paper, might have some trouble since its not as wide, but it does have a sticky backing

    • Sparkfun? will there be sticky paper in the future?

    • Yes, there is. It’s called thermal printer address labels, such as for Dymo label printers. Just search for thermal labels. There are hundreds of vendors and tons of label shapes and sizes.

  • Most 5V TTL devices I’ve used will read a 3.3V input. Could you guys check if a 3.3V signal will work with this device.
    This is pretty cool. I think I need one to “thoroughly remove uncommon words of anguish” in my life. (The manual is entertaining.)
    I notice there is a tx connection as well as a rx. I couldn’t find any reference to what the device might transmit. Does it ouput anything? I suppose it might just echo the rx line.
    Could a slot be cut in one of the sides or bottom of the device to allow it to use larger rolls of paper?

    • Possibly the TX is for support of XON/XOFF. I have two on the way, and will let you know when they get here and can check.

    • I just tested mine out. (I’ve had it for several months without using it.) It works fine with a 3.3V signal. I was surprised to see the unit transmits at 3.3V.

  • Could you potentially print a QR-Code from this?
    For anyone wondering, most modern black and white label printers use this technology. Also, you’ve likely seen it if you eat at fast food. Receipt printers use it as well. In the case of the fast food, you might see part of your receipt blackened from sitting next to a hot element for too long.

    • Yes, it should be able to print a QR-Code. You’ll need software to generate the QR-Code bitmap and software to transmit the bitmap to the printer in line chunks small enough for the printer’s buffer to handle. Check out the command codes doc for the bitmap print commands. It looks pretty straightforward.

    • This guy did it with the same printer – even looks like he has his code on the link. I’m going to be doing something similar but i haven’t gotten into it yet.

      http://hackaday.com/tag/thermal-printer/

  • Is this RS-232 and TTL or just TTL Serial? The documentation refers to both.

    • I know it transmits and receives with 3.3V logic levels. I doubt it would work with RS-232 levels but I haven’t tested this (and don’t plan to).

  • Question for SF. How reliably can you supply these things? I’ve got two coming to play with, but if they pan out, I am considering them for a commercial project I am developing.

  • Do these come with paper, or the cables as shown in the images?

  • I need one piece for integrate in prototype design please confirm the stock for buyed
    Regards

    • Saul,
      Stock levels are shown right underneath “Pricing”, and appear to be kept up to date in real time. If it says 10 units are in stock, and you order 5, it will immediately update the stock level to show 5. I ordered the last unit of an item yesterday, and when I went back to look at the data sheet it already showed out of stock, so I think you can rely on the numbers shown.
      Unfortunately, the little printers are showing out of stock at the moment. I happened to be on here Thursday when they were announced and quickly ordered two of them. Four to five days later they were all sold out.
      The good news is you can click on “Autonotify” and they will let you know when they are back in stock.

  • http://www.walmart.com/search/search-ng.do?search_query=thermal+paper&ic=48_0&Find=Find&search_constraint=0

    • Thanks for posting this, but I couldn’t get the link to display any results. A search at their site for thermal paper only yields one result, and it doesn’t list dimensions for it.

  • I got mine today :D
    Should be noted that for 5v operation you need a REALLY BEEFY supply, I have a 2A switch mode PSU that I was using and it was having a hard time running the printer.
    With my own testing it pulls approx 1.5-2A whilst on 5v
    With a decent 5v supply you can pretty easily use factory defaults and it prints quite fast.
    One negative is this thing is so addictive to play with you’ll be burried alive under receipt paper xD

    • That’s nuts, can anybody else confirm this? At that current you wouldn’t be able to use the recommended wall adapter.
      There is no mention of current draw in any of the documentation as far as I can tell.

  • QUEST FOR PAPER:
    Office Depot Item # 109-317 seems to fit width wise (57mm), but the roll is too big. I had to strip about half of it off to get it in the printer. So far, this has been the smallest diameter roll I have found. Caveat – I have not tried printing on it yet, but as it is thermal paper, I assume it will work.
    UPDATE: The printer will print on this paper, however, it is slightly too wide, and causes feed problems. I would not recommend its use and suggest waiting for the Sparkfun paper. I hope they ordered a ton of it.
    One clarification to the manual while I am here. To invoke the self-test you must hold the feed button down and then apply power. The self-test begins as soon as you release the button.
    The manual is misleading when it says “Powe on, press the [feed ]key, for a while , relax the key, it will print out one testing sample .”[sic]

  • Wow, a lot of comments on this page! Good news, we have a source for paper and should have it in soon. Give us a week or so and we should have some listed.

  • Is this printer RS232 level or TTL level serial?

  • Never mind, the sticker on the bottom photo shows it as TTL :)

  • Hey, i’m new to all of this and just started building my first arduino project. I’m having a very hard time understanding how to print a bitmap image to a thermal printer. I looked at your example code and got more confused. It just prints a grid of strange symbols. How do you actually call up the image file? I know this is prob not the right place for this but any help would really be appreciated.
    Thanks a lot!

  • Does it come with a software? Otherwise how am i going to print alphanumeric lines?

  • Has anyone used this with a Netduino Plus?
    I’d like to make a program which reads in twitter posts, or a web http POST and print out the string to this printer.

  • Can you maybe make a very simple breakout, like just the 2 plugs to 5 0.1 inch headers?

  • How many characters wide is the printout? As in if I wanted to display the text on an LCD, how wide does the LCD need to be?

  • Please use caution with thermal paper. Is a source of BPA. The same (proven to mimic estrogen) stuff that used to be in plastic water bottles. See: http://www.sciencenews.org/view/generic/id/61764/title/Receipts_a_large%E2%80%94_and_largely_ignored%E2%80%94_source_of_BPA

  • If anyone is interested I have deconstructed the example code and written a beginners' tutorial about this printer – http://wp.me/pQmjR-1LD

  • Has anyone killed one yet? After about two weeks of printing a Twitter feed the printing is light and the paper isn’t feeding properly. It also seems to lose some lines. I added a bunch of delays, but it still acts funny. I certainly got the goodie out of it, not complaining, just wondered if this is an expected failure mode, or if I handled it poorly.

  • Just wondering, in the Chinese manual it shows two places to connect power…pin 2 for variable power, and pin 3 for I believe 5V only (the manual’s English translation says this…
    +5V,输入电源 input voltage (一般情况下只用+5V,VH 不输入 gerneral
    condition,only use +5Vm VH not input )
    …which is confusing only to me, being an English only reader and speaker. So, if you have a 5V power supply is one pin better than the other? (the cable you’ve provided uses pin 3).

  • A second question…
    I picked up a 5V 2AMP power adapter and that extra amperage made all of the difference, it’s now printing like a champ!
    But that leads me to a power supply question.
    I’m going to be driving the printer with an Arduino UNO with an Arduino ethernet shield on it. I would love it if I could drive everything with just this one power adapter. My question is, if I use this power adapter on the Arduino and just connect the printer to the Arduino VIN pin, will I be OK? Can the Arduino handle up to 2 AMPS going through it? Will the big current changes that I imagine the printer causes when it goes from printing to not printing and vice versa be OK? Or should I play it safe and use two separate power supplies, one for the printer, and another for the Arduino?

  • So I’m having trouble getting this going.
    My configuration is
    Wires-
    Printer: Arduino
    Green: Digital 2
    Yellow: Digital 3
    Black: Gnd (the gnd next to VIN)
    Red: VIN
    Black: Gnd (the other gnd next to VIN)
    Power-
    I’ve plugged a 9V 1000mA supply and a 4-5.5V 2.6-2.3A supply into the arduino and got the same results.
    Arduino Code-
    I ran the sample code but get nothing (not even in the serial monitor)
    Results-
    The LED on the printer lights up, flashes twice strongly then settles to an intermittent weak flash. If I press line feed the paper advances ½", I don’t get demo mode at all.
    The Arduino is a Duemilanove which works (blink test runs fine).
    Anyone got any ideas? I suspect my problems lie on the Arduino side (since I see nothing in the serial monitor) and the printer side (is my power supply insuffic.? or something else?
    Cheers

    • I had some trouble too, I mixed up the RX and TX, so I defined it correctly in the software. Mine prints from the arduino and still has the weak flashes from the led. I assume you have the new soft serial as well. Also, I had the baud settings wrong. Check the printer defauld baud rate by holding the button on the printer down while plugging the power in. Make sure this is the same value in the software, and on the serial monitor. Hope this helps,

  • Gotta love the engrish in the manual.
    “Printer control panel built-in GB18030 Chinese character, thoroughly remove the uncommon words of anguish”

  • Has anyone managed to define their own character? According to the manual defining a black square instead of an exclamation mark (ASCII # = 33) it should be as easy as:

    Thermal.print(27,BYTE);  
    Thermal.print(38,BYTE);  
    Thermal.print(3,BYTE);  //s  
    Thermal.print(33,BYTE); //n  
    Thermal.print(3,BYTE); //w  
    Thermal.print(34,BYTE); //m  
    for( int i = 0 ; i < 3*3 ; i++ ){  
        Thermal.print(255,BYTE);  
    }  
    //Enable user defined characters  
    Thermal.print(27,BYTE);  
    Thermal.print(37,BYTE);  
    Thermal.print(1,BYTE);  
    

    But it doesn’t work at all. I always get the exclamation mark and i’m kind of stuck. I don’t live in any of the regions covered by predefined character sets and i need to make some funky custom characters.

  • Can it print other languages? (say – hebrew?..)

  • Cant it print hebrew fonts?

    • i had no success with defining custom font faces. don’t recall seeing predefined hebrew characters either in the test printout nor the manual.

  • I downloaded the example code, but could not find
    NewSoftSerial.h. Any help?
    Thanks
    Zarcov

    • I found the library myself. Here is the link, just in case…
      http://arduiniana.org/NewSoftSerial/NewSoftSerial10c.zip

  • I downloaded the example code, but could not find the NewSoftSerial.h file to be included.
    Any help?
    Thanks
    Zarcov

  • what protocol use? 8 bit or 9 bit (8 data bit + 1 parity bit)

  • what protocol use? 8 bit or 9 bit (8 data bit + 1 parity bit)

  • Hi, I have an arduino uno board. Unfortunately I can not print properly. I can only print random characters that are not what I wrote.

    Anyone can help me? Thanks in advance

  • It seems the printer connectors/wires are not compatible with an arduino sensor shield connector. Do you have a cable converter? Would I like to change the mc-side connector of the provided cable, which connector & tool shoud I buy ?

  • It seems the printer connectors/wires are not compatible with an arduino sensor shield connector. Do you have a cable converter? Would I like to change the mc-side connector of the provided cable, which connector & tool shoud I buy ?

  • It seems the printer connectors/wires are not compatible with an arduino sensor shield connector. Do you have a cable converter? Would I like to change the mc-side connector of the provided cable, which connector & tool shoud I buy ?

  • Do you have converter cables able to connect the printer to an arduino sensor shield ? Connectors and tools needed in case of manual interventin? Thanks

  • Sorry for duplicate comment!