Well, I missed the boat on the nV design challenge, but I have been working on a nV meter which is at the proof-of-concept stage and thought I would share the design for the benefit of those who are interested. At this stage in testing and writing code, it is more of a DC-accurate LNA, and I will include that block of the schematic as I clean up the rest of it. In the name of getting a handle on how this behaves, I didn't get into charge injection cancellation for the input switching, but as I will explain below, a main motivation of the design is to enable minimal current noise while maintaining low voltage noise and drift. The noise spectral density I measured is 1.2 nV/rtHz, which is flat above 25 mHz, but I suspect some of the apparent 1/f noise is the product of thermal variability. Calculating this out, the 0.1-10 Hz p-p noise is around 22 nV (99.7% probability). I haven't measured thermal drift per se, but the natural experiment of living in an old house with no insulation as winter approaches allows me to put it at <7 nV/K. Again, I suspect that further testing with a fully assembled instrument will bring this number down. With a switching frequency of 330 Hz, the residual offset is about 550 nV, rising to around 670 nV at 990 Hz and 1.2 uV at ca. 5 kHz. The time domain trace I've attached is centered at ~550 nV, but I subtracted this offset for ease of interpretation. The heat kicked on around 12000s, hence the jump. It is probably mostly thermocouple effects at the meter terminals, which I'll have to shield in the future. The amplifier was shielded more from this, so I wouldn't expect it to react that quickly. In preliminary testing, the gain (1001x or 101x) does not impact the input offset voltage.
I adapted the design from an AC coupled LNA I have been working on and kept the skeleton of the input stage because I know it works. The modulator switches connect the input and feedback alternately between the two inputs of a differential pair, and the demodulator switches connect the outputs of this differential pair to the inverting and non-inverting terminals of an op amp. In itself, this would give a DC-offset square wave with an amplitude equal to gain * Vos of the differential pair and a pulsating input current proportional to Vos * Cin. The average value of this would be Vin * gain. To reduce the AC portion of this, the output is HP filtered and (re)modulated between a pair of integrators that drive a second differential pair that servos the current in each leg of the first one to drive the inputs to the same voltage. This considerably reduces clock feedthrough and input current pulsation.
There are a couple design choices I made whose motivation may not be immediately apparent, so I'll go into a bit more depth on those. The whole system is frequency modulated (I'll call this chopped despite some ambiguity in how this term is used) to avoid a noise penalty of 3 dB in sampled (time modulated or autozeroed) systems. Obviously, we do pay this penalty by using a diff pair rather than a single-ended amplifier, but I have seen a few time-modulated, single-ended designs, and exploring this topology was more interesting to me, so this is where I took the 3 dB hit. The main diff pair uses a pair of PNP BJTs in the "transconductance enhancer" configuration. Because the op amp output is single ended, the op amp has to go outside of the mod/demod block to keep the entire system frequency modulated. As such, the mod/demod block really just serves to attenuate the input offset voltage of the op amp by the differential gain of the long tailed pair. Ditto noise and TCVos, though the former is limited by the noise of the diff pair itself, and the latter is limited by parasitic thermocouples, etc. There is a limit to how far you can push this gain and have the circuit remain stable, which is why the Av=101 at DC divider maintains ~60 dB gain at high frequencies. One can imagine various ways around this, but for me that would have been more design overhead and (probably) complexity. Anyways, the transconductance enhancer helps push that gain as high as is feasible.
It is possible to construct this with a single integrator and an SPST switch, with the base of Q5B tied to GND. This works well with ideal switches in simulation, but it suffers more from the parasitics of actual CMOS switches. To the extent that the sources of U13 are matched with respect to charge injection, with dual integrators, that becomes a common mode term and is attenuated reasonably well by the CMRR of the servo diff pair. The HP filter and the integrators are both two pole filters, to improve rejection of signal frequencies near the switching frequency. Signals or "signals" that are coherent with the clock frequency (e.g., EMI from the clock traces) do lead to a Vos of the input diff pair, but this is modulated up to the clock frequency rather than appearing as a DC term.
Elsewhere in the design (I'll include the full schematics and design files once things are cleaned up), the clock signals originate from an STM32L432 running at 10 MHz (about 1.2 mA current draw). The output of this chopper-stabilized amplifier is fed through a fourth order Butterworth filter with fc=100 Hz using OPA2205A in a Sallen-Key topology. The data captures and FFTs I took were from the output of this filter. This is converted to a differential signal by another OPA2205A for conversion with an LTC2442. The digital output will be transmitted to a PC via UART (through an optoisolator) to USB with an FT230X. The whole thing draws around 32 mA on the positive rail and 27 mA on the negative rail. Also, there is a TMP117 on the board for monitoring temperature. All these elements are populated, but I haven't written the code yet.
Edit: corrected some erroneous values for resistors R41 and R56. Thanks to Kleinstein for catching this.