Your proposed schematic show a 0.1 ohm resistor. Assuming this is the shunt you want to use I think you have a major discrepancy here. 3mV/ma = 3V/A = 3 ohms. You are far from 0.1ohm. If you put 500mA into a 0.1ohm resistor you will end-up with only 0.05Volt. That is 50mV, not a lot for accurate reading. At 10bits this is only 50 micro-volts per bit. You are not leaving much room for accuracy. Although feasible with an ADC, reading 50mV may require a bit more expensive chip. Some clarifications required here, I think.
Please tell us what your application goal is (education, build a lab instrument, repair an expensive apparatus)
Can you manage with a simple analog meter ? They work great at 50mV