Stroboscope is a convenient and accurate enough instrument to measure speeds of rotating objects in homes or industries. One can use it to find the speed of fans, motors or any other rotating object.

Stroboscope is nothing but a flashing light that can provide sharp light pulses at a variable rate. If a rotating object is observed in a powerful beam of pulsed light with frequency matching the rotations per second of the rotating object, the rotating object appears to be stationary. So the speed of any rotating object can be calculated by varying the pulse rate until the rotating object appears stationary. Once this state is achieved, revolutions per minute (rpm) of the rotating object will be equal to the pulse time.

Circuit and working

Fig. 1 shows the circuit of microcontroller-based stroboscope. It comprises microcontroller PIC16F73 (IC1), regulator 7805 (IC2), three-digit common anode 7-segment display KLT363 (DIS1) and a few discrete components.

Microcontroller. PIC16F73 (IC1) is the heart of the stroboscope and provides a wide range of short pulses. It is a powerful microcontroller that provides an ideal solution for hobby and industrial development.

Fig. 1: Circuit of the LED stroboscope
Fig. 1: Circuit of the LED stroboscope

PIC16F73 is an 8-bit, high-performance, low-power RISC CPU. Its main features are 4kB flash, 192 bytes of RAM, three input/output (I/O) ports, 8-bit 5-channel analogue-to-digital converter (ADC), three timers and watchdog timer with its own on-chip R-C oscillator for reliable operation. The microcontroller can recognise and execute only 35 simple instructions. All instructions, except branches, are single-cycle.

Port pins RB0 through RB7 of microcontroller IC1 are connected to segments ‘a’ through ‘g’ and ‘dp’ of three-digit 7-segment display DIS1 as shown in Fig. 1.

Port pins RC1, RC2 and RC3 are connected to the bases of transistors T4, T3 and T2 to drive common-anode pins 12, 9 and 8 of DIS1, respectively. When these port pins go low, transistor T2 is driven into saturation, providing supply to common-anode pins of DIS1.

Fig. 2: An actual-size, single-side PCB for the LED stroboscope
Fig. 2: An actual-size, single-side PCB for the LED stroboscope

Microcontroller IC1 provides segment data and display-enable signals simultaneously in time-division multiplexed mode for displaying a particular number on the 7-segment display unit. Segment data and display-enable pulses for the display are refreshed very fast. Thus the display appears to be continuous even though its segments light up one by one.

Fig. 3: Component layout for the PCB
Fig. 3: Component layout for the PCB

Download PCB and Component Layout PDFs: Click here

Multi-turn trimpot VR1 is used to change the time period of stroboscope pulse. Port pin RC0 of microcontroller IC1 drives MOSFET T5 to produce pulsed light through LED2 for speed measurement. Resistor R11 limits the current through LED2. Its value depends on the LED used.


The time period of pulses varies from 0.5 ms to 100 ms, which is arranged in two steps: when switch S2 is closed, port pin RC4 goes low and the displayed pulse rate is one-fourth the actual value. Then, if the display reads 20 ms, the actual pulse rate is 80 ms. Similarly, if S3 is closed after freezing the object, the displayed pulse rate will be double the actual value.

Switch S4 is used for slip measurement of induction motors. When it holds port pin RC6 to a high logic, the display becomes inactive and pulses are derived as per the input square wave fed to port pin RC5. This square wave is generated from the AC secondary voltage of transformer X1 using transistor T1 with frequency equal to that of mains supply. Therefore by this light pulse, any AC motor will appear to be stationary if it runs exactly at the synchronous speeds. Due to slip, the motor shaft appears to move in the opposite direction slowly. Since the movement is very slow, this can be counted with a watch. With different loads on the shaft of the induction motor, the slip varies. External pulse can also be fed to port pin RC5 with suitable jumper setting of CON1.

Switch S5 is interfaced with port pin RA4. When it is pressed, the display directly shows revolutions per second on display DIS1. Otherwise, it shows the time period of pulses.

A 20MHz crystal (XTAL) along with two 22pF capacitors provides the basic clock frequency to the microcontroller. Resistor R3 and capacitor C3 are used to provide power-on reset to the microcontroller. Switch S1 is used for manual reset.

To derive the power supply for the circuit, the 230V AC mains supply is stepped down by transformer X1 to deliver a secondary output of 12 V-0-12 V, 2 A. The transformer output is rectified by a full-wave rectifier comprising diodes D1 and D2, filtered by capacitor C1 and regulated by IC 7805 (IC2). Capacitor C2 bypasses ripples present in the regulated supply. LED1 acts as the power indicator and resistor R12 limits the current through LED1.

Construction and testing
An actual-size, single-side PCB for the microcontroller-based stroboscope is shown in Fig. 2 and its component layout in Fig. 3. Assemble the circuit on a PCB as it saves time and minimises assembly errors. Carefully assemble the components and double-check for any overlooked error. Use IC base for the microcontroller.


  1. Can we directly burn the hex code given in the dowload file, to the microcontroller?
    Also can we use any other programmer intead of PIC KIT2 ?

  2. Yes, you can load the hex code given here into the controller. You can use any other programmer that can be used for PIC16F73 controller.

  3. Can u please provide the formula used in the circuit to convert pulse rate into RPM. It will be very helpful to me. Thank You


Please enter your comment!
Please enter your name here