Using two flow sensors connected to one Arduino.

Super that it works now,

some remarks

if((now - oldTime > 1000))

I would use >= 1000
and the additional ()'s do not add anything :slight_smile:

no need to

    attachInterrupt(IRQ_A, CounterIN, FALLING);
    attachInterrupt(IRQ_B, CounterOUT, FALLING);

at the end of every loop, as you do not detach them (you shouldn't)

writing

float litersPerMinute = (1000.0 * liters)/duration;

makes explicit that the math is done in float (it is, as liters is already float, but just looking at the original line it could have been integer math)

for the readability I would group the math and the display statements in the loop, something like

void loop()
{
  unsigned long now = millis();
  if((now - oldTime >= 1000))
  {
    // TIME MATH
    unsigned long duration = now - oldTime;
    oldTime = now;

    // FLOW MATH
    liters = (countIN - countOUT); 
    float litersPerMinute = (1000.0 * liters)/duration; 
    int LPM = litersPerMinute;           
    pulseCount = pulseCountIN - pulseCountOUT;
    pulseCountIN = 0;
    pulseCountOUT = 0;

    flowRate = (1000.0 / duration) * pulseCount);
    unsigned int frac = (flowRate - int(flowRate))*10;

    // DISPLAY RESULTS
    Serial.println(litersPerMinute, 3);    
    Serial.print("pulseCount: ");
    Serial.print(pulseCount, DEC);
    Serial.println("  ");  // to remove trailing digit when printed on lcd iso serial
  }
}

How many pulses do the devices give per liter?