Skip to main content
Version: ACS CC

Automotive Black Box

A black box that logs data on an SD card if the RC car has been in an accident.

info

Author: Barbu Alexandru Daniel
GitHub Project Link: https://github.com/UPB-PMRust-Students/acs-project-2026-AlexandruDanielBarbu

Description

The project will do 2 things:

  1. Detect if the RC car was involved in a crash
  2. If a crash had occurred log data such as acceleration, speed etc on an SD card.

Motivation

I am passionate about cars. Many of my solo projects had involved cars from modeling to simulating the forces that act on a car.

Architecture

Add here the schematics with the architecture of your project. Make sure to include:

  • i will do a Kalman filter so i need a crate for handling math and matrix multiplication
  • i will have to do some custom graphs to determine when an accident happened so another rust crate there
  • from what i understand i also need a filter that stabilizes the signal from the IMU sensor

Log

Week 23 Feb - 29 Mar

Looking for an idea, validating idea, idea is too simple so back to square 1.

Asking people for problems that my project could solve, I am not satisfied with the ideas.

Finding out about back boxes and how they record data for a plane crash, adapting the idea for a smaller scope so i chose a car instead of a plane.

Validating idea with the course staff, idea is good.

Looking for components, finding components, ordering them, they get delivered to the wrong address, waiting for components some more time.

Week 30 Mar - 26 Apr

Doing small scale beginner project on the board to get the feel of how to program in rust on the STM board.

Waiting for the rest of the components to be delivered.

Week 12 - 18 May

Week 19 - 25 May

Hardware

Components:

  • IMU 6 axis
  • MicroSD card module
  • STM board (provided by the university)
  • buzzer
  • LED
  • wires
  • breadboard
  • power supply 4 AA batteries

Schematics

Place your KiCAD or similar schematics here in SVG format.

Bill of Materials

DeviceUsagePrice
STM32U545The microcontroller113 RON
MPU-6500 6 axeAccelerometer and gyroscope for crash detection12 RON * 2
Suport baterii AA, 4AAPower up the project7 * 2 RON
Modul MicroSDFor live telemetry5 * 2 RON
LEDVisual effect of the crash-
BuzzerAuditorial effect of the crash-
Wires--
BreadboardLink components together-

[!NOTE] I bought 2 of each part just in case one breaks.

Software

[!NOTE] These are subject to be changed.

LibraryDescriptionUsage
embassy-stm32STM32 hardware driverControlling pins, timers, and peripherals
embassy-timeTime and delay managementHandling timeouts and periodic events
embassy-syncAsync sync primitivesInter-task communication (Mutex, Channels)
cortex-mCore processor accessManaging interrupts and CPU instructions
cortex-m-rtStartup/Runtime for ARMInitializing memory and the entry point
defmtLow-overhead loggerFast logging for embedded systems
defmt-rttRTT transport for logsTransferring logs through debuggers
embassy-embedded-halHAL helper utilitiesAdapting hardware traits for Embassy
embassy-executorAsync task schedulerRunning and managing async tasks
embassy-futuresAsync helpersCombining or waiting for multiple futures
embassy-usbAsync USB stackImplementing USB device functionality
embedded-hal-asyncAsync hardware traitsStandard interface for non-blocking drivers
panic-probeDebug panic handlerReporting crashes via the probe
minikalmanno_std Kalman FilterCore implementation for sensor fusion
nalgebraGeneral linear algebraHandling 3D matrices and vector math
micromathFast embedded mathEfficient floating point (sin, cos, sqrt)
ahrsAttitude/Heading ReferenceFusing IMU data into orientation vectors
  1. Volvo car crash NCAP test
  2. What is a black box
  3. Kalman filter - 1
  4. Kalman filter - 2