So after some research, I've decided that going with an actual Arduino component (MKR1000) vs a variation (Tinyduino) will be a better solution, even if the form factor is a little larger (this is the first prototype!). The reason for this is cost and support. Going forward, we may need some help from the community to optimize code for the components (we are both self-taught programmers...) so it will be best to use the most popular parts we can.
We'll start out with just the bare minimum - 3-axis accelerometer and Arduino MKR1000 - with the following initial milestones in mind:
- Get the Arduino and the accelerometer talking and read the values over USB
- Get the data online over wifi as a precursor to a remote "fall alert."
- Refine the method of detecting an actual fall. For now, we are planning to begin fall detection by comparing magnitudes of acceleration vectors. We plan to initially test a trigger by using 2 threshold acceleration vectors that must both be activated simultaneously during one reading. Of the 3-axis (X,Y,Z) data, any combination of sufficient acceleration will be used to trigger a "potential fall."
Given the possible permutations above, the resulting relevant combinations of fall detection will include simultaneous threshold acceleration triggers along XY, XZ, or YZ. Thresholds for activation will be 2 different values - The larger magnitude will represent a fall along the main axis, while a secondary magnitude will be smaller to represent any torsional/rotational acceleration.
Alternatively, we may combine values from all 3 of the accelerometer axix (X+Y+Z) and then use that single value as a threshold level for a fall. We'll have to do a lot of IRL testing to figure out the best way to interpret the data.
ADXL335 - 5V ready triple-axis accelerometer (+-3g analog out)
Lithium Ion Polymer Battery - 3.7v 1200mAh