Have you ever wondered how stressful an FPS can be?
Are survival horrors really scary?
And what about your team?
Cardia is the first Heart Rate Monitor designed for gaming and broadcasting: it will display your current heart rate and generates a simulated ECG tracing. It can be used to make videos of scary or stressful videogames, or for broadcasting on twitch, adding a nice and original touch to your streams and videos.
But the main feature is the multiplayer support: if you and your friends have the right setup you can connect and share your vitals, allowing a co-op experience like never before.
Cardia is currently an alpha release, and it only supports Zephyr bluetooth HxM for Android and Contec CMS50E.
However we are planning to expand the compatibility to different devices, including bluetooth smart, sometimes in the future. Keep in mind that, being this an early release, bugs and crashes might happen.
NOTE: This software and the simulated ECG are intended for entertainment purposes only. The ECG is a simulation based on the current heart rate and it has nothing to do with the real thing.

Hardware Requirements:

- Motherboard with a working built-in bluetooth, or an USB bluetooth adapter
- Zephyr Bluetooth HxM for Android and windows. Bluetooth smart is curently NOT supported.

Broadcasting Reqirements:

- Open Broadcast Software (OBS).
- A second monitor is recommended to avoid playing in a small window.

Cardia 1.0 (released 2015-12-20)







After downloading the archive, extract its content into a folder and double-click on Cardia.exe.
This software does not need installation, however Microsoft .NET Framework 4 is required.
NOTE: Alpha and Beta releases have an expiration date. If your old version has expired, just download the latest version from this page.



Let's take a closer look at the interface.
Right click on the main window will give the option to shrink and unshrink it for better aesthetics.
When the window is unshrinked, width can be expanded if you want a larger chart 
The first option on the left offers alternative colors for the graphics. 
The second option changes the ECG displayed time from 1 second to 10.
Volume bar will set the sound levels.
The start button on the right will start the bluetooth data reading or the emulation. 
NOTE: The emulator is provided for testing purposes only. It allows you to test all the software functionalites before purchasing expensive equipment. The emulator will be removed in the final version of the software.


This drop-down menu allows the user to select a proper device. Once the device is selected, it should be configured. 
When Zephyr HxM is selected, the configuration button will open a new window. The correct serial port for the device should be selected and after starting the application, the device status will display the relevant data in every packet received. The RR intervals are measured in milliseconds.

Contec CMS50 has a similar configuration window.
When the emulator is selected, the configuration button will open the emulator configuration windows. The user can select a range from a minimum to a maximum beats per minutes. The emulator will generate numbers comprised within given limits.


The alarm button will open a new window. Ticking the "enable alarm" box allows the user to set an alarm for both high heart rates or low heart rates. The default settings are 40 bpm and 180 bpm, but they can be changed by the user at any time. 

With the defuse alarm box checked, the alarm will repeat for a set number of seconds (10 seconds is the default setting)

If the alarm sound is enabled in the sound dropdown menu, an alarm sound will be played, otherwise only the "alarm" text will appear in the BPM box.




This dropdown menu will allow the user to choose which sounds will be played by Cardia. The user can choose to play a sound for each heartbeat (play beat), or an alarm sound for high/low heart rate (play alarm), or both.



If logging is enabled, Cardia will save all the data received from the heart rate monitor in a file. Format and destination of the file can be selected in the Log tab.





The network button will set the multiplayer options: select a nickname, a port, Server mode and hit connect to host a multiplayer section.

NOTE: Port forwarding is required for servers. If a firewall is active, it should be configured to allow Cardia networking. Old versions of Cardia are not compatible with newest versions! Always keep your software updated.
If another player has already opened a server, select a nickname, the server port, the server IP address, Client mode and hit connect to join the server.
Cardia currently supports up to 4 players.




Cardia 1.0 (released 2015-12-20)

- Source code released

Cardia 0.9.5412 (released 2014-11-29)

- major network bug fix

Cardia 0.8.5398 (released 2014-11-16)

- minor bug fixes
- added compatibility with CMS50 Oximeter

Cardia 0.7.5280 (released 2014-06-16)

- fixed a bug in network coding

Cardia 0.7.5277 (released 2014-06-14)

- fixed major bug in network panel causing silent crash in network thread

Cardia 0.7.5271 (released 2014-06-10)

- fixed a crash preventing chart initialization
- fixed a crash when exiting the program

Cardia 0.7.5267 (released 2014-06-03)

- minor bug fixes

Cardia 0.7.5266 (released 2014-06-02)
- major code rewrital of the UI, allowing for better manintainability and future expandibility
- fixed a bug in the netcode causing a memory leak
- added a timeout period for the Zephyr HxM
- enforced version check in the netcode
- more explanitory error message in the network part
- added alarm functionality
- added sound functionality
- changed version numbering system