I'm working on a project where I need to collect data from multiple tri-axial accelerometers and gyroscopes and one video camera during sports activities lasting around 8 hours, store that data, and later export it to a computer. There would be a maximum of 20 sensors plus the video camera, but I can work with fewer sensors if that many isn't feasible. I also need to be able to sync that data in time, so that t=0 is the same point in time for each sensor's data and the video camera; it's okay if this is done after the data is exported to the computer, though. The system will need to be battery-powered.
I have computer programming experience, but no experience with sensors or microcontrollers, and I'm wondering what to buy that will let me do that. I see a lot of accelerometers and gyroscopes for sale, but I don't know what sort of microcontroller(s) or other things would be needed to take in data from several accelerometers and gyroscopes and a video camera all at once, and store that data until it can be uploaded to a PC.
Thanks for any suggestions!
Thanks for your inquiry.
It is not possible to synchronize multiple accel and gyro and video camera data, because they are independent and have their own group delay. In addition, the microcontroller needs time to read the data from those sensors one by one. What you can do is collect sensor data as fast as possible to minimize the time difference. The combination of accel and gyro is so called IMU (inertial measurement unit).
We have the latest smart sensor BHI260AB that has one IMU built in. It has SPI/I2C on its primary interface to talk to the host microcontroller and SPI/I2C on its secondary interface to take care of other external sensors. For example, if you want to collect 60 or 120 frames from the video camera per second, then you can also collect 60 or 120 sets of multiple IMUs data from BHI260AB per second. You can connect 4 pcs. of BMI160 IMU chips on BHI260AB secondary interface through SPI bus for example. Then you will have total 5 IMUs data. You can write your own code in BHI260AB SDK to collect total 5 IMUs data into FIFO at 60Hz or 120Hz. Your microcontroller can just grab all IMUs data through BHI260AB primary SPI bus at once.