I’m ISO a pulse sensor that will work with the Particle library. I’ve seen one from PulseSensor.com, but it’s $25 a piece (which is fine for 1, but my director will balk if I ask for 36 of them for my students and me). OTOH, I do want a quality product. Does anyone have any recommendations? (No jokes about robbing a bank, please
@mprogers, I prefer using a MAX30100 pulse oximeter like THIS ONE on a AliExpress. It uses I2C and I find it quite reliable and easy to use. There are numerous libraries available. The one I use is this one:
Thanks, @peekay123. I take it this will work with the Photon (my knowledge of I2C needs work). Will the MAX30102 also work? I’ve seeing those advertised too …
@mprogers, I have it working on a photon and I can share the web IDE library if you want
That would be awesome, thank you!
Excellent! I know your link sent me to the (apparently newer) MAX30102, but your library says it’s for the MAX30100. Are you using the MAX30102?
I’m trying to use the MAX30102, according to which I am currently … dead
I’ve got SCL connected to D1, SDA to D0, VIN and GND connected. Do I just put my fingertip down on the glass window in the center of the board? I’ve noticed that if I disconnect GND, I get a reading:
BPM: 0.00 | SaO2: 98.97%
but when I reconnect it, nothing.
I notice that D2 (well, in the code it’s just 2, but I presume D2) is being set to output, I’ve got that connected to nothing at all.
Thanks for any assistance (from the great beyond, aka Missouri )
@mprogers, the MAX30102 board I bought from AliExpress iscalled a MAX30102 but the silkscreen on the board shows MAX30100! The app I linked to should work for either. However, I need to add 4.7K ohm pull-up resistors to the I2C lines. Did you do the same?
I did not, but I will give it a try, thank you!
Still no luck, with 4.7k resistors going from D0 and D1 to 3V3, I have no output (except when I disconnect from GND – that still produces the output I listed above).
- Does this board (I’m assuming we really do have the same one) have LEDs? Nothing lights up at all on mine, and I read a discussion on an Arduino site about there being LEDs.
- I am just putting my finger on the glassy surface in the middle of the board – is that all I need to do to trigger a pulse? It seems like I’d need to do more.
- Finally, I’m using 4 pins – GND, SDA, SCL and VIN – but there are 4 on the other side of the board labeled INT, IRD, RD and GND (and I read some discussion of connecting IRD). Do I have to do anything with those?
Thanks again for your help, I really appreciate it!
Thanks to my brilliant and underpaid assistant, the problem has been resolved — it turns out that those pins on the other side of the chip do matter, in particular RD.
A small addendum: the glassy area became skin-burning hot when I tried to take my pulse, so … we’re not quite there yet.
One question: does it work?
On sellers website is an “Test wiring”-picture with I2C, but without using IRD and RD.
Thanks for asking, but, alas, no, I still can’t get it to work. I’ve tried it as shown in that diagram, and it outputs BEAT once and then … nada. When I hooked up RD the red led lights up, but it gradually gets too hot to touch.
I may just try and scrounge up an Arduino and see if I can get it to work on that, since there seems to be more Arduino-MAX 30100 documentation than Photon-MAX 30100 documentation. I will also ask the vendor …
To summarize, I believe I have rediscovered the maxim, you get what you pay for
You bought 36 pieces - test another
Actually, I guess I need to apologize to the vendor. I hooked it up to an Arduino, and working through the SparkFun tutorial, I’m getting numbers that … look right … although that’s for a MAX 30105, I guess it’s compatible?
For the record, I’ve hooked up just 4 pins: 3V3, GND, SCL and SDA, and the red led glows (but much less intensely when I was getting my finger burned😉)