Embedded Software Engineer Resume
Mossville, IL
SUMMARY
- Around 5+ years of experience in Embedded Systems.
- Solid understanding of processor architectures and real time operating systems.
- UI based application development and maintenance using QT4. X.
- Very strong exposure on software development on Embedded Linux, VxWorks (RTOS) and Solaris and Linux.
- Expertise in design, development and testing of embedded firmware/software development for real time multithreading/multitasking embedded applications.
- Experience in Board bring up, Boot and BSP firmware development
- Expertise in design, defines, develop and deploy object oriented software using C++, OOPS, UML, Design Patterns, SOLID Principles.
- Domain knowledge on Android Development.
- Extensively used designing tools like Star UML, Rational Rose for Object Oriented Design.
- Development experience on various embedded products: modem / WIFI routers / last meter telecommunication products, network - enabled set-top box media player products and embedded system for automotive application.
- Working Knowledge of ISO OSI stack and Network Protocols like TCP/IP, UDP/IP and Embedded Ethernet.
- Extensively involved in development of GUI using MFC for PC.
- Sound Knowledge of porting of different Architectures, Wi-Fi protocols (802.11a/b/g)
- Application Development using Linux System call, POSIX based multithreading, Real time extensions, Linux IPC, Linux Scheduling and Linux Memory management.
- Experience with hardware lab equipment such as Oscilloscope and logic analyzer.
TECHNICAL SKILLS
Languages: C, C++, Linux Shell Scripting, MISRA C, python scripting.
Platforms: Linux, Solaris, VxWorks, Embedded OS.
Testing Tools: CANalyzer, Oscilloscope, Vector CANOe.
Debugging Tools: TRACE 32, JTAG, Microsoft Visual studio.
Protocols Awareness: RS232, TCP/IP, SPI, I2C, Bluetooth Low Energy, TCP/IP
RTOS: QNX, VxWorks 5.x, RT Linux, Nucleus, ThreadX
BUG Tracking Tools: Bugzilla, IBM Clear Quest.
Microprocessors/ Microcontrollers: Atmel 8051, ATmega328P (Arduino Board), PIC16c57c (Basic Stamp), ARM Cortex-A8, PLC (Allen Bradley)
Embedded IDEs: Kiel IDE, IAR GHS, Eclipse, SDE
PROFESSIONAL EXPERIENCE
Confidential, Mossville, IL
Embedded Software Engineer
Responsibilities:
- Design and develop libraries for industrial automobile control applications in an agile software development team.
- Primarily responsible to develop filtering and estimation algorithms to identify internal states of machine.
- Integrate libraries and perform simulations for optimizing, troubleshooting, and tuning control strategies.
- Write and test Matlab scrips to automatically decode J1939 and Trimble Proprietary messages from CAN.
- Support hardware-in-the-loop testing for real-time validation of designed algorithms.
- Write automating scripts that process CAN logs for simulations.
- Kalman Filter development for estimation and filtering of IMU and GPS data for Blade Control and Positioning
- Wrote Python Scripts to automate the model analysis and extract data in a spreadsheet saving 2 hours of manual data analysis work
- Calibrated 'Virtual Operator' model to mimic an actual operator testing a machine
- Conducted Software in loop (SIL) simulation with Controls and plant model.
- Simulated production issues using the system model to perform root cause analysis and provide feedback or modification
- Extracted data for Control tunes from C and C++ codes
- Correlated model to vehicle system level test data from the field to 5 % accuracy.
- Converted Controls model to dll (C Code) with Real Time Workshop
- Successfully predicted performance metrics for a Next generation machine using SIL/MIL (Model in Loop)
- Conducted detailed subsystem analysis on Engine, Transmission and Hydraulic Systems
- Extracted details from Part drawings for simulation and modeling
- Validated and Tested Powertrain and Hydraulic controls and integrated with the system model.
- Test Data analysis from the field and Tuning of the filter to improve estimation
- Sensor fusion with multiple Inertial Measurement Units (IMU) and GPS (Global Positioning System)
- Verify and validate developed libraries via unit testing.
Environment: C, C++, Linux, Visual Studio, Matlab 2014, Git Extensions & Git Client, KDiff3, PyCharm, Jenkins, Jira, R2, Cat Utils, Tabs Studio, Notepad++, Vagrant, CC Tray, Android Studio, CANape, CANoe.
Confidential, Sunnyvale, CA
Software Engineer
Responsibilities:
- Design and implementation of SW solutions in Real time Embedded Image Processing System.
- Software development in C++ within Linux environment.
- Designed, interfaced and developed the hardware using microcontroller and developed software for microcontroller using assembly.
- WIFI /WinCE image/Uboot/Flash device driver development.
- Fluency in data processing and analytical tools such as MATLAB
- Working on embedded systems development using advanced automotive technologies such as ADAS, V2X.
- Finished and delivered the UART- WIFI bridge module.
- Created manufacture software toolset for WIFI and Bluetooth chips, provide technical supports for RF regulation and FCC certification.
Environment: Bluetooth, C, C++, Linux,.
Confidential - Crown Point, IN,
Embedded Systems Engineer
Responsibilities:
- Component design and simulation using MATLAB/ Simulink.
- Developed embedded Linux C++ USB driver software for Intel ARM XScale processor.
- Designed, coded, tested the integration of software for a real-time, multitasking DSP based receiver system.
- Designed and developed embedded real-time control system software using C++ coding in VxWorks (RTOS) environment.
- Strong ability to layout PCB and troubleshoot at the PCB component level.
- Developed a gain prediction database using Python, c-shell scripting, and MATLAB on a Linux platform
- Knowledge of QNX and SNMP protocol.
- Unit testing using Microsoft visual studio.
Environment: C, C++, ARM, Matlab/Simulink, QNX, Python scripting, VX Works
Confidential, Milwaukee, WI
Embedded Systems Engineer
Responsibilities:
- Developed an application for high power electromotor protection. It included Microchip PIC 17C756 micro-controller, SPI, I2C, RS-232 ESD protected interface and Microchip serial EEPROM for storing user specified constants.
- Embedded software performed real-time tracing of 6 analog input channels, time-dependent turn off control.
- Firmware code was implemented in Microchip assembler.
- The robotic arm stepper motors with the programmed ARM based microcontroller was employed to control the nozzle movement.
- Employed waveform generator, analog switches, and regulators.
- Deigned a System for Distinguishing Sound’s Frequencies and Removing Its Noises Using MATLAB
Environment: C, C++, ARM, Matlab/Simulink, QNX, Python scripting, VX Works
Confidential
Firmware Developer
Responsibilities:
- Developed embedded C/C++ code to interact controller according to requirements.
- Well versed in device communication protocols such as USB, Ethernet, WiFi and Bluetooth.
- Responsible for the implementation of IEEE 802.1 a/b Standard under Ethernet based network.
- Worked on BSP development.
- Responsible for the implementation of Audio/Video Subsystem with respect to HD set-top Box decoder.
- Functional testing in CANalyzer and CANoe simulation devices.
- Implemented Low-level kernel RTOS debugging with GDB.
- Control feedback algorithm design and testing using MATLAB
- Developed Network, Serial, and Parallel and Mouse drivers for Linux 2.4 kernel.
Environment: ARM, Wi-Fi 802.11, Bluetooth, CAN, CANOe, Linux kernel, IEEE, C, C++, BSP
Confidential
Embedded Developer
Responsibilities:
- Involved in module Unit Testing, Integration testing, debugging code and fixing bugs.
- Developed software interfaces and performing unit testing of real-time embedded or application software.
- Coded QT multi-threaded Linux objects used Clear Case and Clear Quest tools.
- Worked on Zigbee protocol.
- Hands on experience on MISRA-C/C++ guidelines.
Environment: GUI, ARM, QT, RTOS, Zig-bee, Clear Case, Clear Quest, Micro-Controller.