So part of
Project Pimp My Cheap Lab PSU was replacing the factory ICL7107-based panel meters with something better, both in precision and in update rate.
Finding panel meters (both 7-segment as well as MCU-based with 1602 or graphical LCDs) with added precision is easy; finding them with good accuracy and high update rate is not, as it turns out. Many of them have stupid dead zones around zero, making them useless for low values. Most update at just 3x per second, which I find super annoying.
I decided to see how a DIY solution might do, and came across the INA226 and ordered one. I'm floored. This little $4 chip has a voltage range of 0-36V with milllivolt resolution (i.e. 36000 counts or 5.5 digits) at a default (slowest/most accurate) measurement rate of 120Hz (or much higher with reduced accuracy). At that rate, using just 4-sample averaging, it remains within 3 counts of my Keithley 2015!! (For current, its range is +/-32,768 counts covering +/-81.92mV, the actual current range being determined by the value of the shunt resistor.) It outputs on I2C, and there are a few Arduino libraries for it.
An Arduino Uno, with my crappy unoptimized code, can update a 1602 LCD at over 60Hz, more than enough to provide a responsive feel FAR more usable than the 3-per-second meters. (For fun, I wanted to see how fast an Arduino Due could update, but the INA226 library I'm using won't compile for ARM, and my programming skills are far too rudimentary to understand the problem and fix it.)
Anyone else done any cool projects with this chip? (Or the other members of its family? TI seems to have a stable of related chips.)