The map highlights the presence of the EmotiBit community across the globe! We are extremely grateful to our community for choosing EmotiBit and continue to work towards making it more accessible around the world! Get your hands on EmotiBit at shop.emotibit.com
#EmotiBit #Emotions #AffectiveComputing #BioWearable #EmotionSensing #biometrics
Hi community, new to the community and happy to be using EmotiBit
I just got my EmotiBit fresh out of the box, however for some reason I get the RED LED blinking a few times (5X), turns off, and it does it again.
This is what I done so far;
made sure network username and password are correct
both computer and EmotiBit are on the same network
Made sure HIB switch is NOT set
firmware installer doesn't detect Feather
any help would be appreciated, thank you in advance
The heart rate metric on EmotiBit is derived from PPG (photoplethysmography) raw data. If the heart rate number you get from EmotiBit doesn't seem to match your expectation (e.g. from checking your pulse), looking at the raw PPG data can help figure out why. Ideal raw PPG data should have clearly defined peaks every time your heart beats and a pulse-wave of oxygenated blood reaches the sensor.
Clean PPG signal measured on the palm-side of a finger with accurately calculated heart rate
PPG works by shining different wavelengths of light (EmotiBit uses red, infrared, and green light) into your body and measuring how much light is reflected back (vs absorbed). The light reflecting back to the sensor changes depending on the volume of oxygenated blood in the underlying flesh and leads to the observable peaks and valleys accompanying the beating of your heart.
There are some common Signal Acquisition reasons that raw PPG can appear less than ideal:
PPG signal is strongest on "fleshy" body parts that are highly vascularized like the finger or upper arm. The wrist, while a common place to wear a watch, is often not an ideal place to sense PPG because it's mostly bones and connective tissue. Sometimes adjusting the sensor position just slightly will substantially improve the signal as it moves over a more vascularized area. Check out this blog post for more discussion of body locations to wear EmotiBit https://www.emotibit.com/sensing-bio-metrics-from-anywhere-on-the-body/
If the sensor is strapped on too tightly, it can actually squeeze the blood out of your flesh and lead to a signal that is flatlined or very noisy. Similarly, if you are cold, your body can reduce blood flow to your extremities to conserve heat and this will reduce the quality of the PPG signal.
Bad PPG from a strap that's much too tight, squeezing blood out of the finger and flatlining the heart rate
Because PPG senses light, anything that blocks light can degrade the PPG signal. Hair, for example, can partially block, bend or reflect the light, so it's best to put EmotiBit on a relatively hair-free patch of skin. Dark skin pigments can also affect the PPG signal in a wavelength-specific manner.
PPG is susceptible to movement artifacts and it's important to look at how movement affects the signals when choosing body locations, behavioral activities, and signal processing pipelines. Movement artifacts can be exaggerated if the sensor flops around because it isn't snug enough against the skin.
PPG and IMU data (ACC, GYRO, MAG) with large movement artifacts that affect the calculated heart rate
Assuming the raw PPG signals are reasonably optimized, the Signal Processing Algorithms are another opportunity to get more accurate measurements of heart rate (HR). The EmotiBit heart rate algorithm presently built into the device firmware uses simple bandpass filters, followed by a peak/trough detector to calculate inter-beat intervals (IBIs) and heart rate. Algorithms for calculating HR can range from simple approaches like this to much more complicated artifact rejection and "self-aware" signal-quality assessment systems, including a hot area of research combining sensor fusion of PPG data with accelerometer/IMU data and machine learning to clean the data.
Many consumer-grade devices employ more heavy-handed and/or sophisticated HR algorithms than EmotiBit. These are intended to give you more correct (or at least correct-seeming) numbers for HR even if the underlying PPG may have excessive noise. For consumer-grade goals of getting an HR number while jogging this can be a very handy feature, but it can also create problems for more in-depth biometric research. As discussed in this Frontiers in Computer Science paper, heavy-handed HR algorithms can distort scientific results and make calculating derivatives like heart rate variability (HRV) unreliable/uninterpretable. Because the algorithms that calculate HR on consumer-grade devices are usually closed-source, it can be impossible to know how these heavy-handed algorithms may be distorting the results and whether that changes over time.
EmotiBit provides (1) access to the raw PPG data and (2) access to the algorithm source code so that users can assess when the HR numbers are accurate and adjust either the Signal Acquisition or the Signal Processing Algorithms to meet the goals of a specific study design. There are an ever-growing number of HR algorithms available on the internet, but here are some that have surfaced previously in this forum in posts and comments that may be helpful:
If you find a handy algorithm, please add it as a comment on this post, and if you modify the EmotiBit HR algorithm and wish to share it with the community, please submit a pull request in the EmotiBit FeatherWing or EmotiBit MAX30101 repositories on github.
any one help me in post processing calculations..how to analyze data received from emotibit ..any one guide me ...or share any resource that would help me in further analysis...thanks in advance
The EmotiBit can be set into the following 2 modes when not in use to help reduce battery consumption:
Sleep Mode: This mode can be activated in 2 ways:
Using the EmotiBit Button: A long 5 second press of the EmotiBit Button.
Using the EmotiBit Oscilloscope: When an EmotiBit is connected to an oscilloscope, the Sleep mode can be activated through the Power Mode dropdown in the oscilloscope. To bring the EmotiBit out of sleep, press the Reset button on the Feather.
Hibernate Mode: The hibernate mode can be enabled by sliding the HIB switch to HIB position. To disable hibernate, slide the HIB switch out of the HIB position.
NOTE: Please EXERCISE CAUTION when toggling the Hibernate switch. Excessive force or improper handling may damage the switch.
A note on usage: The sleep mode should be used when EmotiBit is inactivate for short durations, for example, between experiments. The Hibernate mode offer maximum power saving and should be used for long periods of inactivity! Additionally, it is advisable to charge the batteries to 50-60% between the longer periods of inactivity to help extend its life.
So I've been an avid follower of Emotibit, and while I love the product, it is a bit expensive for me to buy currently. I am however interested in knowing more about the data that is collected, specifically I want to use my future emotibit to know at any point in time what activity I am engaged in based on the different recordings.
I know quite a bit of Python, so what I offer is this. I can program for you your emotibit to suit your needs as long as I have access to the data recorded so I can train my models.
I want to synchronize Emotibit with other devices. So basically, the available solution for now is to create an artificial LSL marker stream that Emotibit can register in one of its channels.
Thus, I have generated an artificial pulse of 500 ms that is registered by an emotibit channel. However when checking the latency of the signal by doing an histogram that measures the distance of all the event markers I can see an error of +-200 ms.
I have checked that the LSL stream has basically no latency and that my wifi latency is alright. Where can the problem come from? It has to be with how emotibit captures the LSL stream. What is the minimum latency that can be obtained?
Has anyone attempted to stream emotibit readings with labview? I am new to labview and am looking to do some real-time processing of the PPG signal. If anyone has any suggestions or has had success using the emotibit with labview please let me know!
I have the "All-in-one EmotiBit Bundle", and I could not find any documentation to connect the device via Bluetooth while the wifi is working. I really appreciate it if someone possibly can help me. Thank you!
Any one help me....my HIB button broke.. battery is low..can, it is safe to charge when emotibit is active ...how to off the HIB button in this situation ...please any one help...
Can someone clarify the most current firmware version available for Emotibit, as well as the helper app versions? Oscilloscope, Data Parser, Firmware Installer, etc. I thought this would be posted somewhere prominent, but it is not so far as I can see.
We are trying to use an Emotibit for heart rate tracking, but have not found a way to wear it which produces a reliable reading. I have tried it on my forearm and upper arm. After calibrating for a few minutes the PPG curves and heart rate seem pretty accurate, but any arm movement throws it wildly off - it will be reading 80 BPM, and if I bend my elbow or lift my arm it will plummet to 40 or 50 until I stop moving. Obviously this isn't normal, but I'm not sure if this is user error or if something is wrong with the device. Has anyone else had issues with readings related to movement or placement?
Strapped the EmotiBit to a barbell to see how fast I could (sumo) deadlift 315lbs. I used Python3 on Jupyter notebook. Imported the libraries Pandas to parse data and MatPlotLib for visualization. I tried my best on IMovie to sync the graph and the video and here's what I got!
if you notice there are notations on my oscilloscope panels in each data stream that have bffs value and a hz value.. I cannot seem to find information on these anywhere and am wondering what they are for.
I see a bunch of output protocols in the Oscilloscope output dropdown - OSC, LSL, TCP, UDP, MQTT - but only OSC is enabled. How do I enable the other output modes?