Diogo Freitas

Computer Engineer · Embedded Software Engineer · Mobility Software Developer

My ultimate career goal is to shape the future of mobility and transport by developing user-centered solutions applying cutting-edge technologies that are currently trending in the industry.


Experience

Embedded Software Engineer | Electromobility

Volvo Group
  • Developed embedded software for BMS (Battery Management System) at cell and pack level for electric trucks and buses.
  • Implemented production-grade software for battery state estimation algorithms from existing POCs.
  • Achieved 40% reduction in CPU load after refactoring existing functions. Also, helped to decrease memory footprint.
  • Carried out assessments to review how certain design decisions would impact our end-user functionalities.
  • Analyzed data from connected vehicles already operating in the field to evaluate performance of our algorithms.
  • Debugged C code generated by TargetLink in Eclipse with GDB.
  • Inspected build failures in our Continuous Integration (CI) pipeline on Jenkins.
  • Developed Python scripts to automate time consuming tasks and deliver them 9x faster.
  • Implemented improvements in the MiL (Model-in-the-Loop) infrastructure used by the team.
March 2022 - Present
Curitiba, Brazil

Embedded Software Engineer | Combustion Engines

Volvo Group
  • Developed embedded software for Diesel engine ECUs in application layer level.
  • Implemented engine control functions using Model-Based Design (MBD) tools (MATLAB, Simulink and TargetLink).
  • Tested the developed functions in open/closed loop verification environments using SIL and HIL tools.
  • Verified the correctness of SAE J1939 messages sent/received by the ECU using Vector CANalyzer and ATI Vision.
  • Wrote unit test cases for software functions using a custom test automation framework built upon Google Test (C++).
  • Refactored the drafts of Functional Safety Requirements so that our engine software complies with ISO 26262.
  • Lectured a hands-on online training about Git & Bitbucket to my peers.
  • Investigated code violations reported by the static code analyzer Klocwork.
  • Assisted in-vehicle tests to validate engine functions (e.g. engine brake, cruise control, fuel economy).
  • Documented information from the engine software concerning diagnostic standards and emissions legislations.
October 2019 - February 2022
Curitiba, Brazil

Diagnostic & Verification Engineer

Volvo Group
  • Developed software for test automation solutions and productivity tools using C#, C++ and Python.
  • Implemented software-based rigs using the simulation tool Vector CANoe.
  • Led innovation initiatives within the team (e.g. design thinking workshops, hack days).
  • Supported the verification of regulatory changes in On-Board Diagnostics (OBD) systems using Vector CANalyzer.
  • Assisted the creation of diagnostic strategies for the introduction of autonomous trucks in Latin America.
  • Performed regression and user acceptance tests in the diagnostics tool provided to the dealerships.
  • Verified and corrected fault tracing procedures for a variety of Diagnostic Trouble Codes (DTCs).
  • Mentored the team in Agile principles throughout the change to our new way of working.
May 2018 - October 2019
Curitiba, Brazil

Firmware Development Intern (Bachelor Thesis)

ZF Group
  • Thesis title: Software Architecture for a Vehicle Data Acquisition System.
  • Designed from scratch an embedded software architecture for a brand-new general-purpose ECU.
  • Studied existing standards and selected design patterns to be used in the proposed software architecture.
  • Implemented Hardware Abstraction Layers (HALs) above low-level drivers supplied by the semiconductor vendors.
  • Developed embedded software using C to interface peripherals (e.g. CAN controllers, WiFi modules and SD cards).
  • Conducted bench tests of CAN bus connectivity features using Vector CANalyzer.
September 2017 - March 2018
Friedrichshafen, Germany

Autonomous Driving Intern

ZF Group
  • Developed the embedded software controlling a medium-duty driverless tractor with SAE Automation Level 2.
  • Implemented application software using C to control vehicle speed, Power Take-Off (PTO) and hydraulic implements.
  • Performed field tests of automated driving features in realistic conditions of a real-world environment (e.g. farms, test tracks).
  • Reviewed and corrected hardware schematics of the components used in the project.
  • Tested, reviewed and performed bugfixes on newly developed sensor prototypes.
  • Collaborated on the establishment of Agile methodologies for project management.
March 2017 - August 2017
Friedrichshafen, Germany

IT Applications Trainee

ExxonMobil
  • Supported Software Development Life Cycle (SDLC) activities, including requirements, coding, testing & deployment.
