EmbeddedRelated.com

High-G Vehicle Data Logger with 10Hz GNSS and 3D Attitude Sensing

A battery-powered vehicle data logger that records GNSS position/time, 3D attitude, and high-g acceleration at fixed rates for production use.

Advanced Project — This is an advanced production design because it combines low-power battery management, GNSS RF integration, multi-sensor fusion, high-rate logging, and robust storage/power-fail handling in a vehicle environment.
Assumptions:
  • The device is a standalone logger, not a live telemetry tracker.
  • 3D attitude can be derived from an IMU plus magnetometer; no external reference like RTK or wheel odometry was specified.
  • Logged data will be stored locally, likely on removable flash or SD card, since no storage medium was explicitly named.
  • The battery is a single-cell 3.7 V Li-ion/Li-poly pack with charging handled separately or via a dedicated charger IC.
  • Production use implies a custom PCB rather than a dev board, and parts should be available from major distributors.

Bill of Materials

Microcontroller
Top Pick ESP32-S3-WROOM-1 Espressif Systems From our database
Top pick: ESP32-S3-WROOM-1 (Espressif Systems). Widely available module with strong ecosystem, dual-core processing, and built-in wireless if you later want telemetry. It is not the lowest-power choice, but it is practical if you want faster development and optional connectivity in the same platform.
STM32U585RIT6 STMicroelectronics AI suggestion - verify availability
Low-power Cortex-M33 MCU with plenty of RAM/peripherals for 10 Hz GNSS parsing, 100 Hz IMU logging, timestamping, and SD card/file handling. Good fit for a battery logger because it offers much lower sleep current than general-purpose MCUs while still having enough performance headroom for production firmware.
STM32H743VIT6 STMicroelectronics From our database
High-performance Cortex-M7 with strong DMA/peripheral bandwidth for concurrent SPI/I2C logging and filesystem work. Best if you expect heavier processing such as sensor fusion, filtering, or future expansion, but it will usually draw more power than a low-power MCU.
GPS/GNSS Receiver
Top Pick MAX-M10S-00B u-blox From our database
MAX-M10S-00B is the best receiver choice here because it is a modern low-power GNSS module that can comfortably support 10 Hz position/time logging in a production battery design.
NEO-M9N u-blox From our database
Very capable multi-constellation GNSS module with excellent sensitivity and mature ecosystem. Good choice if you want more margin for difficult vehicle environments, though it is typically larger and higher power than an M10-based option.
GNSSL1L5182530 Pulse Electronics From our database
Active L1 patch antenna with integrated LNA, useful for improving GNSS reception in a vehicle enclosure. This is an antenna, not the receiver, so it complements the GNSS module rather than replacing it.
Attitude Sensor
Top Pick ICM-20948 TDK InvenSense From our database
ICM-20948 is the best choice because it gives you the full 9-axis data needed for 3D attitude estimation in a compact, production-friendly sensor.
DFR1179 DFRobot From our database
Integrated 3D attitude sensor module with accel, gyro, and magnetometer plus onboard processing. Good for prototyping and algorithm validation, but it is a module rather than a bare production IC, so it is less ideal for a custom production PCB.
2862 Pololu From our database
Compact 9-axis IMU module based on LSM6DS33 plus LIS3MDL, with a proven sensor combination for orientation estimation. Useful if you want a ready-made module for early testing, though it is still more of a module-level part than a bare production sensor.
Acceleration Sensor
Top Pick ICM-40609-D TDK InvenSense From our database
Top pick: ICM-40609-D (TDK InvenSense). 6-axis motion sensor with accelerometer and gyroscope, useful if you want a second motion sensor path or a simpler IMU-only design. However, it does not provide the magnetometer needed for full attitude reference and is not as direct a fit as a dedicated +/-16 g accelerometer.
ISM330ISTR STMicroelectronics From our database
Robust 6-axis IMU with embedded processing and always-on features, good for motion detection and logging. It is a strong sensor, but it is not as directly matched to the explicit +/-16 g requirement as the ADXL345.
Power Supply
Top Pick BQ24074RGTR Texas Instruments From our database
BQ24074RGTR is the best power-management choice because it cleanly handles single-cell charging and system power-path needs for a production battery logger.
XC6206P332MR-G ROHM Semiconductor From our database
Very low-quiescent-current 3.3 V regulator for generating a clean logic rail from the battery. Good as the downstream regulator after the charger/power-path stage, especially for low standby drain.
Storage
Top Pick W25Q128JVSIQ Winbond From our database
W25Q128JVSIQ is the best starting point if you want a simple, robust production logger with soldered storage and no card-socket reliability concerns.
S25FL256SAGMFI000 Infineon From our database
256 Mbit SPI NOR flash gives more logging headroom while keeping the interface simple and deterministic. Good for production if you want soldered-on storage without card socket reliability issues.
microSD socket plus industrial microSD card Multiple
Best raw capacity and easiest field data extraction, especially if you expect long logging sessions. This is a system-level choice rather than a single IC, but it is often the most practical storage method for vehicle loggers.

