The Micro Logger is a small wearable sensor that logs gyro and acceleration data directly to an SD card. This first design was kept very simple and the footprint was minimized down as much as possible. Going forward, there are some basic plans to replace the sd card with an e.mmc module and solder the connections of the battery directly to the board with a charging IC. This should make it possible to charge battery through a micro-usb interface. Variations of this in the future can explore different mem sensors and compare characteristic performance.
This implementation of the sensor uses an ICM-20948 and a i2c bridge(PCA9306DCUR). Due to the lower running voltage of the mems sensor a separate drop out is used to bring the voltage down to 1.8v vs the 3.3v that is running the micro processor. The signals from the mems sensor are passed through an ATMEGA-328-AU running MicroCore before being saved to an SD card. The 2×3 header on the board is an ISP programming header for flashing the processor. A board level schematic can be found here: Schematic
Some tweaks to the design include changing the the resistors on the i2c line and testing if it’s possible to increase the frequency. The ATMEGA328-AU is already fairly small but Microchip also sell a variation of the same processor in a flat-package variant; This could help with minimizing the size of the board.
It’s possible to load up a more custom program for a specialty task through the open ISP header on the board. A pogo pin adapter should make the process of re-flashing the processor easier (pogo adapter). The github repository contains all the necessary code for a basic logger.
The SD card library that comes default with ardunio is horribly slow. I plan to exchange this with SdFat along with storing the data to a binary format. this should allow more data to be stored and the smaller format should allow for a high frequency.