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
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.
Step 2: Wiring and Assebling
Wire up the Pro Mini and the Thermal printer as shown in the diagram above.
Basically, the printer needs 3 connections to the Arduino – RX, TX and GND. RX and TX are used for serial communication and as it is in the code RX is connected to pin 3 and TX to pin 2. GND is important so that there is a common ground throughout.
The button is connected in such a way that when it is pushed it connects the roughly 6V from the batteries to the RAW input of the Arduino and the Vin of the printer. This configuration helps to extend battery life because there is no power drawn whatsoever when printer is turned off. It does mean, however, that you will need to hold down the button for the duration of the print.
Step 3: Coding your Pro Mini
I have chosen to use a Pro Mini for the project because of how small it is, but this could obviously be replaced with any Arduino.
The Pro Mini is essentially coded in exactly the same way as any other Arduino. You will however, need some sort of FTDI basic converter. I used the FTDI basic from Sparkfun which is linked in the components section (should probably be in tools).
Here is a quick tutorial to help get into using Arduino Pro Minis: https://learn.sparkfun.com/tutorials/using-the-ard…
This tutorial is for the 3.3V version, but in all other regards it is exactly the same.
I have included the code that we used in the BUSINESS_CARD zip folder. This code will allow you to control the printer from your Arduino. However before we can do this we need to install the necessary libraries. The necessary libraries are included in the folder lib.zip. Unzip this folder and install the libraries as explained here: http://arduino.cc/en/Guide/Libraries. Once your libraries are installed restart you IDE and upload your code onto the board.
To change the text you can simply replace the relevant words in the printer.println(” “); functions.
Obviously, if you would like to hand out our business cards, then don’t change anything.