I am new to arduino boards and microprocessors in general so I apologize if this is a bit of an entry level question, but I just need a general direction on the chips to get.
Project Goal: Place accelerometer on each ankle and wrist to collect weight training movement data (I know I will look funny at the gym) for movement classification using machine learning methods.
Considerations: at first the data could just be logged by the activity trackers and moved to a computer to be analyzed but eventually a data stream using bluetooth would be the goal.
The arduino 101 seems like it was my all-in-one chip but those are gone. so my question is what are the recommended chips for:
Arduino board: Arduino Uno
Bluetooth: ??
Accelerometer: ?? (ARDUINO 9 AXIS MOTION SHIELD seems promising)
Data storage: ??
Or perhaps there is a board that covers more than one of the elements listed above.
Why Bluetooth? It would be simpler to log the data to an SD card and pop the card into your computer for downloading. I realize it's going to be useful at the end of the project, but don't start with it at the beginning.
I like the ADXL345 3-axis accelerometer. I use them on tiny boards (fingernail sized) in a lot of places. They connect on SPI, so you need 6 wires running to each one. 5 of those wires are shared and one is individual to each chip.
A 9-axis sensor is totally unnecessary. But they're so cheap (cheaper than the ADXL345) you might as well use them and ignore the extra axes. But you definitely don't want shields when they're attached to your ankles and wrists.
I've used this 9-axis sensor board... SparkFun 9DoF Sensor Stick - SEN-13944 - SparkFun Electronics but it's I2C and only has two address options, so you can't connect any more than 2 of them to an UNO. You may also have trouble running I2C data along the length of your leg. It will probably work but can't be guaranteed.
A WiFi network of ESP8266s -one for each sensor - would be more suitable than bluetooth. A Pro Mini would be more suitable than a Uno. They are the same design, different package.
MorganS, I think the SD card will be a good place to start. Initially, I just want to get the data into a file on my computer so I can begin to explore the data and see how different machine learning algorithms perform. If that means looking like a cyborg at first then so be it. If I find that I can produce decent classification error rates then I will look into streaming the data. As for the chip, I think the 3-axis will likely suffice but any other feature that I could record may be able to add to the prediction accuracy. (in other words: if I find that supinated bicep curls and pronated bicep curls are hard to distinguish on acceleration alone then orientation may help.)
Nick_Pyner, yeah after doing more research there seemed like there was going to be a problem joining the four (4) different streams of data as from what I understand that Bluetooth can only have one connection at a time so getting the data stream in the form of:
Time | Left Ankle xyz | Right Ankle xyz | Left Wrist xyz | . . .
So it seems like networked wifi chips will be the best option to join the 12 accelerometer columns on a time column to sync up the movements.
Probably not. An RTC is only needed if you are interested in the actual time, or perhaps for convenience in file management. For most exercises in datalogging, all you really need to know is that this event happened after that event.
IF you do need the time AND the environment is right AND you are using a WiFi-based system, you may find that you can pick up the time off the internet during Setup, thereby making a local RTC redundant.
CJMaytorena:
The arduino 101 seems like it was my all-in-one chip but those are gone.
More modern boards could have everything in-one.
ESP-32 based boards have BT and Wifi and 4Mb internal storage and crystal controlled timekeeping (with NTP) and some have (LIPO) battery management (or can be powered from a powerbank).
Leo..