January 2016 - March 2017
Curitiba, Brazil

Web Development Intern

GAMURS
  • Translated several web page designs into HTML documents styled with CSS and jQuery.
December 2014 - February 2015
Sydney, Australia

Education

Chalmers University of Technology

MicroMasters® in Emerging Automotive Technologies
128th place @ QS World University Rankings 2019
Relevant Coursework:
  • Model-Based Systems Engineering
  • Electric & Combustion Powertrains
  • Hybrid Vehicles
  • Automotive Safety
  • Sensor Fusion
July 2020 - December 2022
Online course by edX

Federal University of Technology Paraná (UTFPR)

Bachelor of Computer Engineering
49th place @ Times Higher Education Ranking 2018 Latin America
Relevant Coursework:
  • Embedded Systems
  • Operating Systems
  • Distributed Systems
  • Software Engineering
  • Computer Architecture
  • Digital Signal Processing Lab
  • Data Structures & Algorithms
  • Control Systems
  • Systems Security
  • Database Systems
  • Computer Networks
  • Programmable Logic
  • Digital Image Processing
  • Analog & Digital Electronics
Extracurricular Activities:
  • Teaching Assistant @ Introductory programming courses (C, C++, OOP)
  • Research Assistant @ Bug tracking research project
  • English conversation club
  • French language course
GPA: 0.7524/1.0
August 2011 - August 2018
Curitiba, Brazil

University of New South Wales (UNSW)

Study Abroad Program
45th place @ QS World University Rankings 2019
Relevant Coursework:
  • Robot Design
  • Software Construction
  • Artificial Intelligence
  • Embedded Systems Design
  • Microprocessors and Interfacing
  • Computing Applications for Mechatronic Systems
Extracurricular Activities:
  • UNSW Football Club
  • Hillsong ON Campus
March 2014 - November 2014
Sydney, Australia

Skills

Programming

C, MATLAB, Python (most familiar)
C++, C#, Java, JavaScript, Perl, ARM Assembly (least familiar)

Automotive

CAN bus, SAE J1939, UDS (most familiar)
AUTOSAR, ISO 26262 (least familiar)
Driving License Category D (Rigid trucks and buses).

Tools

Simulink, Vector CANalyzer, Git, Bitbucket, JIRA, GitHub, Eclipse, GDB (most familiar)
Vector CANoe, ATI Vision, TargetLink, Jenkins, Klocwork, Visual Studio (least familiar)

Embedded

Bare metal, RTOS, Embedded Linux, device drivers, HALs, FPGA design with VHDL

AI

TensorFlow with Keras, scikit-learn, Pandas, NumPy, Seaborn, Matplotlib, Jupyter.

Computing

Linux, TCP/IP stack, full-stack web development, SQL and NoSQL databases

Languages

Portuguese (native), English (fluent), Spanish (conversational)


Honours

Awards
  • 1 st place @ Hackathon Copel Telecom
  • 2 nd place @ Connecting to the IoT with NXP
  • 3 rd place @ Twizy Contest: Renault Experience
  • Finalist @ SHIFT Hackathon MasterCard
  • Science Without Borders scholarship recipient

Other things I'm proud of
  • I had interviews with Google and Facebook
  • I attended 10+ hackathons (incl. Uber, Motorola, MasterCard and Zeiss)
  • I was selected to compete in highly selective hackathons (Uber and Globo)
  • I interned in 3 different countries before I graduated (Australia, Brazil and Germany)
  • After a troubled start at uni, I climbed my way up to a 3.0 GPA
  • I pitched internship projects to VPs and key customers while working at ZF
  • I got my first full-time job before I graduated from university
  • I have a granted patent

Projects

Battery Management System (BMS)

Battery management software for the lithium-ion batteries
Developed algorithms for state estimation, power management, diagnostics, safety monitors and other battery functions.
February 2022 - Ongoing
Curitiba, Brazil

Proconve P8 Engine

Evolution of volvo’s heavy duty engine with 8% better fuel consumption
Participated on the development effort for the creation of new software strategies to control engine auxiliary systems.
October 2019 - February 2022
Curitiba, Brazil

Virtual Rigs

Test automation solution for scan tool
Virtual electronic architecture implemented in Vector CANoe to simulate ECU signals consumed by the automated tests.
September 2018 - October 2019
Curitiba, Brazil

