Hi sphinx,
For measuring current it is generally a complex task, because you need to amplify the low voltage across the shunt, so generally you will have some problems of offset due to the OP Amp, you need also a good voltage Ref for a good precision and stability of the measure.
At the end you will have some trimming to do to compensate AOP offset.
The solution I use is an low cost ADC of Microchip the MCP3421, its is an ADC 18-Bit I2C Interface with variable resolutions (15 SPS for 16 bit, 60 SPS 14bit, 3.75 SPS 18bit), it include of good Ref of 2.048v +-0.05% and a PGA with selectable GAIN (1,2,4,8)
I use it to measure the current in low side (shunt is between GND and the load) with a SHUNT of 0.1 Ohm 1% with PGA x8.
If you need an other channel for reading voltage it is possible to use the MCP3422 with 2 channels or MCP3424 4 channels (exists in SOIC package more easy to solder).
MCP3422
The only problem, is that the MCP3421 chip exists only in SMD SOT-23-6, but if SMD is not a problem it is the best candidate for this.
Some other chip can be used but needs good Ref or have not a PGA, like : LTC2400 (not cheap), ADS1115 (easy to find on eBay), ADS1118 ...
Best regards
See:
http://interface.khm.de/index.php/lab-log/connect-a-mcp3421-18-bit-analog-to-digital-converter-to-an-arduino-board/See:
http://www.esp8266-projects.com/2015/04/18-bit-adc-mcp3421-i2c-driver-esp8266.htmlA project that seams at what you want to do:
Site:
http://www.elektroda.pl/rtvforum/topic2575274.html