How do I know if I'm using the correct voltage?

I'm trying to use this module: https://pt.aliexpress.com/item/33059490400.html?spm=a2g0s.9042311.0.0.477eb90aDEV4Ms

It's a ICM-20948 from Invense. The chip datasheet is here: http://www.invensense.com/wp-content/uploads/2016/06/DS-000189-ICM-20948-v1.3.pdf

The datasheet shows the chip uses a 1.71 to 3.6V VDD and 1.71 to 1.95 VDDIO.

The sensor (aliexpress page) just says: VDD operating range of 1.71V to 3.6V

I'm using an Eleego Mega 2560 R3 Board (ATMega2560): Amazon.com

My question is: Can I just plug this sensor VCC pin to the 3.3V of my board and use it normally?

What about the voltage of the IO pins? (which are supposed to be of a maximum of 1.95V).

Please help me. I'm good with software, but completely newbie to these eletricity things

You DO need a bidirectional levelshifter like the kind sold by Sparkfun and Adafruit !

Set the Vcc for the level shifter to match your chip
which means you need a power supply that can
be adjusted to that voltage.
Google this or just use an LM317

Thanks for taking time to help me, raschemmel.

But since the sensor board says it can operate in the 1.71 - 3.6V range and I have a 3.3V output in the eleego board, shouldn't it just work by using a direct connection?

Or are you talking about using this levelshifter in the IO pins?

The level shifter is for the i/o pins. Power the sensor and the low-voltage side of the shifter from 3.3V.

The level shifter is for the i/o pins. Power the sensor and the low-voltage side of the shifter from 3.3V

The datasheet shows the chip uses a 1.71 to 3.6V VDD and 1.71 to 1.95 VDDIO.

And it allows VDD+0.5 on the SDA and SCL pins.

Still looks like a tough sensor to talk to with a 5V Arduino. Maybe pick a different one?

Thanks guys! I think I'm now understanding it!

But I need to provide to the level shifter a high (3.3V or 5V) and a low voltage (1.8V), right?

Since my board has a 3.3V output, I still need to produce a 1.8V for the shifter. How should I do it?

But I need to provide to the level shifter a high (3.3V or 5V) and a low voltage (1.8V), right?

You apparently are not familiar with how level shifters work.
RTDD (Read The Damn Datasheet)
TXB0104

LOOK AT THE CHIP PINS !

What do you see ?
How many Vccs are there ?
There is ONE FOR THE HV (High Voltage) SIDE
AND
ONE FOR THE LV (Low Voltage) SIDE

In your case , the LV side should be about 1.8Vdc
The HV side should match the Vcc of the MCU controlling the chip.

The terms "INPUT" and "OUTPUT" are N/A (Not Applicable) , for the simple reason the level shifter
is BIDIRECTIONAL so both sides are both INPUTS AND OUTPUTS, just not at the same time.
It is designed for I2C which is bidirectional on the same pins but most other applications are
interfacing an output on the left side to and input on the right side while interfacing outputs
on the right side to inputs on the left side. I2C , on the other hand goes both ways on the same
pin, just not at the same time.
The most important part is setting the side that goes to the sensor to 1.8V. (the LV side)

That breakout only has one VCC pin and it appears that the I2C pullups go to that pin. So there is no opportunity to use 1.8V on that board unless the whole thing is powered at that voltage.

So you would need a 1.8V power supply.

Better versions of the breakout would have a 1.8V supply and level converters onboard.

Is there some other reason why you chose this breakout? It seems unsuitable for a 5V Arduino.

That breakout only has one VCC pin

Which breakout ?

The TXB0104 has two Vccs , called LV (Low Voltage) and HV (High Voltage)

raschemmel:
Which breakout ?

The first link in the first post.

MorganS:
That breakout only has one VCC pin and it appears that the I2C pullups go to that pin. So there is no opportunity to use 1.8V on that board unless the whole thing is powered at that voltage.

By reading the answers here, I think it is indeed possible.

If I understood it right, what I have to do is:

  • power that sensor board with the 3.3V pin of my eleego atmega 2560 board;
  • use a bidirectional level shifter like the TXB0104;
  • plug the 3.3V pin of my eleego atmega 2560 board in the high voltage pin of the TXB0104;
  • use a LM317 to convert the 3.3V of my eleego board to create a 1.8V (using two resistors to regulate the LM317);
  • plug that 1.8V in the low voltage of the TXB0104;
  • plug the logical pins of the sensor board in the low logical pins of the TXB0104;
  • plug the high pins of the TXB0104 in the logical pins of my eleego board;

Have fun with the programming!

Am I right?

100%

faustoblanco:

  • use a LM317 to convert the 3.3V of my eleego board to create a 1.8V (using two resistors to regulate the LM317);

The LM317 is not a low dropout regulator, and needs at least 1.5volt (2volt) headroom.
Leo..

He means you need to power it with 5V

"Since my board has a 3.3V output, I still need to produce a 1.8V for the shifter. How should I do it?"

Well, I'd probably just use two diodes between the 3.3v to get ~1,6v at the 1,8v input point.

No,Wawa meant 3.3 is too low to power the
LM317. It needs 5V in (like an LM7805) to output 1.8V.

Thanks guys!