Lindner TracLink Pilot - Copy & Paste

Self-driving feature (SAE Automation Level 2) for medium-duty farm tractors
Developed software to control:
  • Vehicle and engine speed
  • Power take-off (PTO) activation
  • Hydraulic implement
May 2017 - August 2017
Friedrichshafen, Germany

SmartFare

Data collecting and electronic ticketing system for public transportation
Awarded the 2nd place on a nationwide design contest of IoT applications promoted by NXP Semiconductors.
August 2016 - November 2016
São Paulo, Brazil

Mobile Robotics Algorithms

Algorithms implementing common robotic tasks in MATLAB
  • Calculating attitude angles (roll, pitch, yaw) with gyroscope data
  • Create a point cloud based in images from a depth camera (RGB-D)
  • Obstacle detection based in 3D point cloud
  • Localization algorithm using data association and triangulation methods
  • Estimation of robot heading angle in a global reference frame
  • Occupancy grid with obstacle detection
August 2014 - October 2014
Sydney, Australia

Real-time Systems Lab

Real-time instrumentation system for motor control using Embedded Linux (RTAI)
Achieved real-time constraints by loading customized kernel modules that implemented inter-process communication between two threads using a shared memory location. Object-oriented drivers were developed using C++ to interface peripherals like ADC, DAC and encoder.
August 2014 - October 2014
Sydney, Australia

3D Environment Scanner

Point cloud generator for internal environments
A device built to map internal environments and plot it in a point cloud custom software.
June 2013 - September 2013
Curitiba, Brazil

Courses

Automotive
  • ISO 26262 (Software, Testing and Hazard Analysis) @ Volvo Group
  • High Voltage Systems of Electrified Vehicles @ AEA
  • Safety for Hybrid and Electric Vehicles @ AEA
  • Introduction to Autonomous Vehicles @ AEA
  • Introduction to Automotive Cybersecurity (ISO 21434) @ Volvo Group
  • Product Cybersecurity - Threat Analysis Risk Assessment (TARA) @ Volvo Group
  • Diesel Engine Fundamentals @ Volvo Group

Data Science
  • Data Science and Machine Learning Bootcamp @ Udemy

Tools
  • Model a Car and Design a PID Controller in MATLAB/Simulink @ Udemy
  • Vector CANoe Basics @ Volvo Group

Agile
  • Scaled Agile Framework (SAFe®) @ Volvo Group
  • Scrum Training & Simulation @ ExxonMobil

Programming
  • Programming with C# @ edX (by Microsoft)
  • Programmable Logic and VHDL @ UTFPR (master's level)
  • Ruby, HTML & CSS, jQuery @ Codecademy
  • Introduction to Software Testing @ Coursera (by University of São Paulo)

Innovation
  • User-centered Design @ ExxonMobil

Volunteering

NASA International Space Apps Challenge

Hackathon Mentor
Activities:
  • Provided technical mentorship to teams working in embedded systems & IoT projects.
October 2019
Curitiba, Brazil

Free Software Technology Forum (FTSL)

Course Instructor
Activities:
  • Lectured a introductory course to the Perl programming language.
September 2018
Curitiba, Brazil

Students@ZF

International Team Member
Activities:
  • Organized recreational events to integrate ZF’s interns and to promote networking.
April 2017 - December 2017
Friedrichshafen, Germany

Farol da Madrugada

Volunteer & Translator
Activities:
  • Spread a life-changing message of hope to marginalized people wandering the streets after midnight.
  • Coordinated and revised the translation of the organization’s website and flyers to English.
September 2011 - March 2016
Curitiba, Brazil

Assembly of God Church

Youth Assistant Leader & Media Team Member
Activities:
  • Developed a quiz buzzer machine for activities at the youth group.
  • Planned and executed activities for teenagers at the annual youth camps.
  • Operated the media projector during services.
October 2012 - October 2016
Curitiba, Brazil

Hillsong Church

Welcome Lounge Team Member
Activities:
  • Welcomed and connected newcomers in church.
March 2014 - November 2014
Sydney, Australia

Interests

Professional interests
  • Autonomous vehicles
  • ADAS
  • ECU software development
  • Connected cars (V2X)
  • Electromobility
  • Intelligent Transportation Systems
  • Aircrafts
Recreational interests
  • Travel
  • Football
  • Movies & TV Series
  • Christianity
  • History
  • Economics
  • Wine & Beer