Arduino Nano: Measuring tiny voltages with an analogue input
There are better experts on the Nano's ADC than me but I'm sure it will have some problems so I would suggest an amplifier for sure. I would recommend an op-amp running from 5V (or whatever the nano uses) and 0V. The op-amp will need rail-to-rail capabilities on input and output and be configured in non-inverting mode with gain that converts 40mV to full-scale on the nano.



If full scale is (say) 3V, you'll need a gain of 3/0.04 = 75. This means R2/R1 = 74 (75 minus 1).

R1 will be happy to be 100 ohms and therefore R2 will be 7400 ohms (7k5 in parallel with 560k gives 7k401 which will hopefully be near enough. The op-amp is only required to run at slow speeds having read your question and there are several devices that will suit. Hold fire while I post the answer and take a look...

The AD8538 looks suitable and so does the AD8628 but there are probably several more that easily fit the bill