You know how it is—you grab one cute little AliExpress module, then another… so I finally put an ESP32-C3 to work. Under the microscope it looks solid (nice 3.3V reg, ceramic antenna I’m not trusting for Wi‑Fi), and I paired it with a MAX30102 heart-rate/SpO2 sensor. Wired up I2C (SCL pin 6, SDA pin 5, INT to pin 2, 5V in), ran a scan, and boom—two devices found. After some finger-fiddling, the readings matched a commercial oximeter. Code’s on GitHub—cheap, fun, and it works.
You know how it is. You buy one cute little module and then think “it looks lonely, I’ll get another”.
Before you know it, you’ve got a lot of cute little modules.
Actually, all that’s been happening is that every time I place an order on AliExpress
I forget that I’ve already ordered some of these modules and add another one to the basket
as they are crazy cheap.
So it’s time we put one of these boards to work and did a little project.
But let’s take a look at one under the microscope.
I have been burned recently by dodgy soldering on cheap things.
As always, this video is sponsored by PCBWay.
We’ve used them for a lot of PCBs now and they’ve been great.
There’s a link in the description.
So here’s the brains of the operation.
An ESP32-C3.
Looking at the code, it’s got built-in flash.
It’s high temperature and there’s four megabytes of it.
So that’s pretty decent.
Here’s the 3.3 volt regulator.
Do the old solid check.
So it seems like it’s nicely soldered on.
Can’t see any issues there.
It’s a pretty nice board really.
It’s quite nicely designed.
Looks quite clean.
The antenna is this ceramic jobby on this side.
So that’s the antenna here.
Now I have read a few people saying that on these tiny very compact boards
you don’t get much wi-fi signal on those antennas due to the placement of them
being a bit too close to the buttons and stuff.
So we’ll probably try and avoid doing any wi-fi work with this board for now.
But let’s try and think of a project we can do.
Now one thing that I have got
I have this quite nice heart rate and blood oxygen monitoring module
that I got in recent AliExpress unbagging.
So this is a MAX30102.
It’s pretty interesting.
So on this board we do have a variety of things.
So let’s just get focused.
So the first thing to note is we have this 3.3 volt regulator.
This is a little boost IC.
You can take a variety of voltages in and gives 3.3 volts out on this pin.
Seems to be pretty solid as well.
Do the old solid check.
And then there’s also a 1.8 volt regulator here.
Now I have read a few things where some people have found that actually
this is a 2.8 volt regulator rather than 1.8.
Pretty important that it is correct.
Now I’ve checked the voltage on this and it is fine.
But the really interesting thing on this board is the actual sensor.
So let’s zoom down on this and have a close inspection of it.
So this is really interesting.
So on this side here through this window these are actually two LEDs.
So this bottom one is a red LED and this top one is an infrared LED.
And then here we have a sensor and a whole bunch of DSP processing stuff.
It’s interesting the actual outputs from this device
are actually just the value of the red and the value of the infrared.
Let’s power it on so I’ll just plug in the module.
So I’ve got it powered on.
Now you can easily see the red LED but if I cover this up slightly
and just move the lights away you can see a slight glow from the infrared LED.
So the camera on my microscope is picking up the infrared coming out of that LED.
So that’s pretty interesting to see.
Yeah pretty cool.
So let’s get it all wired up and see if we can actually make this work.
But yeah that’s pretty fascinating to see.
So we have the red LED and we have this nice infrared LED lighting up.
And then you basically stick your finger on top and it detects the pulse rate using the red LED
and it detects the oxygen levels using the infrared LED.
Yeah pretty interesting but let’s try it out see if it actually works.
So the wiring up is pretty simple.
So we’re going to connect pin 6 to SCL which should be this one here.
Pin 5 will do SDA so just connect pin 5 over to SDA which is this one.
So that’s our I2C connections wired up.
This top pin here is the interrupt pin so that tells us when we’ve got data.
I’ll connect that to pin 2 I think.
And then we just need power and ground.
So I’ll power it off 5 volts because it’s got a 3.3 volt regulator.
So we can connect V5 I can get that in V5 and this one there that’s Vin.
And then of course we need ground so connect ground that goes to this top one.
So that should be all the wiring we actually need.
Let’s run the old wire scan see if it actually detects it.
Okay so I’ve got the old wire scan sketch here.
Let’s upload this and see if it actually detects our heart rate monitor and it should show up.
Let’s see what happens.
So assuming I’ve got my wiring correct of course something should show up.
So let’s have a look.
We have anything oh there we go oh perfect that’s working.
So two devices showing up.
So the reason we’ve got two devices is obviously we have an I2C display
and we have our heart rate oxygen monitor.
So that’s working nicely.
So I’ve got a sketch uploaded here that should be reading from the sensor.
You can see it dumping out a whole bunch of stuff on the serial monitor.
I’ve got it hooked up to a nice little display here so heart rate and oxygen levels.
Let’s stick my finger on top of the sensor and see if we can get some readings to come out.
It can be a bit a bit panickety about finger placement and keeping it very still.
But hopefully it should slowly settle and start producing some results.
There we go.
Oh it came and went.
Come on you can do it.
Let’s try a different finger.
All right there we go that’s working nicely.
So we’re measuring the heart rate and we got the O2 percentage.
Now let’s bring in a commercial one.
Plug this in.
I can hold everything still and keep everything in the shot.
So of course I’ve moved my finger and now hopefully we’ll see if the measurements actually match up.
All right so that’s not too bad it matches up pretty well.
So we’re getting a heart rate of around 70 on the C3.
It matches up to what’s on this little monitor on my finger and we’ve got 99 percent.
I just lost it.
It’s quite hard to get your finger on accurately without squishing it on.
Let’s see if we can recapture it.
Had it just then it was perfect.
There we go.
So that’s not bad.
Seems to work.
Works quite nicely.
So the code is on GitHub.
Get yourself one of these modules and get yourself a heart rate monitor
and you too can build something that’s equivalent of this thing that’s very cheap.
But it’s a fun project why not try it out.