Introduction: How to Make Arduino Based Digital Tachometer Simple DIY Tutorial

Picture of How to Make Arduino Based Digital Tachometer Simple DIY Tutorial

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

Step 1: Video

Step 2: Material Reuired

Picture of 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

Picture of 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

Picture of 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

Picture of 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


mb_lenggries (author)2018-01-15

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.

man_thas_cool (author)2017-08-07

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!

ArcAiN6 (author)2017-07-13

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.

Mr innovative (author)ArcAiN62017-07-13

it is fix,

garyparks1949 (author)2017-03-30

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.

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

baba1234 (author)Mr innovative2017-06-16

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

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!

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

baba1234 (author)garyparks19492017-06-16

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

RomiT1 (author)2017-05-22

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

fourstar (author)2017-04-05

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



w00dman62 (author)2017-03-16

If you download the pdf there is no code link. Bummer

HarunÖ4 (author)SeanM1242017-03-28

thank you bro.Have a nice day

SeanM124 (author)HarunÖ42017-03-29

you too

w00dman62 (author)SeanM1242017-03-16

Thanks much. I think this is a great project and want to build one!

sasi07 (author)2017-03-18

Can arduino uno be used

Mr innovative (author)sasi072017-03-18


Ralphxyz (author)2017-03-16

Your interrupt does not look very efficient, I thought one wants to be in and out of an interrupt as fast as possible, you even have a delay in it. Of course as you are only doing one thing it probable does not matter. I would be doing more things.

MichaelW623 (author)Ralphxyz2017-03-17

I may be wrong, but it appears that the interrupt is only increasing a counter. The loop turns off the interrupt while it is doing the calculation and lcd.print operation. I see this as a problem as without the interrupt running, it cannot count. The lcd.print operation takes quite a long time from what I have seen, but again, I may be wrong.

Ralphxyz (author)MichaelW6232017-03-17

the thing is that all that should be done within the interrupt is the counter is increased period. Nothing else. If you need a delay do it outside of the interrupt.

MichaelW623 (author)Ralphxyz2017-03-17

It appeared to me that that was all that was being done, but again, I am new at coding. The delay is in the loop, outside of the interrupt. The only thing being done in the interrupt is:


PaulG302 (author)2017-03-14

Hi, I do not have an LCD display, you can write code to monitor serial?

Thank you!

Mr innovative (author)PaulG3022017-03-16

yes it is possible you can get RPM reading directly on serial monitor , even if you can attache a Bluetooth module one can get RPM reading directly on mobile i will try this and post it soon

WannaDuino (author)2017-03-16

have to say i like this,

can this be used in the rc world to check the motors or proppelors?


PierluigiF1 (author)2017-03-16

The code link is not working anymore.....

CharlieM92 (author)PierluigiF12017-03-16

I found it in the comments of the video:

tk42967 (author)2017-03-16

This would be awesome to package into an old flashlight housing.

spatial guy (author)2017-03-16

Genius!! - exactly what I need right now. Can't thank you enough. Cheers

sanjaykray (author)2017-03-10

btw TFS .

Mr innovative (author)sanjaykray2017-03-10


sanjaykray (author)2017-03-10

fantastic project, I'm thinking of using it with my CNC spindle to get the exact rpm reading

Tominaz (author)2017-03-09

neat project. I really like your use of the nano. most are using the larger boards. using I2l is really neat expect to see many projects that talk to the several different functions.
good job thanks

Mr innovative (author)Tominaz2017-03-10

thank you very much to acknowledge our work.

degrooty (author)2017-03-07

Enter this in the "Build a Tool" contest!! It is perfect!

Mr innovative (author)degrooty2017-03-07

i applied, thanks

Mr innovative (author)2017-03-07


About This Instructable




Bio: Electrical engineer by profession
More by Mr innovative:DIY Arduino Based Automatic Wire Cutting MachineDIY Mini CNC Plotter Machine How to Make Record and Play Servo Based Robotic Arm
Add instructable to: