I'm testing the Seeeduino v4.2 board with the ADCInOutSerial code in the Arduino IDE and the lowest voltage the board can read is 18 mV, showing an equivalent ADC of 4 on the serial monitor. The chip that the board uses is the ATmega328P. It works on a 5 V power supply and has a 10-bit ADC (1024 levels), so the voltage that I calculated for an ADC level of 1 is, 5/1024 = x/1, where x is the equivalent voltage for the ADC level of 1, which comes to 5 mV.
But the board fails to read anything below 18 mV. Is this normal for the chip to be unable to read an ADV value below 18 mV or am I going wrong somewhere?
I tested the voltage using a multimeter.