🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Heart Unit with Core 2 - any suggestions?

    Scheduled Pinned Locked Moved Units
    8 Posts 4 Posters 10.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • E Offline
      earla
      last edited by earla

      I just received 2 new Heart Units and have tested them using UiFlow & the supplied test code or slightly modified versions of the test code. Both of the units read the heart rate at about 2x the actual rate or sometimes randomly. The SpO2 readings are close when compared to a medical grade Pulse Oximeter. Experimenting with the LED current settings sometimes makes the units work properly, but it is very intermittent & will not repeat with a core restart. Experimenting with the timing delays produces similar results.

      I connected a logic analyzer - data pulses seem to agree with the delays specified in the code.

      Has anyone figured out how to improve the results with these Heart Unit devices? Is it possible the Core 2 can't supply enough current to the Heart Unit?

      teastainT 1 Reply Last reply Reply Quote 0
      • teastainT Offline
        teastain @earla
        last edited by

        @earla constant pressure on the sensor to the finger is key. Make some tight elastic restraint and don't move a muscle during testing!
        If you can port your serial to a serial monitor or plotter, it will be very elucidating!

        Cheers, Terry!

        100% M5Stack addict with several drawers full of product!

        E 1 Reply Last reply Reply Quote 0
        • ajb2k3A Offline
          ajb2k3
          last edited by

          The Issue with the heart monitors is that they need to be placed in specific positions on the body and in a specific way or you will get incorrect reading from them.
          They may also not be accurate from the start and may need to be calibrated for use.

          I published a project here https://www.hackster.io/AJB2K3/wrist-mounted-heart-monitor-cefbb0 where I used a watch strap to put pressure on the sensor against the wrist but still had odd readings. the best I have found is to use a fingertip clamp but can't find the 3d printable model I used in an experiment.

          UIFlow, so easy an adult can learn it!
          If I don't know it, be patient!
          I've ether not learned it or am too drunk to remember it!
          Author of the WIP UIFlow Handbook!
          M5Black, Go, Stick, Core2, and so much more it cant be fit in here!

          E 1 Reply Last reply Reply Quote 0
          • E Offline
            earla @teastain
            last edited by

            @teastain Yes! Binding it to my finger makes it work properly! Thank you!

            Seeing the module code M5Stack is using would certainly help, but I don't know how to do this of if it is even possible.

            1 Reply Last reply Reply Quote 1
            • E Offline
              earla @ajb2k3
              last edited by

              @ajb2k3 Yes - I am making progress - working on the calibration against a medical grade device. Thank you!

              1 Reply Last reply Reply Quote 1
              • B Offline
                basgoossen
                last edited by basgoossen

                PPG is pretty finicky and the signal more often than not requires cleanup by software algorithms. Double readings are not uncommon and appear even in medical grade sensors. Most sensors used nowadays have multiple emittors or a single emittor with multiple sensors. The "evaluation sensor" with one led and one sensor used for this device will indeed require very precise and stable placement. Even so i'd recommend trying to get the raw signal out of the sensor if possible at 24-40hz (24 and 40hz are commonly used for PPG processing algorithms and usually a good place to start from). working with and visualising the raw signals will give you a much better insight of what you're measuring.

                Current supplyed by the Core2 is not gona be a limiting factor in this. Noise of the voltage convertor could cause issues, but this can only be checked if the raw signal is analysed. Often sensors make use of motion sensors to discard readings during detected motion.

                E 1 Reply Last reply Reply Quote 1
                • E Offline
                  earla @basgoossen
                  last edited by

                  @basgoossen Thank you for this excellent information.

                  1 Reply Last reply Reply Quote 0
                  • E Offline
                    earla
                    last edited by

                    This sensor is surprisingly difficult to use but I still learned a lot. As suggested, I took a look at the raw data from the sensor using an M5Stack Arduino program. Although you can see the pulse data, it is very unstable, noisy and has a varying offset. Here is a very good description of what it takes to make the MAX30100 work.
                    https://morf.lv/implementing-pulse-oximeter-using-max30100 In addition to what the article says, the two Heart sensors I have behave differently and would require individual calibrations.

                    1 Reply Last reply Reply Quote 0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    • First post
                      Last post