I am seeking some broad advice on the design (i.e. selection of components) of a piece of wearable technology that I would like to make.
Aim - I want to measure the acceleration of the wrist when throwing a ball.
Constraints
The measurement device needs to be small and battery powered
I want to wirelessly transmit the measurements
I need to capture peak acceleration (which is well above 20 g)
Capacity
I can solder and assemble hardware
I have Arduino experience
I can 3D print an enclosure
I can learn new skills
If I can get the data to a PC via Bluetooth, I’ll be able to handle the subsequent processing
Questions
The only 3-axis accelerometer I can find here that goes above 16 g is the ADXL377. Is this suitable, are there better choices?
To capture the signals from the accelerometer breakout board and transmit them via WIFI/BLE, I was looking for a small form factor option like the “ESP32 Thing” (although it appears that it doesn’t handle analog inputs when using Arduino). Is there a better choice?
Will I be able to transmit 3 channels of data at 100 Hz?
That is a neat project and I think we have a couple of options that will work for your microcontroller/transmitter. I will answer your questions below:
- That is pretty much correct. We do have this [[LIS331 Breakout](https://www.sparkfun.com/products/10345) that can be configured to +/-24g but that may not be a large enough range for your project.
- The ESP32 Thing could work for this project. The [[ESP32 Arduino Core](https://github.com/espressif/arduino-esp32) does have some analog functionality and you can do analogRead(), just not analogWrite(). That GitHub repository linked above will have more information regarding reading analog inputs. This [[project example](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/adc.html) using the Espressif IDF might be helpful for getting started with that code. Another option would be to use the [[SparkFun Pro nRF52840 Mini Dev Board](https://www.sparkfun.com/products/15025). To learn more about this board, I would recommend reading our [[Hookup Guide](https://learn.sparkfun.com/tutorials/sparkfun-pro-nrf52840-mini-hookup-guide) and the two programming guides linked in that tutorial.
- A short answer is yes, you can. There are some mitigating factors regarding your Bluetooth transmission speed but both Bluetooth 4.2 (on the ESP32) and Bluetooth 5 (on the Pro nRF52840) should be able of handling sending data from the ADXL337 at that rate.