Compatibility Notes

  • STM32U585RIT6, MAX-M10S-00B, ICM-20948, STM32U585RIT6, and W25Q128JVSIQ all operate naturally in 3.3 V logic domains, so the digital interface stack is straightforward.
  • BQ24074RGTR can manage the single-cell battery input, while XC6206P332MR-G can provide a clean 3.3 V rail for the MCU and sensors; check dropout and peak current so the rail stays in regulation during GNSS current bursts.
  • MAX-M10S-00B typically uses UART or I2C depending on configuration, while the IMU and accelerometer can share I2C or use separate STM32U585RIT6 buses; plan bus bandwidth so 100 Hz logging does not collide with GNSS parsing.
  • If you choose microSD instead of SPI flash, the storage subsystem will need more PCB area, careful signal routing, and likely higher peak current than the flash option.
  • The active GNSS antenna option GNSSL1L5182530 needs a matching RF feed and proper antenna placement away from the MCU, battery, and switching noise sources.

You'll Also Need

  • MicroSD socket and card if you choose removable storage.
  • GNSS antenna matching network, RF connector or coax, and mechanical antenna mounting.
  • Battery pack, protection circuit if not integrated in the cell, and charging connector.
  • Decoupling capacitors, pullups, crystal/clock parts if required by the chosen MCU design, and ESD protection on external connectors.
  • PCB, enclosure, mounting hardware, and any vibration isolation needed for vehicle use.
  • If you need exact attitude in all conditions, you may also need calibration routines and possibly a better heading reference than a magnetometer alone in a vehicle environment.
Estimated BOM Cost: $25-60 excluding enclosure and battery, depending (based on live distributor pricing)

Design Considerations

Power Budget
A 10 Hz GNSS receiver plus a 100 Hz IMU/logger can usually be built in the 50-150 mA average range depending on antenna and storage strategy. The battery life will be dominated by GNSS and any always-on storage writes, so use burst logging and buffer data in RAM before committing to flash or SD. The BQ24074RGTR plus a low-Iq 3.3 V regulator is a good architecture because it avoids wasting battery in standby.
Attitude Estimation
A 9-axis sensor like ICM-20948 is appropriate because yaw/heading needs a magnetometer reference, but vehicle magnetic interference can be severe. In production, expect to calibrate hard/soft iron effects and consider rejecting magnetometer data when the vehicle environment is disturbed. If heading accuracy is critical, you may need a more sophisticated fusion strategy than a simple complementary filter.
Acceleration Measurement
The STM32U585RIT6 meets the +/-16 g requirement, but make sure the selected output data rate and bandwidth are configured so 100 Hz logging does not alias vibration. In a vehicle, shock events can be short, so sample with enough headroom and avoid aggressive digital filtering that hides peaks. Mount the sensor rigidly to the chassis or the measurement will include enclosure flex and connector motion.
Storage Reliability
For production loggers, soldered SPI flash is usually more robust than removable cards because it avoids socket wear, card corruption, and user handling issues. If you need long-duration logs, microSD is attractive, but you must design for card removal during writes, file system corruption, and higher peak current. Whichever storage you choose, use a power-fail-safe write strategy with preallocated files or append-only records.
PCB Layout
Keep the GNSS RF path short and controlled, and place the antenna feed away from digital clocks, battery switching nodes, and high di/dt current loops. Put the IMU near the board center and away from heat sources so bias drift is minimized. Use a solid ground plane and separate noisy power routing from the GNSS and sensor analog domains as much as possible.
Firmware Architecture
Use a timestamped acquisition pipeline with separate tasks or interrupt-driven state machines for GNSS, IMU, accelerometer, and storage. Buffer data in RAM and write in blocks to reduce flash wear and avoid missing samples during file system latency. Add watchdog recovery and a brownout-safe shutdown path so a vehicle power dip does not corrupt the log.

Want to customize this project or build something different?

Try the Project Advisor