Summary
Overview
Work History
Education
Skills
Timeline
Generic

Madhavi Arvind Saraf

Embedded Software Engineer
Portland

Summary

Professional software engineer with solid foundation in embedded systems and real-time programming. Skilled in C/C++ development, microcontroller programming, and debugging complex software issues. Strong focus on collaboration, adaptable to changing project needs, and consistently driven to achieve high-quality results. Effective communicator and problem solver, valued for reliability and teamwork.

Overview

8
8
years of professional experience

Work History

Embedded Software Engineer II

IDEXX Laboratories
06.2024 - Current
  • Designed and developed automated manufacturing test fixtures for the InVue platform to validate power and control assemblies, using Bash and Python to interface with embedded hardware and interact with the FPGA fabric microcode engine for functional diagnostics and production validation.
  • Developed visualization and simulation tooling for instrument workflows, including web-based interfaces to render cartridge layouts and real-time electrowetting droplet movement, and a Visual Studio Code extension for simulating electrowetting sequences used by scientists and sequence developers.
  • Built multithreaded stress-testing frameworks to validate the stability of the FPGA fabric and the underlying microcode execution engine, exercising multiple peripherals concurrently to detect deadlocks, race conditions, lockups, and hardware contention.
  • Designed and implemented tooling for formatting proprietary assembly microcode, improving code quality and maintainability for FPGA microcode development.
  • Developed multiple Linux kernel drivers and hardware interfaces, including drivers for inductance sensors, TMC2240 motor controllers, and heater control, and implemented hardware-level boot status indication for system diagnostics.
  • Optimized the EWOD (Electrowetting-on-Dielectric) driver by improving impedance measurement handling, managing AD5933 impedance converter standby states, reducing signal interference, and improving system stability.
  • Refactored driver architecture to separate voltage control from the EWOD driver, improving modularity and maintainability of the hardware control stack.
  • Designed and implemented Automated Component System (ACS) tests for hardware drivers, including camera driver validation and HAL-based heater sensor testing, improving hardware validation coverage.
  • Introduced a Hardware Abstraction Interface (HAI) to standardize hardware interaction across multiple instrument platforms.
  • Integrated hardware interface testing using the Linux IIO subsystem, improving automation of hardware validation workflows.
  • Reorganized device trees and platform configurations for Duke and InVue systems to support a unified platform architecture.
  • Developed camera benchmarking fixtures and improved VDMA camera driver reliability by redesigning camera detection mechanisms.
  • Enhanced the Yocto build system by adding a new MACHINE configuration, integrating CI workflows, and implementing EEPROM flashing utilities for hardware identification.
  • Improved software upgrade and deployment infrastructure using swupdate, modularizing upgrade scripts, and implementing firmware compatibility safeguards.
  • Investigated EXT4 filesystem integrity issues on NVIDIA-based platforms, and implemented system recovery safeguards.
  • Led platform refactoring and technical debt reduction across device trees, drivers, and system rules, improving maintainability and platform stability.
  • Implemented shared threading mechanisms across drivers, and enhanced motor control logic to support operation with and without stall detection.
  • Documented the hardware interface architecture and platform design, improving developer onboarding, and long-term maintainability.

Associate Software Engineer & Senior Software Engineer

Robert Bosch (Bosch Global Software Technologies)
08.2018 - 08.2022
  • Developed a new tool in C++ following the MISRA C++ standard using multithreading and inter process communication to monitor execution in CI/CT env. (Jenkins), resulting in 50% performance improvement
  • Led the development of Perl/Python-based automation test framework internal to the organization, utilized by more than 100 testing teams supporting both Hardware in Loop and Software In Loop env following ISO26262 standards supporting multiple OEMs in Germany, Japan, China, Australia
  • Implemented a new tool for automating analysis of CAN and Flexray communication signals
  • Researched about the electrical error simulation automobile components and proposed design for new tool adhering to ASAM XIL standard
  • Implemented the new Electrical Error Simulation tool (EES) supporting Hardware In Loop and Software In Loop env. leveraging GRPC protocol
  • Integrated the new EES tool with the ECU-Test tool from Tracetronic
  • Constructed website using ASP.NET (front end and back end in a team of two) used by more than 70 teams
  • Designed a new tool in python for logging and tracking defects which increased development speed by 20%
  • Northeastern University - Graduate Teaching Assistant
  • Teaching assistant for Operating/Computer Systems and Algorithms

Education

Master of Science - Computer Science

Northeastern University, Roux Institute
Portland, Maine
05.2024

Skills

Languages: C, C, Python, Shell script, SQL

Embedded Linux tools: Yocto, systemd, device drivers

Web Technologies: React JS, NodeJS, PHP, HTML CSS

SOM and SoC : Arduino, Raspberry Pi, KRIA KV260, NVIDIA Jetson

Comm Protocols & tools: I2C, SPI, VDMA, CAN, Flexray, LIN, Ethernet, MOST, CAN FD, Canalyser

Timeline

Embedded Software Engineer II

IDEXX Laboratories
06.2024 - Current

Associate Software Engineer & Senior Software Engineer

Robert Bosch (Bosch Global Software Technologies)
08.2018 - 08.2022

Master of Science - Computer Science

Northeastern University, Roux Institute
Madhavi Arvind SarafEmbedded Software Engineer