We provide IT Staff Augmentation Services!

Embedded Engineer Resume

Minneapolis, MN

SUMMARY:

  • Embedded Engineer with around 5 years of experience in requirement analysis, designing, developing, porting and validation Embedded Software for microcontrollers and processors
  • Worked with all phases of the Software Development Life Cycle (SDLC) with focus on Agile and Waterfall Methodologies.
  • High performance coding in ARM assembly, C, C++, Embedded C.
  • 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.
  • Knowledge on Linux Device Driver programming.
  • Knowledge in usage of oscilloscope, Function Generator, Logical Analyzer & CRO.
  • Experience in Embedded Linux kernel programming, kernel migration, developing kernel loadable modules.
  • 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.
  • Extensively used designing tools like Star UML, Rational Rose for Object Oriented Design.
  • Knowledge in usage of oscilloscope, Function Generator, Logical Analyzer & CRO
  • 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.
  • Application Development using Linux System call, POSIX based multithreading, Real time extensions, Linux IPC, Linux Scheduling and Linux Memory management.
  • Excellent work ethics, self-motivated and quick learner. Willing to learn, adapt new technologies and third-party products.

TECHNICAL SKILLS:

Programming Languages: C, C+, C#, Python scripting, Linux Shell Scripting, Verilog, SQL

Platforms: Linux, Solaris, VxWorks, Embedded OS

Testing Tools: CANalyzer, Oscilloscope, Vector CANOe

Communication Protocols: CAN, LIN, MOST

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

Operating Systems: Windows 7/8/10, Windows XP, Linux

Standards: MS Word, MS Excel, MS PowerPoint, MS Project, MS Visio

PROFESSIONAL EXPERIENCE:

Confidential, Minneapolis, MN

Embedded Engineer

Responsibilities:

  • Developing and maintaining firmware in C/C++ for Internet of Things(IoT) devices
  • Developed an embedded software application based on ZigBee communication.
  • Worked with application protocol such as ZIGBEE, BLE, WLAN, Bluetooth. Used network protocol in TCP/IP, UDP.
  • As per client requirement compiled the hub-Core for Raspberry PI3 platform which supports hub-Core software on Raspberry pi2 & pi3 devices.
  • Developed smart applications by using SmartThings Integrated Development environment.
  • Implemented new device type handlers for door sensor bulbs, smoke alarm using ZigBee and Zwave
  • Placed code base under continuous integration (CI); installed Jenkins server and developed scripts to perform software build, automated testing, and static analysis.
  • Using Git as code repository and JIRA Tracker as Defect management system.

Environment: C, C++, Linux, ZigBee, Zwave, Jenkins, IOT

Confidential, Sunnyvale, CA

Embedded Systems Engineer

Responsibilities:

  • Participated in porting C/C++ embedded systems on Linux development to a new microprocessor development board such as using bash and Python scripts to configure and initialize application
  • Programmed Embedded Linux OS for the hardware.
  • Optimized a stack size for microcontrollers without memory management unit.
  • Researched about unit test frameworks, such as Google Test Framework, and CxxTest, and created a baseline for a unit test framework.
  • Experience with Code Collaborator, DevTrack, and Perforce to perform code review and revision control.
  • Developed a gain prediction database using Python, c-shell scripting, and MATLAB on a Linux platform
  • Responsible for basic board bring up right from uboot, cramfs and kernel, for both the MTD and NFS configuration, with the understanding of given memory map.
  • Created manufacture software toolset for WIFI and Bluetooth chips, provide technical supports for RF regulation and FCC certification

Environment: C, C++, Matlab/Simulink, Python scripting, Linux.

Confidential, Milwaukee, WI

Software 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

Embedded Developer

Responsibilities:

  • Using 'C' code programming we implemented a real time operating system on the microcontroller by Freescale.
  • For firmware we used the RTOS functions to control a real time clock by I2C.
  • Implemented USB/Serial communication protocol
  • Developed USB Host client driver to flash binary image in the embedded board.
  • Developed smart tool to analyze Linux kernel crash
  • Involved in development of front panel Controller Device Driver in Linux kernel
  • Porting the driver for the new platforms to support Multimedia card MMC/SD cards
  • Implementation of Interrupt Handling, Transmit and Receive Interfaces
  • Testing of the driver using the Wireless tools/utilities
  • Initialization of General Purpose Host Port (GPHP) Driver and implementation of I/O interfaces
  • Developed Linux Device Driver for serial port, Ethernet port and kernel modules programming for 802.1q Vlan implementation.
  • Implemented Wi-Fi, Bluetooth Low Energy (BLE), 802.15.4 mesh networks in hand held instruments

Environment: Atmel AT89C51SND2C, C/C++, CAN, Embedded Linux (kernel V 3.13).

Confidential

Embedded Engineer

Responsibilities:

  • Developed embedded C/C++ code to interact controller according to requirements.
  • Well versed in device communication protocols such as USB, Ethernet, Wi-Fi 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

Software Engineer-Intern

Responsibilities:

  • Systems design, development and project management of an entirely new product line of general purpose Data Collection Terminals for time & attendance and other applications.
  • Hardware design utilizes a free scale MPC885 Power QUICC microcontroller with PowerPC core plus Flash, SDRAM and EEPROM memory systems.
  • Input devices include keypad, touch screen, badge and biometric readers with output to character or color graphics LCD options.
  • Ported, extended and adapted open source U-Boot boot loader, Linux kernel with Busy Box commands and utilities for system 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: C, C++, Matlab/Simulink, Zig-bee, Clear Case, Clear Quest, Micro-Controller.

Hire Now