Picture of Simple and Impressive Business Card Printer

At some point most tinkerers and makers have to take the plunge into the real world - the world of suits and dividends and business cards. Without going completely "American Psycho" on your asses: business cards are important. In many ways they are our keys to the business world; the first impression making a massive impact, and potentially the difference between eating a Burger King in front of your computer and getting taken to a French restaurant for a business meeting.

The question remains, how does one make a lasting impression with a simple card - and how to you prevent your card from being thrown away, used as kindling or emergency filter tips?

Try printing it in your hand, in front of the person you are trying to impress.

Buy using cheapish components ($80?) you can print thermal business cards to hand out to any potential client, investor or friend. These can be changed whenever you need and really make an impact because they are something new and engaging.

Step 1: Getting the parts

Picture of Getting the parts


1 x Thermal Printer - http://www.adafruit.com/products/597

1 x Roll thermal paper - https://www.adafruit.com/products/599

1 x Arduino Pro Mini 328 - 5V/16MHz - https://www.sparkfun.com/products/11113

1 x FTDI basic Breakout - 5V - https://www.sparkfun.com/products/9716

1 x Strip of male header pins

1 x AAA battery holder

4 x AAA batteries

1 x Push button

Computer, USB cable, Soldering iron, Solder, Hot glue or Double sided tape


I only managed to find pictures of AA battery holder, but the AAA are better because they are smaller. So try find one of those in your area.

This project centres around a small portable thermal printer. These printers are generally used for printing receipts in ATMs or card machines. Luckily, they are very easy to set up and print directly on to easy to find thermal paper. They can print images and patterns (although we are only using text for now). You can communicate to the printer via serial using an Arduino (or similar uC). Adafruit have kindly made a really extensive library that helps to set up the printer and get your first business card printed in a jiffy.

1-40 of 54Next »
JadonTheWolff7 months ago

Anywhere to get the parts in Cape Town or would I need to ship them in? Awesome idea by the way!

Thingking (author)  JadonTheWolff7 months ago
Hi Jadon,

you can get them from www.netram.co.za!

Or buy them from sparkfun/adafruit and pay for shipping?

Thanks! I'll try netram and see what I can do, if it still works out cheaper to get from Adafruit/Sparkfun I'll do that.

Idrispo8 months ago

it would be great if you/ can make it wireless

Kante Tech1 year ago

This could use a arduino uno as well right?

Thingking (author)  Kante Tech10 months ago


brandx341 year ago

Im a newbie here trying to make this device. I have everything as seen in your pics. Im at the point of trying to code my device but keep getting an error in compiling. What am I doing wrong?

Here is my logfile:

BUSINESS_CARD.cpp.o: In function `__static_initialization_and_destruction_0':

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:14: undefined reference to `Thermal::Thermal(int, int, long)'

BUSINESS_CARD.cpp.o: In function `printKings()':

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:32: undefined reference to `Thermal::justify(char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:34: undefined reference to `Thermal::setSize(char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:42: undefined reference to `Thermal::boldOn()'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:43: undefined reference to `Thermal::doubleHeightOn()'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:44: undefined reference to `Thermal::justify(char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:46: undefined reference to `Thermal::setBarcodeHeight(int)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:47: undefined reference to `Thermal::feed(unsigned char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:48: undefined reference to `Thermal::feed(unsigned char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:51: undefined reference to `Thermal::justify(char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:52: undefined reference to `Thermal::boldOff()'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:53: undefined reference to `Thermal::doubleHeightOff()'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:64: undefined reference to `Thermal::feed(unsigned char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:65: undefined reference to `Thermal::feed(unsigned char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:66: undefined reference to `Thermal::feed(unsigned char)'

C:\Users\User\Desktop\arduino-1.0.5-r2/BUSINESS_CARD.ino:67: undefined reference to `Thermal::feed(unsigned char)'

Thingking (author)  brandx341 year ago

It looks like you either haven't installed the Thermal library correctly, or you haven't unzipped the folder before you tried to upload the code.

1) Unzip all the folders that you download. The code should upload properly if you just open the BUSINESS_CARD.ino in the BUSINESS_CARD folder.

2) If this doesn't work, unzip the contents of the lib folder. Copy the two folders into you Arduino Library folder. (check out how to install a library here: http://arduino.cc/en/Guide/Libraries). Close all open versions of the IDE and start again. Should work.

3) Let me know if you still need any help. Paul@thingking.co.za

