How to Make Arduino Based Digital Tachometer Simple DIY Tutorial




About: Electrical engineer by profession

Let see how to make Arduino based digital Tachometer.

Working principle :-

IR Sensor get penetrate by motion of motor shaft, signal are transfer from IR Senor module to Arduino.

This signal are processed in Arduino according to code loaded on it.

Then Arduino transfer signals to LCD Screen to display RPM

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: Video

Step 2: Material Reuired

1) IR Sensor module :-

2) LCD Screen :-

3) Arduino Nano :-

4) Zero PCB :-

5) Header pins :-

6) 9V Batter

Step 3: Electrical Circuit

Kindly go through the attached circuit diagram.

IR Sensor Arduino



OUT-----------------2(digital pin no. 2)

16X2 LCD Arduino

VSS------------------ GND

VCC----------------- +5V

VEE------------------ POT

RS-------------------- 12

R/W----------------- GND

E--------------------- 11





DB4------------------ 6

DB5------------------ 5

DB6------------------ 4

DB7---------------- 3

LED+--------------- +5V

LED----------------- GND


to design & buy your custom make PCB

Step 4: Procedure

Bring a Zero PCB, Mount female header pin on PCB

Place arduino and LCD Screen on PCB

Make solder connection where it is required,

refer electrical drawing for better understanding.

place IR Senor module on PCB in way that its sensor face toward the

wheel of motor to whom RPM have to measure.

Connect the Arduino with PC to upload code.

Then connect the 9V battery to power up arduino & LCD 16 X 2 screen

you can adjust the brightness of screen by rotating that Knob connected at VEE of LCD Screen

Now you are ready to take RPM reading.

Manually rotate the Wheel of motor you can see RPM Reading are appear on screen

feel free to comment below

Thank for your attention hope you like this project

Step 5: Arduino Code

Click here to download Arduino code

upload the code to Arduino

Be sure you have selected right Board & port to successfully upload the code

Sensors Contest 2017

Participated in the
Sensors Contest 2017

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    42 Discussions


    2 years ago

    Hello Sir,

    Will this work to measure the RPM for my RC gas engine propeller

    or have you now an other tutorial to measure the rpm of a rc plane



    1 reply

    1 year ago

    In the circuit diagram, the output pin of the IR sensor unit is connected to the Arduino D2 pin. But where on the Arduino code is the input pin declared? Am I the only one that is not being able to make it work?

    1 reply

    Reply 1 year ago

    See my comments above... It is also common to read around 10 Rpm figures into a moving array and average them so the display is not to glitchy.


    1 year ago

    There are errors throughout; the 68k resistor should not be in there, the D2 input should go to the output pf the op-amp and not the LED, and the pin assignments for the Nano are wrong, I'm working my way through them.


    the zero in the above refers to pin D2, which actually on a nano is Pin5... so should read...


    I can see that it will work but it is not written up too well :(


    1 year ago

    it also works nicely with a cheap hall sensor-pcb from eBay! This is my first project with an Arduino (Pro Mini) - and it feels good;-) !!Thank you!!

    next quick Question: Looking at the sketch, I do not see where/how pin D2 is defined as an input (I need to know for further modifications and playing around with a rotary encoder). I would be very nice if you could help with an answer.


    2 years ago

    Quick question: Does the Arduino keep track of the time that it runs? You don't have to start some special 'clock' operation?

    I can't believe how concise this code is compared to other tachometer tutorials I've seen. Nice tutorial!


    2 years ago

    the arduino code download link goes to a Google page that says it violates terms of service for URL shortener..

    Perhaps just past the code in "code" brackets, then no one has to download anything from nefarious places.

    1 reply
    Mr innovativeArcAiN6

    Reply 2 years ago

    it is fix,


    2 years ago

    while I have downloaded the project, I haven't had the opportunity to use it as yet. Tried to read through the project and had a difficult time understanding what the person was trying to convey. Not a very explanation of how to build it, however, being a retired engineer being able to build directly from schematics and upload code to the nano makes things quite easy for me, but I think not for a beginner in the business.

    5 replies
    Mr innovativegaryparks1949

    Reply 2 years ago

    I'll try to make my explanation more efficient in upcoming projects thanks for your inputs

    baba1234Mr innovative

    Reply 2 years ago

    hi sir can u plz forwad me the code cause the previous link to the code doesnt work thanks

    garyparks1949Mr innovative

    Reply 2 years ago

    Thank you for your reply. I was not trying to be mean when I commented, But as a retired Electronics Engineer I have had to write Instruction Manuals and Build Manuals. I have found that the "KISS) method is the best way to approach. (KISS Keep It Simple Stupid!). That way even the least trained person with a minimum of experience can usually build from a manual. Again though thank you for the reply. BTW, I'm 68 years young and still myself busy with electronic projects here at home. You don't use it, you lose it!

    Mr innovativegaryparks1949

    Reply 2 years ago

    yes its my honor to have advice from people like you who have a huge experience in your field, this will add more value to my work & KISS is best way to present your ideas, keep motivate us thanks


    Reply 2 years ago

    hi sir can u plz forwad me the code cause the previous link to the code doesnt work thanks


    2 years ago

    hello sir,

    i want to ask you, how to change rpm output to m/s output?

    could you help me to resolve in arduino sketch?. thank you