Hey guys
I wanted to create a milliohm meter a while back, using the 4 wire measurement method. The first prototype worked fine but had some issues, especially with op amp stability, very limited range and a few other minor issues. It also didn't look clean at all but was a good starting point.
Version 2.0 replaces the 16 bit ADC with a 2 bit one, has 6 current ranges (up from 2) which means it can measure to about 200k\$\Omega\$ (I figured above that 4 wire measurement has no advantage over a regular voltage divider circuit). To keep high accuracy all the filter caps are C0G(NP0) and every resistor on the board is 0.1% with 15ppm temp co or better (except the giant 1ohm shunt, R3).I also redesigned the power button (it only turns on a fet, so virtually no current flows through it) to improve it's life and add to the stability of the entire circuit. my schematic is extremely messy at this point, so I will publish it after cleaning it up later. The PCB is meant to be used as a front panel on top of the box, which basically turns it into a 1 sided PCB which is less than ideal. The PCB itself is really crammed and I had to use a lot of vias and tracks under the display to make it work. Here are some small clips of me testing different sections of the PCB and the final design as of now. Please check them out and tell me what you think




(I will only use the black and red plugs, not the non insulated one)
Also here is a "block diagram" if you will:

1) Power delivery
2) MCU (Atmega328P-AU)
3)ADC input filtering
4) 24 bit ADC (ADS1219)
5)1V voltage reference
6)Current output stage
7)different value shunt resistors + dual mosfets as switches
Here is a test of the OLED module using the IMPACT font (that will be customizable by end user!):
https://streamable.com/8w75eAlso here is me getting excited way too much about the new power button design:
https://streamable.com/dx1lzhttps://streamable.com/vxweyOverall it's taken me about 8 months to get to this stage and I'm very excited about it!
I have kept the design goal as original: to achieve better than 1m\$\Omega\$ (and potentially even better 100u\$\Omega\$, although I don't have any calibrated equipment to confirm that!) for much cheaper than the industrial solutions on the market and I think I have been able to achieve it

Future upgrades that I currently have in mind are:
1) adding protection to all inputs and power rails (not enough space on this PCB and the larger PCBs will cost a lot more. I'm ordering from JLCPCB and the limit on the PCB sizes is 100x100. my other option is to get a custom size box manufactured in china as the next size up box will exceed 100x100mm. please let me know if I can get cheap boxes made)
2) adding common resistor footprints to the top of the PCB (between force and sense pins) to allow direct measurement on the board without any need for wires. For that please write the common low value shunt resistor footprints that you would like to use, I will add the most popular ones)
Feel free to add more upgrades that you would like to see and provide some feedback on the overall design. what would you do differently? where can I improve this design?