The bitalino system is a great new advance in affordable, do-it-yourself biosignals technology. Using this technology, we want to make an application that provides an educational tool to exploring how the human body works.

What it does

Currently, it uses the ServerBIT architecture to get ECG signals from a connected bitalino and draw them in an HTML file real time using javascript. In this hack, the smoothie.js library was used instead of the jQuery flot to provide smoother plotting.

How I built it

I built the Lubdub Club using Hugo Silva's ServerBIT architecture. From that, the ECG data was drawn using smoothie.js. A lot of work was put in to make a good and accurate ECG display, which is why smoothie was used instead of flot. Other work involved adjusting for the correct ECG units, and optimizing the scroll speed and scale of the plot.

Challenges I ran into

The biggest challenge we ran into was getting the Python API to work. There are a lot more dependencies for it than is written in the documentation, but that may be because I was using a regular Python installation on Windows. I installed WinPython to make sure most of the math libraries (pylab. numpy) were installed, and installed everything else afterwards. In addition, there is a problem with server where the TCP listening will not close properly, which caused a lot of trouble in testing.

Apart from that, getting a good ECG signal was very challenging, as testing was done using electrode leads on the hands, which admittedly would give a signal that is quite susceptible to interference (both from surrounding electronics and movements). ALthough we never got an ECG signal close to the ones in the demos online, we did end up with a signal that was definitely an ECG, and had recognizable PQRS phases.

Accomplishments that I'm proud of

I am proud that we were able to get the Python API working with the bitalino, as it seems that many others at Hack Western 2 were unable to. In addition, I am happy with the way the smoothie.js plot came out, and I think it is a great improvement over the original flot plot.

Although we did not have time to set up a demo site, I am quite proud of the name our team came up with (

What I learned

I learned a lot of Javascript, jQuery, Python, and getting ECG signals from less than optimal electrode configurations.

What's next for Lubdub Club

What's next is to implement some form of wave-signal analysis to clean up the ECG waveform, and to perform calculations to find values like heart rate. Also, I would like to make the Python API / ServerBIT easier to use (maybe rewrite from scratch or at least collect all dependencies in an installer). Other things include adding more features to the HTML site, like changing colour to match heartrate, music, and more educational content. I would like to set up, and maybe find a way to have the data from the bitalino sent to the cloud and then displayed on the webpage.

Share this project: