Flow Meter using Arduino

In this tutorial we are designing flow meter using arduino, basically we use arduino boot loader controller on our custom made PCB.

A flow meter is a device used to measure the flow rate or quantity of a gas or liquid moving through a pipe. Flow measurement applications are very diverse and each situation has its own constraints and engineering requirements. Flow meters are referred to by many names, such as flow gauge, flow indicator, liquid meter, etc. depending on the particular industry; however the function, to measure flow, remains the same.

Flow Meter

Flow Meter
Flow Meter
Components Required
  1. ATmega328
  2. 7-Segment Display Common Cathode
  3. ULN2003
  4. Resistors 330 Ohm
  5. LM7805 Voltage Regulator
  6. 1N4007 Diodes
  7. 1000uF, 10uF, 22pf Capacitor
  8. Xtal 16MHz
  9. Flow Sensor YF-S201

 What are the various types of flow meters?

Positive Displacement (Also known as a Volumetric flow meter or PD flow meter).
Positive displacement flow meters are unique as they are the only meter to directly measure the actual volume. All other types infer the flow rate by making some other type of measurement and equating it to the flow rate. With PD meters, the output signal is directly related to the volume passing through the meter. Includes bi-rotor types (gear, oval gear, helical gear), nutating disc, reciprocating piston, and oscillating or rotary piston.

The output signal is directly related to the mass passing through the meter.
Thermal and Coriolis flow meters fall into this category.

The output signal is directly related to the velocity passing through the meter.

  • Electromagnetic
  • Ultrasonic
  • Turbine, Propeller, and Paddle Wheel or Pelton Wheel
  • Vortex Shedding and Sonar
  • Variable Area and Rotameter
  • Orifice Plate, Open Channel, Flow Nozzle, Laminar, Venturi, and Pitot Tube

Circuit Diagram of Flow Meter

We are not using directly Arduino Board but we are using Arduino Boot loader chip ATmega328 for this project. Connector is provided for programming with RX, TX, RST and GND pins. In this circuit additional outputs are provided to control buzzer or relay for indicating flow rate is below set points. Flow sensor is connected to Pin 4 (PD2) INT0.

Arduino Flow Meter Circuit
Arduino Flow Meter Circuit

Flow meter PCB Layout

PCB layout downloadable pdf files are provided at bottom of the page

Flow Meter PCB Layout
PCB Layout

Flow meter Arduino Code

Coding is done using Arduino Software. we are displaying LPM on the display with two decimal point places. We are using “TimerOne” Library for display scan time generation.


After Assembling Flow meter PCB you can see the zero reading on display. LM7805 used here is SMD type and it is on bottom side of PCB.

Flow Meter Assembled PCB
Assembled Flow Meter


  1. Flow Meter PCB Component Layout
  2. Flow Meter Circuit pdf file
  3. Flow Meter Layout for making PCB


One thought on “Flow Meter using Arduino

Leave a Reply