Transformation of Old Printer to Automated Stamping Machine




This is the best transformation which I had done ever, I found an old printer which is out of work in my storage room and I thought to make some transformation with it and guys look it is in front of you I am happy to share this with you guys................. :-)

Progressive automation in industry over the last century is the result of human desire for freedom from drudgery. Automatic stamping machine is one of the useful machine in many kind of organization like university, government office, post office, banks etc. currently in many organization man or women appointed for stamping job, so our stamping machine does the same work as man or women appointed for such stamping machine. this prototyped machine automatically does the operation like detection of paper, rolling of next paper, auto filling of ink etc. To overcome this all drawbacks on conventional stamping process we have proposed one system which can work over infinite time with good accuracy, clarity and save the wastage of time. The proposed system will work more efficiently as the human nature which feels the laziness will not be seen in the proposed system. the proposed system also will take care of selection of single paper of each time, stamping it with position accuracy, and collection of the papers as required.

This system works in two modes
1. stamp position adjustment mode
While this mode we can adjust the position of stamp carriage on the paper wherever we want

2. stamping mode
During this mode machine work in automatic process it accepts paper give impression of stamp and collect paper with paper out mechanism

Mode switching selection is carried out by one SPDT slide switch connected to A1 pin of the arduino

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Parts and Electronics We Need

1. An important component of our prototype old printer guys if you don't have then one can buy it from scrap costs you around 5 to 6 $ we need body and carriage only with motors, don't buy any electronic and ink cartridge.

2. Electronic parts we need

1. Arduino UNO x 1pcs as a controller or to upload code in Atmega 328 chip

2. Atmega 328 p-pu x 1pcs try to buy preloaded Atmega chip with Arduino UNO Bootloader

3. LCD Display 16x2 x1pcs to count papers and display process

4. Micro servo x 1pcs to elevate the paper rest platform for paper out process can buy from here

5. Push Pull Type Solenoid Electromagnet switch x 1pcs to stamp on paper buy form here

6. DC motor x 2pcs depend on your paper out mechanism

7. L293D Motor driver IC s x 3pcs to control all motors and actuators

8. Bug strips x 2pcs for connections

9. IR led (Transmitter and receiver) x 1pair

10. 7805 IC x1pcs regulator IC 5V

11. slide switch x 1pcs to control two modes selection of operation

12. push buttons x 3pcs reset microcontroller and carriage motions

13. 16Mhz crystal oscillator x1pcs clock for Atmega 328

14. 10K Ohms resistance x 3pcs

15. 22pF capacitors x 2pcs

16. 10K ohms potentiometer x 1pcs to control LCD brightness

17. IC sockets 28 pins and 16 pins

18. Wires and jumpers for connections

19. 6V 4.5A battery and 9V radio DC battery

3. Mechanical parts we need

1. 8mm diameter rod 1 meter in length cut according to your printers length to support carriage

2. Washer (Thick one with min 9mm inner diameter )

3. Aluminum Strip of (1mm thick 25mm width and 180mm length)

4. some screw and nuts

5. and tools

Step 2: Hardware Workshop

· Clean your printer first keep paper in mechanism and carriage motion mechanism only rest of part are useless for us

· now make H bridge on your printers pillars with 8mm metal rod to get motion to the carriage in vertical axis

· stick those rods with glue or one can fix it by making hole in the body of printer but be alert while fixing height of that H bridge of rods it should maintain sufficient gap between paper rest platform and carriage

· Now take that thick washer and fix it on carriage with screw and nuts in same measurement where the gap between two rods is.

· now put rods of H bridge into that washer and fix H Bridge on printer, try to make it move in vertical position make use of oil to reduce friction

· Take cardboard or plastic board of A4 size for paper rest platform and make holes in it to adjust sensor arrangement

· before fixing that platform take micro servo motor conform first the position of servo shaft is on 0 degrees and glue it under that platform so that whenever we give command to paper out that servo should lift platform by some degrees and touch the paper platform to paper out motors

· Now bend that aluminum strip in 60mm X 60mm X 60mm C shape as shown in image

· Fix that C shape on carriage and glue push pull Switch on it

Mechanical arrangement is finished

Step 3: Lets Build Circuit Board

Pcb designing carried out with PCB WIZARD software ,

you can download software from this link

PCB WIZARD is simplest one software to design circuit, even beginner can use it directly because this software is very much user friendly ..... it has number of function which is reduced time consumption to design circuit like DRAG and Drop option .... Once circuit design completed, we have attached the .pcb file a designed PCB Take print out of the Art work of that circuit layout on Photo paper or glossy paper then trace the printed art work of circuit on copper clad board by ironing process,

During ironing process you must pay attention that all art work of circuit layout should traced completely on copper clad board , after tracing art work of circuit layout on copper clad completely, make solution of Fecl3 with water and keep it traced copper clad into that solution about 30 to 40 minutes ...... during this process you should continuously check the copper clad within some interval, copper of copper clad board should disappear except traced part of art work of circuit layout...... means only circuit should remain...

