Schematic review - smartwatch

Hi, i am building an ESP32-s3 smartwatch that I hope to have GPS, heart rate, accelerometer and gc9a01 display.
The ATGM336h is quite a new GPS IC, so I am a little unsure if I got it right.

I am most unsure on my gc9a01(just the raw display) wiring, my esp32-s3 setup, and the i2c compatibility of the max30102 with my esp32 because I am confused on if its 1.8v i2c and whether I can pull it up to 3.3 and still use it.

For all components I have tried my best to follow the reference designs from existing breakouts, but a lot where pretty weak (excepting the esp32)

For the MAX30102 you need a discrete or integrated voltage-level translator.

Easiest way to check if the schematic is correct is to use the actual components and test the connections on a breadboard type setup.

If things dont work its then fairly easy to make changes to the 'schematic'.

This is a schematic I managed to find for an MAX30102 module, with the logic selector set to 3.3v it simply pulls up the i2c pins to 3.3v?


If the max30102 is 1.8v i2c logic, would one option be to switch to using max30101? it has identical footprint to the max30102 and I believe it is 3.3v i2c logic compatible.

Datasheet for MAX30102 says 0.7 x Vdd is max, 0.7 x 1.8 = 1.26 V

bild

but

So I guess it's tolerant to higher voltage after all.

1 Like

Yes, this is exactly what had me really confused, but the fact that it explicitly states the1.26v max voltage of the i2c pins makes me think they are excluded from the “all other pins can take 6v”

The max30101 is a bit clearer with its i2c pin max voltages.

1.26V (0.7*VDD) is not the maximum voltage for the I2C pins.
This term is only the Input High Voltage or VIH

Any input voltage greater than VIH is guaranteed to be recognized as a logic '1', and any input voltage less than VIL is guaranteed to be recognized as a logic '0'.

What is the reason for not using a simple voltage-level translator?

Or as srnet said:

use the actual components and test the connections on a breadboard type setup.

Try using the MAX30102 by connecting the I2C pins to 3.3V to clear up any doubts.

In case you use a voltage translator, the design will be something like that:
Schematic.pdf (77,4 KB)

1 Like

Ah thanks, that makes sense to me now. The reason I am not using a logic converter is simply because the space on my smartwatch PCB is incredibly tight, so I have try and avoid it. I only have a small amount of experience with SMD, so I am avoiding using small packages.

Hey, did the smartwatch end up working? I want to implement the same gps and if your setup works, i would copy the shematic. Thank you!

Yes, it worked! Ill send an updates schematic when i get home

Even the MAX30102 sensor with 3V3 I2C lines? Or did you end up using a translator? Thanks in advance!

I’ve built a similar ESP32-S3 project, and I’d say watch the I2C voltage levels closely—MAX30102 typically expects 1.8V, so using level shifters is the safest route instead of pulling up to 3.3V. For the GC9A01, double-check the SPI pin assignments and make sure you’re using proper voltage logic—some raw displays don’t tolerate 3.3V well without a buffer.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.