How to connect to measure voltage? - UPDATED

Please, help me.

Hi, I'm using the WCMCU-333 INA333 module but I was dealing with wavering in VREF pin. VREF pin should be 1.65V and it's important because interfere on the VOUT voltage. The gain is G = 1 + (100kΩ/RG) and VOUT = VREF + G*(VIN+ - VIN-). I found some information here (https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1506407/ina333-cjmcu-333-mcu-and-impedance-to-ground) and probably is a module design problem. So I tried to connect the VREF pin directly to the GND pin, the guy from this video did the same (https://www.youtube.com/watch?v=vMIeOlVyKOw). But the VOUT is wavering even with VREF connected to ground. The module schematics is showed below and the INA333 datasheet is here: https://www.ti.com/lit/ds/symlink/ina333.pdf?ts=1776866629009&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct-category%252Famplifiers%252Finstrumentation%252Fproducts.html

Module schematics:



How are you measuring this and how frequent is the varying? By your schematic, the only way VREF can vary is if your 3.3 volts is also varying.

I was connecting the V- pin from WCMCU-333 module at the signal generator negative side and the V+ at the positive. But I didn't connected the negative side from signal generator to the GND from my entire system (ESP32 + WCMCU-333). I did this connection and stopped wavering.

So, every time I want to measure something the GND should be shared? This sytem will be used for another users, my idea was 2 wires plugged to my system to measure the voltage. Before, if the users connect the wires inverted there wouldn't be any problem. But now I'm wondering how I will design this, in my head one connector should be connected directly to GND from my system. And if the user invert the wires?

Another important information here: the goal is to measure low-voltage (0 mV to 1V), from a floating gound Microbial Fuel Cell, here is an example:

It's fundamental! Every "circuit" must be electrically complete and every measurement must be to some reference. The reference is usually called ground or sometime common.

And how about the inverted connection? How can I deal with it?

You still have to measure between TWO points! Just identify what those two points are when you document the voltage.

Inverted connection of what. Inverted polarity of the fuel cell?
You must connect one side of the cell to a reference voltage (not ground, unless you use a bi-polar supplly), to stay within the common-mode range of the INA of GND+0.1V and VCC-0.1V. That will automagically take care of input polarity.
You need full understanding of instrumentation opamps to complete this project. Do you?
Leo..

I'm acquiring this knowledge, it's a college project, so I'm learning with it.
I know about this limitation (GND + 0.1V), but I tested the module with many voltages from the signal generator lower than 0.1V and worked well.

I'm using VREF connected to the ground. I'm doing this because I want output voltages lower than 2V. Maybe the WCMCU-333 here is not necessary, because I'm using the ADS1115 too. I'm using the WCMCU-333 because I read that I can find problems with noise or impedance. The currently WCMCU-333 gain was set close to 1x, the ADS1115 is who amplifies the signal. As I said previously the voltage range that I want to measure is 0mV to 1V, and I want to have the highest precision as possible, so the input voltage at the ADS1115 should be the lowest as possible to increase precision. That's why I want output voltages from WCMCU-333 lower than 2V and that's why I connected VREF to GND, if not, the VREF would be 1.65V, and if my input was the highest (1V), the output would be greater than 2V, decreasing precision.

So I will test two circuits, one using just the ADS1115, and another using the WCMCU-333 with ADS1115.

My doubt here is: can I connect VIN- to the GND and also to any side of my cell? The VIN+ will be connected to the other side. Is there any problem if the VIN+ be connected to the negative side of the cell and VIN- to the positive side and the GND from the circuit? I'm assuming the WCMCU-333 is uni-polar supply.

The same question if I just use the ADS1115, how would be the connection?

I learned, from my previous test with the signal generator that the GND from signal generator should be connected to my system GND. The same with the cells, right? The question here is that I don't know which side of the cell is equivalent to the GND, and what if the GND from my system be connected to the side that isn't the cell "GND"?

As I said, I'm learning, so any advice is great.

You are going to need to spend some time learning analog circuits to make this type of measurement accurately. In order to measure microvolt level signals, you will probably need to use a combination of high-resolution Analog-to-Digital Converters (ADCs) and signal conditioning circuits to amplify and isolate the tiny voltage before digitization.

Standard multimeters lack the resolution for this range; instead, precision bench top multimeters (capable of 0.1 µV resolution) or custom circuits using 22-bit delta-sigma ADCs like the MCP3551 are required.

Circuit design and layout is critical for correct measurements. The best way is to purchase a commerical 7 digit multimeter; Keithley has a nice one: Keithley 2010 Series: 7.5 Digit Multimeter with Scanning | Tektronix

Differential or common mode.
Differential is nor a problem, common mode is.
So keep both fuel cell terminals within the common mode range.

Another problem. The INA can't output down to 0volt on a single 3V3 supply.
Minimum is about 50mV according to the datasheet.

Fix one problem, introduce another. No measurement below 100mV if you ground one side.

You need to study common mode limitations and output swing limitations.
Both will bite you with the INA.

What load current can this fuel cell sustain.
You can find input resistances in the INA/ADS datasheets.
The ADS has a lower imput impedance at higher gains IIRC.
Your DMM is likely 10MegOhm.

I think the ADS1115 in differential mode is the safest choice for your experiments, since it has internal biasing of the inputs on 0.7volt. Assuming the fuel cell can sutain the input impedance of the ADS.
Don't use the multiplexer that you mentioned in your cross post. Just use as many ADS1115 boards as you have fuel cell setups (two fuel cells per ADS), and switch between them with the ADS's I2C address pin.
Leo..

If you use two small batteries to make a bipolar supply for the INA333, then all your problems are solved.

They should last for years.

There are simpler circuits to do what you want.

What he wants is in his previous thread.

Do you still want help?

That will fix the problems if OP goes with the INA133.
If OP understands why and can set references correctly.
I would however only use one AA for the negative side.
The positive side can be 3V3 to get the output swing for the ESP.
With OP's current level of understanding and 12-input requirement I think it's better to go for six ADS1115 boards and I2C switching.
Leo..

If you still want help, just ask, I have other suggestions.

Can I build a voltage divider using the 3.3V from ESP32? Maybe I just use the ADS1115, in this case I would supply with 3.3V. But I need to use a reference voltage to my cells. If I use 1.65V would be great, I could make an inverted connection without errors. What do I need to build this circuit instead of using a batterie?

Yes, please. Any suggestion could help.

I'm using AI to find other solutions also.

The AI recommended this below, what you guys think? Is it work?

AI recommendation:

The two key points:

  1. We need a stable mid-supply reference (VDD/2 = 1.65 V from the 3.3 V rail) so the ADC inputs never float and stay within the safe common-mode range.
  2. If a user swaps the electrode wires, the absolute voltage on any pin stays positive (between 0 V and 3.3 V), so nothing gets damaged – the ADC just reads a negative differential value.

Minimal circuit (4 resistors + 1 capacitor):

  • Create 1.65 V (Vmid): Two 100 kΩ resistors as a voltage divider between 3.3 V and GND. The midpoint is Vmid (~1.65 V). Add a 10 µF electrolytic capacitor from Vmid to GND to keep it steady (positive leg to Vmid, negative to GND).
  • Bias the ADC inputs to Vmid: Connect a 1 MΩ resistor from AIN0 to Vmid, and another 1 MΩ from AIN1 to Vmid. This sets the DC operating point to 1.65 V on both pins, with negligible current drawn from the electrodes.
  • Connect your source (fuel cell) across AIN0 and AIN1. If you want extra protection, put a 1 kΩ resistor in series with each input, and optionally a 0.1 µF capacitor from each pin to GND for noise filtering.

Why this works:

  • With no signal, both AIN0 and AIN1 sit at ~1.65 V → differential reading = 0.
  • A positive signal (e.g., +100 mV) lifts AIN0 to ~1.70 V and lowers AIN1 to ~1.60 V → reading = +100 mV.
  • If the user swaps the wires, the voltages just swap symmetrically (AIN0 ~1.60 V, AIN1 ~1.70 V) → reading = –100 mV, still within 0–3.3 V, totally safe.

Testing without the real cell:
Use a 1.5 V battery and a 10 kΩ potentiometer as a floating adjustable source (0–1.5 V). Connect the wiper and one end to AIN0/AIN1. That avoids ground loops from a mains-powered signal generator. You can then verify that inverting the wires just flips the sign.

From the ADS1115 datasheet.
What does this tell you. Note the 0.7V