Using microphone for heart beat (BPM) calculation in wearable device?
I have worked on this as a hobby project.

It can be done, but getting it to work reliably is a problem.

A microphone and some software can count your pulse.  The hard part is doing it reliably in anything but quiet, ideal conditions.

I tried approximately 37 bazzillion ways to tell heart beats from background noise.  

Some work well, but depend on a calibration step to get the correct levels - and calibration has to be repeated every time you put the thing on.  So if it moves while you are jogging, you get to recalibrate.  No fun.

Some methods are insensitive to position and sound level, but are prone to "hearing" heart beats where there are none - like when the microphone is not actually in contact with your body or the microphone is disconnected.

Some other methods work well, but are impractical in an embedded device - too much processing power required.

Most methods have some combination of those (and other) difficulties.

All depend on the heart beat being louder than (or at least distinct from) the background noise - and that's where it all starts.

You need a way to attach the microphone to the body such that it picks up the heart beat clearly, but doesn't pick up breathing noises or motion noises (shirt rubbing on the housing and stuff like that.) It also needs to ignore environmental noises (like the sound of a car driving by as you jog down the road.) And, it needs to ignore the thud of your feet as you jog.

It is complicated, and a working compromise is difficult to achieve and maintain.

Hard enough that I gave up.