Once it complete take out board from solution then clean it and polish with sand paper for drilling , after drilling holes apply soldering flux and complete tinning process with the help of soldering iron after tinning start mounting component and soldering operation .........

Use images to follow all processes and position of each components. Please follow the circuit diagram to make your own PCB. If we are using Arduino UNO on the place of own made breakout board then only Atmega 328 controller section get neglected rest of connections are same and connect it on Arduino UNO.

If you never able to manage Atmega 328 chip with preloaded with bootloder then buy blank one and try to burn bootloader in it there are lots of guide available on instructables regarding burning bootloader

or you can follow this instructable to learn about bootloader by manu08

Please follow Arduino Atmega 328 comparable diagram from the images above

Step 4: Coding

#include <LiquidCrystal.h>

#include <Servo.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

const int buttonPin0 = A0; // sensor pin paper in sensor

const int buttonPin1 = A1; // System on switch pin

const int buttonPin2 = A2; // carriage left move button

const int buttonPin3 = A3; // carriage right move button

int servoPin = 7; // servo connected

Servo myservo;

int buttonState0 = 0; // variable for reading the pushbutton status

int buttonState1 = 0; // variable for reading the pushbutton status

int buttonState2 = 0;

int buttonState3 = 0;

int out2 = 2; // Push pull switch connected

int out3 = 3; // paper out motor 1

int out4 = 4; // paper out motor 2

int out5 = 5; // paper in roller motor

int out0 = 0; // carriage left

int out1 = 1; // carriage right

void setup() {

pinMode(buttonPin0, INPUT);

pinMode(buttonPin1, INPUT);

pinMode(buttonPin2, INPUT);

pinMode(buttonPin3, INPUT);

pinMode(out0, OUTPUT);

pinMode(out1, OUTPUT);

pinMode(out2, OUTPUT);

pinMode(out3, OUTPUT);

pinMode(out4, OUTPUT);

pinMode(out5, OUTPUT);

lcd.begin(16, 2);



void loop(){


buttonState1 = digitalRead(buttonPin1); // mode checking

digitalWrite(out5, LOW);

digitalWrite(out3, LOW);

digitalWrite(out4, LOW);

digitalWrite(out0, LOW);

digitalWrite(out1, LOW);

// check if the pushbutton is pressed.

// if it is, the buttonState is HIGH:

if (buttonState1 == LOW)


buttonState2 = digitalRead(buttonPin2);

buttonState3 = digitalRead(buttonPin3);

if (buttonState2 == HIGH) {

lcd.print("STAMP >>");

digitalWrite(out0, HIGH);

digitalWrite(out1, LOW);


digitalWrite(out0, LOW);

digitalWrite(out1, LOW);


if (buttonState3 == HIGH)


lcd.print("<< STAMP");

digitalWrite(out1, HIGH);

digitalWrite(out0, LOW);


digitalWrite(out0, LOW);

digitalWrite(out1, LOW);



lcd.print("STAMP POSITION");



if (buttonState1 == HIGH) {

digitalWrite(out5, HIGH); // process for motor on

digitalWrite(out3, LOW);

digitalWrite(out4, LOW);

digitalWrite(out0, LOW);

digitalWrite(out1, LOW);

// read the state of the pushbutton value:

buttonState0 = digitalRead(buttonPin0);

// check if the pushbutton is pressed.

// if it is, the buttonState is HIGH:

if (buttonState0 == LOW) {


digitalWrite(out5, LOW);


lcd.print("SYSTEM ON");



digitalWrite(out2, HIGH); // stamp on



digitalWrite(out2, LOW);


lcd.print("PAPER OUT");


myservo.write(90); // platform move up


digitalWrite(out3, HIGH); // paper out motor on

digitalWrite(out4, HIGH);


digitalWrite(out3, LOW); // paper out motor off

digitalWrite(out4, LOW);


myservo.write(0); // platform move down




else {

lcd.print("INSERT PAPER");

digitalWrite(out5, HIGH); // process for motor on roller motor on





Step 5: Time to Get Stamp Impression .........

Tech Contest

Participated in the
Tech Contest

Fix & Repair Contest

Participated in the
Fix & Repair Contest

Microcontroller Contest

Participated in the
Microcontroller Contest

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    5 Discussions


    Question 7 months ago

    can I get the sumulation and block diagram of the project ? with much respect


    4 years ago

    Technology is so exciting! As humans, we should build a robot, that will invent a system, to control a team of robots, to figure out a way to pay the robots, who will replace those "lazy" humans, for the work they do! The only drawback being that another robot would need to be created to invent something that the robots would spend their money on. That way the economy wouldn't suffer even more, putting more "lazy humans" on the streets. :) Great ible BTW