First of all, thank you sooo much for your reply.

I havent been able to try it due to the fact I had minor surgery 2 weeks ago. I will, however, be trying it this week. So, stay by your computer!!!

Thanks again!!!

Thingking (author)  brandx341 year ago

Did that help?

"which could really take this no the next level" a typo replacing the T with an N...

Do you use a Dvorak keyboard?

Ploopy1 year ago


Would it be ok to replace the arduino with ATtiny85 to make it smaller ?

keep up the good work.

Can anyone post a link or a video of this working? This is a great Idea btw

MrShambles1 year ago

Yo paul! Nice one!


oklahomafire made it!1 year ago

Made it, and it works great!! Thanks for the idea!!!

2014-03-26 21.44.13.jpg
Thingking (author)  oklahomafire1 year ago

This is so great! Well done for getting it to work! It looks really great! Hope it brings prosperity and business!

Hey just wanted to let you know that you may want to add the "Thermal.cpp" file as well as I was not able to compile without it.

Thingking (author)  oklahomafire1 year ago

Thanks for the heads up! My mistake, amazing that you are the first person to notice

Hey, no problem. Actually in the process of building it. I'm having trouble getting windows to see the FTDI. Looking to get all the parts in an Altoids Can.

This is a good idea, however I keep thinking that something that's flimsy like a reciept may get accidentally thrown away...

One could print out then use this: http://salestores.com/quikfinishpl.html#.UyzXm61dUoc

A solid solution, although possibly bulky. This is still a clever idea; something you need to get ahead in the business world!

Not a bad idea :) The printing of the business card and laminating them like this I think would really make them stand out from the rest.

Skalblaka1 year ago

Cool idea. You might try removing the case of your thermal printer and breaking it down to something even more minimal.

Thingking (author)  Skalblaka1 year ago

Thats a really great idea! I'm gonna try that next! The main constraint in terms of size is probably the paper roll though...

but u can just re-roll the paper in to smaller cartridges as well. just remember to refill b4 u go out 4 the day.

Businesses cards require little paper. If you had an empty spool or better yet make a small diameter spool and load it with just a few feet of thermal paper. Ideally you would be able to print out a few dozen cards. It's not like you need to print out cards everyday.
Thingking (author)  Skalblaka1 year ago

Good point,

will try that out!

Thanks Skalblaka!

al_packer1 year ago

Just remember that thermal paper contains BPA, and shouldn't be kept in your shirt pocket or against your skin.

MrE al_packer1 year ago

Not all thermal paper is bpa. In fact now they have new bpa free you can buy.

DrRolfG1 year ago

nice work!

craftyv1 year ago

Oh! Oh! I want one. Such a good idea. Well done even I could "get" it but unfortunately no way to do so. It's set me thinking though. Great.

mrbonine1 year ago
Memorable is key for business cards. I've seen lots and the more memorable ones were printed on unusual materials, Tyvek, silk-covered paper, various flexible plastics. I don't remember seeing one etched or annodized on metal, but Aluminum would be cool. The other thing about thermal paper besides fading is that leaving them anywhere warm turns then dark, that is the same color as the print, usually making any printing unreadable. I've seen thermal paper with already ink printed reverse used for receipts, but the cost work likely be high on small quantities. You could leave the face ready to print with your name and phone/email printed on the back. Add a touch of insurance to your engenious device.
1lpfan1 year ago

This seems like a really cool idea. It gets old having to write down all my contact info. Finding a pencil and a scrap of paper could be eliminated with this.

oilitright1 year ago

Has thermal parinting paper improved?

My past experience with thermal printing is that it doesn't stay on the paper very well. The printing fades away to nothing in a relatively short amount of time.

that's why they use them for 'guarantees/ warranties'... :-)

ddw_az1 year ago

maybe have the QR code go to a hidden, non public, page with more personal business information.

dan30081 year ago

Maybe a switch instead of a button? that way you switch it on, and let it print, then switch it off when youre done.

Thingking (author)  dan30081 year ago

I did try that and actually its for my own sake. I always forget to turn it off and then the batteries die within a few days... If you are more dilligent then me, totally put a switch there!

add a SSR ( Solid State Relay ). adjust the program to hold a control line on once the button is pressed. then off once the printing is done. the control line will turn the SSR on and off. the SSR will be in parallel with the switch.

1-40 of 54Next »