First Attempts At Avian PPG Signal Capture

A project log for Hummingbird Heartbeats

I'm working with a bird researcher in Panama to use non-invasive techniques for measuring hummingbird heartbeats

joel-murphyJoel Murphy 04/21/2022 at 00:350 Comments


Spring is a time of new growth. A shrugging off of the last Winter's hibernation and an awakening of Love's pleasures. A chance for the birth of new life. Yes, this is going somewhere. 

Jay got some good and interesting data from hummingbirds recently. The first try was about a month ago, and it was not super successful. Here's a screenshot of the Arduino Serial Plotter from that time (check out the github readme for this project to learn more about the data we're collecting).

In the above graph, blue and orange are Pulse Sensor signals, and the grey is from the accelerometer. Both Pulse Sensors are in contact with the hummingbird on the [anatomical sites needed]. There seems to be a high frequency signal on the orange trace, but it's not very pretty. PPG can be very sensitive to movement noise. The kit I sent included some double sticky tape but I don't think that was employed for this test. Jay had to focus on his 'real' research, so it wasn't until this week that he had a chance to try again.

2nd 1st Try

This is all new and fresh. We don't have any corresponding recorded data sets to accompany the following screenshots, but we're going to work with what we have. Starting with the data, because that's always the most fun. This is an example of a clear signal trace that we think is a stable hummingbird heartbeat captured with Pulse Sensor. This is super duper guess and speculation. Based on trust, anatomy, and physics. I think what follows is kinda legit.

OK, there's a lot of lines there. Don't pay attention to the colored boxes and labels at the top left, they will just confuse you. This signal is sampled at about 20Hz (software timer). The Y axis is in counts of the Teensy ADC. The X axis is incremented with each sample. Notice that Arduino plots a vertical grey line every 100 samples. Only one Pulse Sensor was placed on the bird, and the other sensor traces should be ignored. The red signal trace corresponds to the Pulse Sensor in contact with the bird, and It looks like something is there! I counted the waves per 100 samples and here's a back of the envelope signal frequency estimation. 

That's not unreasonable. However it requires verification. The good news is that while Jay was holding the bird, he was able to feel the respiration rate, and he says it was not in sync with the signal in the red trace above.

 [put the gif about needing more data here]

Further test involved 'sticking' the Pulse Sensor to the accelerometer to kind of couple them to the same site. Reason behind that was to try and identify any movement noise in the Pulse Sensor signal that we might have to deal with. Here's what that looked like:

OK, there's a lot of lines there. Don't pay attention to the colored boxes and labels at the top left, they will just confuse you. Here's a breakdown of the data traces.

Trace ColorData SourceComments
BlueSample Counterbyte size counter with rollover
RedPulse SensorIn contact with bird
GreenPulse SensorNot used, ignore it
OrangeAccelerometer Xhmmm
PurpleAccelerometer Yerrrrrr
GreyAccelerometer Zahhhhhh

First of all, the resolution of any accelerometer signals in this graph is just garbage. There might be something there, but any regular anatomical movement that the bird may cause, like breathing, seems to be very slight. I thought that the accelerometer might pick up respiration, but I'm not seeing anything at this scale. I'll wait for the data.

Then there's that same steady ~20Hz wave still visible in the red Pulse Sensor signal. It looks like it's consistent across the screenshots that Jay sent me. It's gotta be something.... I've put more snaps and video on the github.

The Birds And The Bees

Anatomy Lesson

This is a hummingbird skeleton. Notice the long flat bone? It's part of the sternum, and it's called the 'keel' in bird bone speak. Strong flying muscles attach to the keel (down-stroke?). The keel is visible on a living specimen as a ridge that runs along the chest belly. You can see it here if you look closely. 

The bird wrangler in this photo is gently blowing on the bird belly of the speckled hummingbird which deflects the feathers and exposes what's called the 'brood patch'. What's that you say? How can we see the belly skin of the hummingbird? 

Here we have come full circle to the rites of Spring and the glory of pro-creation. But once the party's over, a bird's gotta take care of those eggs! The brood patch provides cozy incubating warmth to growing hummingbird embryos and the next hummingbird generation. This body part has been super duper evolve-gineered to be the absolute snuggliest possible egg cuddler. That's why there's no feathers there.

And, it seems, the spot just adjacent to the keel is a good location to acquire PPG.

That's where we're at. Next time, we'll have some data to play with.