[HN Gopher] Holiday Hacking - Tracking my heart rate while playi...
       ___________________________________________________________________
        
       Holiday Hacking - Tracking my heart rate while playing Call of Duty
        
       Author : lukastyrychtr
       Score  : 55 points
       Date   : 2021-01-09 15:03 UTC (7 hours ago)
        
 (HTM) web link (jcdav.is)
 (TXT) w3m dump (jcdav.is)
        
       | sinuhe69 wrote:
       | Wow, 58 bpm while playing, the guy must be really fit!
        
         | rconti wrote:
         | I don't play video games for the most part, but the other day I
         | was playing a demolition derby racing game with pedals and
         | wheel and I found my lowest heart rate of the previous 4h
         | (standard Garmin metric) was during the race (almost certainly
         | during a 2min break between races though).
         | 
         | I do see how FPS can be really stressful and get you "amped up"
         | but I find that doesn't tend to lead to a particularly high
         | heart rate.
        
           | robobob wrote:
           | DOOM hits with 110bpm at peak for me
        
         | [deleted]
        
         | dorkwood wrote:
         | He gave more of a range at the bottom of the article, 55-70.
         | Still good, though.
        
         | nOObie1 wrote:
         | Or have a heart condition
        
       | heywire wrote:
       | I should do this during the workday. I bet I could pick out when
       | I receive certain emails from a heart rate graph.
        
       | dQw4w9WgXcQ wrote:
       | I always wonder about this, I feel like I get more "into" video
       | games than most in terms of reacting to events. Especially games
       | like Rocket League or FPS which are constant action. If I play
       | too close to bedtime then sleep can be a challenge.
       | 
       | Those of you who look like bored zombies when you play games how
       | do you separate yourself from the game?
        
         | cwilkes wrote:
         | Try playing Doom: Eternal. I play with headphones and didn't
         | realize I was panting until my wife said I was and wondering if
         | I was okay.
         | 
         | A lot of that's due to the game requiring you to be constantly
         | moving or else you'll get killed pretty quick. Does a really
         | good job of balancing the game if you continue to die in the
         | same location. I was really impressed by it, to the point that
         | I didn't mind the entire reason the action is happening as a
         | Mars mining mission actually was mining hell and the demons
         | escaped. No seriously it makes sense.
        
           | f430 wrote:
           | A lot of games from this era still scares me. The
           | claustrophobic hell that is Descent (Interplay 1995).
           | 
           | In order to complete a level, you need to make your way
           | through a maze with 6DOF fps camera, while enemies jump out
           | from all directions and no way to tell which direction you
           | are taking damage, and finally blowing up a reactor _and_
           | having to find an exit that is located in an unknown place
           | while the cliche 90s computer female voice begins a countdown
           | and the lights start dimming on and off making it even harder
           | to make your way to the exit.
           | 
           | Fuck that game. Used to have nightmares playing that game as
           | a kid I still won't touch it.
        
         | dubcanada wrote:
         | You kind of answered the question, with the question. You just
         | separate yourself from the game.
         | 
         | If you lose it's not a big deal, if you win it's also not a big
         | deal. If someone annoys you, just go find another server/game.
         | 
         | Basically you do everything to avoid getting emotion.
         | 
         | Another option is to find a less intense genre you may like,
         | such as simulation or something less action packed.
         | 
         | You can't really be highly invested in a action packed heart
         | pounding game, and look like a bored zombie. Even top tier CS
         | streamers/professional gamers while they may not appear super
         | invested it's mostly because they are not highly invested, they
         | are just playing to practice something/or for entertainment for
         | their viewers. If you watch them at a intense match or
         | tournament you'll see them at their peak intensity.
        
         | gmurphy wrote:
         | It's like when you read something hilarious and respond with
         | lol in chat, but you don't actually laugh or even smirk, or
         | like reading an exciting book without ducking and weaving -
         | over time you just increasingly get more efficient at
         | separating mind from body for different types of
         | activities/inputs.
         | 
         | It does vary by person/activity though - I can ride a
         | rollercoaster with a unmoving body and blank face and be having
         | the time of my life, but cannot watch cringe-worthy things on
         | TV without physically seizing up. Others are the other way
         | around.
        
         | mhh__ wrote:
         | When I play with my competitive siege team I literally don't
         | have time to get stressed because we have to be constantly
         | thinking about what to do in the next 10 seconds tactically,
         | what to do strategically for the rest of the game, and focus on
         | hitting our shots.
        
         | pacificat0r wrote:
         | But then what would be the fun :D
        
       | gugagore wrote:
       | By the way, the term for this kind of biomedical measurement
       | modality is Photoplethysmography (PPG). The HRS3300 is an example
       | of a PPG sensor used in a few devices, including the PineTime.
        
       | libria wrote:
       | Don't know about consoles but the mobile version has different
       | game modes and those modes have differing levels of stress. For
       | example, public deathmatch is a very mechanical live-die-repeat
       | in contrast to Search and Destroy which is known to be
       | particularly high stress throughout.
        
       | coding123 wrote:
       | Definitely an odd device that it doesn't seem to make accessing
       | the data without hacking into the bluetooth stream data, but this
       | was pretty awesome.
       | 
       | to the author: Did you end up graphing / recording the data or
       | just displaying it while you played?
        
         | matsemann wrote:
         | I think it's a standard BLE/ANT+ training sensor, any existing
         | training program should be able to read it out of the box.
         | Still a fun project, though.
         | 
         | But I agree it's an odd device. If one wants more precision
         | than the optical sensors found in smart watches, using a HR
         | belt would be the logical choice?
        
           | jcdavis wrote:
           | I've tried chest straps once or twice and found them pretty
           | uncomfortable, though its possible I would get used to it.
           | 
           | The advantage of these standalone optical sensors is that
           | because they are smaller & lighter, and sit on the fleshier
           | upper arm, they are much more accurate than sensors on a
           | watch, despite being the same tech.
           | 
           | Edit: DC Rainmaker's analysis shows that these are more or
           | less as good as a chest strap
           | (https://www.dcrainmaker.com/2019/03/polar-oh1-plus-
           | optical-h...)
        
         | jcdavis wrote:
         | (I'm the author, happy to see this getting re-posted)
         | 
         | I'm trying to figure out how to render a graph inline, but its
         | more complicated
        
           | [deleted]
        
           | abraae wrote:
           | I have atrial fibrillation (AF) and a few years ago I built a
           | system to monitor my own heart rate using grafana. I can
           | strongly recommend it. I used influxdb to store the raw data.
        
         | frabert wrote:
         | From a quick skimp over the article, it looks to me like the
         | device employs standard Bluetooth protocol capabilities, so any
         | app capable of pairing to generic Bluetooth heart rate sensors
         | should be capable of doing so. The author simply went the route
         | of yak-shaving instead of searching for a ready-made library.
         | Please note I'm not dissing the yak shaving!
         | 
         | EDIT: typo
        
           | jcdavis wrote:
           | I looked into existing windows apps, there was only one
           | extremely janky one that didn't do what I wanted, so of
           | course I had to try and write my own
        
         | moron4hire wrote:
         | This isn't "hacking into the Bluetooth stream data". This is
         | literally how you interface with Bluetooth devices. This way
         | you don't need a driver specific to each device and don't need
         | to write code specific to each device.
         | 
         | The Bluetooth spec defines a large variety of common types of
         | data streams (including things like friendly device names and
         | battery status), as well as open areas where vendors can cram
         | their own, purpose specific stuff.
         | 
         | It's quite easy to use, once you learn the setup. And once you
         | learn the specific API your combo of programming language and
         | operating system use to communicate with BLE, everything about
         | consuming a device is otherwise identical, so you can create
         | libraries that consume specific types of data streams quite
         | easily.
        
       | ativzzz wrote:
       | I did something like this for a middle school science project. I
       | got some friends and measured our heart rates playing different
       | kinds of games. Found that more fast paced games like Fzero X
       | overall hard larger increases on heart rate than more chill games
       | like The Sims (unsurprisingly?) The scientific methods were
       | questionable though.
        
       | cwilkes wrote:
       | From the manual
       | 
       | "special applications (e.g. animals) may require support for
       | higher bpm values. "
       | 
       | I'm curious what a non-animal heart rate looks like.
       | 
       | I really liked the format of the post, building up to useful
       | working code. Thanks!
        
       | Pfhreak wrote:
       | I did this when playing pubg a while back. It's a fun side
       | project to get it drawing a spark line and beating a heart image
       | at the rate of the heartbeat.
        
         | Tepix wrote:
         | Can we see your code somewhere?
        
           | Pfhreak wrote:
           | I don't think I still have it, unfortunately. It was a
           | portion script to connect to the monitor and run an http
           | server, then some html/js/CSS to show the heart in OBS.
        
       | hazeii wrote:
       | The Polar HRM's have always been easily to hack, the older ones
       | just send out a pulse at 5.3KHz which is trivial to pick up and
       | process as an audio signal.
       | 
       | Here's a trace [0] from my clubbing days :)
       | 
       | [0] http://hazeii.net/images/lowlifeheart.gif
        
       | f430 wrote:
       | Or just buy a used ticwatch pro, disable its products using
       | android development commandline, and you can see a graph of your
       | heartbeat in Google Fit or Health and export it.
       | 
       | What this article would be interesting is if it could overlay
       | specific moments.
       | 
       | Even more interesting is what would happen if you could train
       | yourself to keep calm during situations you normally freak out in
       | and see if it improves your KDR, I bet it would.
        
       ___________________________________________________________________
       (page generated 2021-01-09 23:01 UTC)