OpenHAK / OpenHAK_Firmware

Latest firmware release targeting Simblee

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenHAK Firmware

Latest Firmware release for targeting OpenHAK beta hardware.The OpenHAK is built around a Simblee radio module. I know, they don't exist, but we happen to have a small pile and hope to crowdfund a way to get rid of them.

Libraries, etc.

This is an Arduino .INO file, and it uses tabs so make sure you have all the tabs

OpenHAK_Firmware_vxxx | BLE_Stuff | HeartRate_Stuff | MAX_Stuff

You will also need to ensure that you have the board files for the OpenHAK. Please go here to learn how to do that and do it. When it doubt, reboot.

Libraries You Will Need

OpenHAK is in the process of building a library called OpenHAK Playground Download that and put it into your Documents/Arduino/libraries folder.

We're using a filter library for DSP on the MAX30101 signal. It's called libFilter. Download it and install it in your Documents/Arduino/libraries folder.

You also need a BMI160 library. We're using hanyazou's code, but it's old and we're open to new ideas.

We modified a number-cruncher library called QuickStats to use only integer values. It seems to work, you need it, download it.

Then you need to get Lazarus. It lets us put the Simblee into deep sleep so the battery doesn't run dry.

The <Timezone.h> library is available though the Library Manager tool, and the rest comes with the OpenHAK board files that you installed in the previous step.

If your OpenHAK comes with an OLED screen attached, then you need the OpenHAK_MicroOLED library too.

Important Thing To Know

The OpenHAK Playground library will target two hardware versions. Make sure that you select the right one at the top of the sketch, or you will loose some LED and GPIO functionality!

Status

Remains a work in progress in the Summer of '19 in anticipation of being the badge for the BioHacking Village at DEFCON27. To that end, we have added a firmware version that controls a 64x48 OLED screen, which will be part of the BioHacking Village Badge. Work is also being done toward a crowdfunding campaign.

Structure

It's basically a state machine that tries to sleep as much as it can. If it hasn't been connected, it will idle and advertise until it gets a connection. Once connected it will cycle through a sleep state and awake state. It will sleep for 10 minutes before it wakes itself up. When it's awake, it takes a heart rate reading for 15 seconds, captures any steps from the BMI, and shoves it all to the phone if it's connected. It's also possible to wake up from a double tap signal that the BMI feels (this needs work). Upon a double tap wake up, the OpenHAK does the same routine: heart rate, steps count, etc.

We've allocated enough memory to hold up to 3 days worth of data on the OpenHAK. Since phones can move in and out of range, we make sure that when we connect back up we update your files.

Known Issues and Future Features

We're looking at replacements for the current BMI library. Happy to hear your thoughts.

Heart rate sensing on the wrist is still a mischievous endeavor. Our settings for the MAX and the band pass filter could be optimized.

Needs option to connect with BTE Heart Rate Service, and BTE Pedometer Service for connection to other apps.

About

Latest firmware release targeting Simblee

License:MIT License


Languages

Language:C++ 100.0%