Coimbatore, Tamil Nadu, India
π LinkedIn: inz-madhan-ravi
- Professional Summary
- Skills & Expertise
- Professional Experience
- Education
- Licenses & Certifications
- Personal Projects & Adventures
- Community Contributions
Model-Based Development Engineer with over 3 years of experience in automotive software development, specializing in Battery Management Systems and Fuel Cell technologies. Strong expertise in MATLAB/Simulink, Stateflow, Embedded C, and Model-Based Design workflows. Proven experience working in OEM and Tier-1 environments with strict adherence to MAAB, MISRA and AUTOSAR standards. Effective in requirements implementation, model optimization, testing, and production-quality code generation.
Highly skilled in MATLAB/Simulink to implement complex logics. Familiar with Bazel framework for testing C codes and YAML configuration for GitHub Action workflows. Hands-on experience with PC based oscilloscope.
A frequent contributor in MATLAB Answers and a MVP and Masters badge holder. Absolute fan of MathWorks. A curious individual up for challenges and to learn new concepts. Strongly believes Model Based Design (MBD) and Model Based Systems Engineering (MBSE) makes everything much easier and simpler.
Capgemini Engineering (for BMW Group AG) β Munich, Germany July 2023 β October 2025
- Developed BMS charging management algorithms in MATLAB/Simulink; implemented logical complex functional requirements in collaboration with system and functional engineers
- MiL and SiL test runs performed for each implementation cycle; incrementally expanded testcases per SWC (Software Component) to drive up Simulink Coverage percentages across all components
- Worked extensively with a Bazel-based test framework β all SWCs packaged as functional Bazel packages for consistent MiL, SiL, and Model Advisor test execution
- Automated test pipeline via GitHub Actions; generated MiL/SiL coverage reports and published artifacts to JFrog
- Performed MiL and SiL validation; assisted functional engineers in HiL-level defect tracing to low-level artifacts (
.c,.a2l,.slx) when abnormalities were identified - Generated production Embedded C code using MATLAB Embedded Coder with Bazel integration
- Enforced MAAB, MISRA and AUTOSAR compliance; applied SonarQube, Helix QAC, and CodeSonar for static analysis and quality gates
- Reviewed pull requests and supported CI/CD integration workflows
AVL β Warsaw, Poland December 2022 β May 2023
- Developed and validated fuel cell system models
- Performed system-level simulations using MATLAB/Simulink
- Supported testing, analysis, and validation activities for fuel cell powertrain components
AVL β Warsaw, Poland August 2022 β November 2022
- Assisted in fuel cell system modeling and simulation tasks
- Supported senior engineers with data analysis and validation activities
Amazon β Remote July 2021 β July 2022
- Executed operational support tasks in a virtual environment
- Ensured process compliance, data accuracy, and service quality
Warsaw University of Technology 2016 β 2022 | Grade: 4.42
AVL | Issued December 2022
MathWorks | Issued November 2022
Goethe-Institut e.V. | Issued February 2022 | Skills: Deutsch
Adventure in hands-on projects goes on :)!
- Built a GitHub Actions CI pipeline for Infineon AURIX TC375 firmware development using GCC and Memory Utilization Dashboard from scratch
- Validates builds automatically on each commit and generates firmware artifacts including ELF, HEX, MAP, LST, and size reports
- Achieved reproducible builds across local and cloud environments, handling artifact retention and daily Markdown report generation
- Powershell script for fetching latest builds and flashing it in Infineon AURIX TC375 using Aurix Flasher
- Automated HTML report generation through MATLAB using GitHub API methods and PowerShell scripts in CI
- Created a
MATLABDiffGeneratorto produce extended inline diffs that go beyond the default GitHub diff view - Added a live view grapher custom JavaScript function in the existing Aurix TCF VSCode Debugger for better understanding of system behavior
- Utilized Apple Shortcuts to trigger workflow dispatch for higher precision than cron schedulers, and to convert Markdown files to CSS-styled HTML for mobile readability
- Only for Personal Use.
Implemented bare metal register level programming to perform Variable PWM using GTM Module TOM in Infineon AURIX Tricore 375 and validated behaviour using Picoscope 2208B MSO.
Measured AURIX Tricore TC375 ISR execution and ISR Latency using CPU Performance Counter and validated it through hardware GPIO measurement using Picoscope 2208B MSO.
Analyzed AURIX Tricore TC3xx GCC Compiler vs Tasking Assembly with same and different optimization flags, thereby understanding the AURIX Tricore TC375's architecture very well.
- Hands-on with Picoscope 2208B MSO and STM32G431(R/K)B / STM32H7(45/55)ZI-Q / STM32H735G-DK using HAL Libraries and pure direct register level programming
- Implemented FD/CAN, SPI, I2C, USB CDC, and USART communication protocols successfully and validated using Picoscope
- Implemented indicators on LCD TFT of STM32H735G-DK for crucial data display
- Performed UDS on CAN on real vehicle using STM32 (OBD2 on CAN β yet to be done)
- Developed MATLAB application which logs vehicle's CAN Frames, plots bytes using CAN ID in real time, visualizes all CAN IDs bytes using STM32H735G-DK
- Successfully reverse engineered CAR CAN IDs β identifying what each CAN ID and its bytes represent
- Used C for logging to reduce overhead and capture all CAN Frames at ~150 microseconds intervals
- Designed a PCB to interface STM32G431KB with OBD2 port
- MATLAB Answers - Profile β Frequent contributor, MVP and Masters badge holder
- A blog about me due to highest contributions in MATLAB Answers: Community Q&A β Madhan Ravi
- Passionate advocate of MathWorks ecosystem and Model-Based Design methodology


