Profiles from Search

Profile photo

Naishadh Kapade

3rd

Previous positions

  • Embedded Software Engineer at Witekio
  • Embedded Software Engineer at L&T Technology Services Limited

Education

University of North Carolina at Charlotte, Master’s Degree, Electrical and Computer Engineering

500+

Background

Summary

Embedded software professional with 4 years of work experience in embedded software development, debugging, scripting and testing. My key areas of interest are linux operating system, device drivers, bootloaders, microcontroller programming and computer architecture.

Experience

  • Software Engineer

    Qualcomm

    March 2018 – Present(1 year 7 months)San Diego, California

  • Embedded Software Engineer

    Witekio

    July 2017 – February 2018(7 months)Seattle, Washington

    Worked on U-boot, GUI development, BASH scripting and yocto build system.

  • Embedded Software Engineer

    L&T Technology Services Limited

    November 2011 – July 2015(3 years 8 months)Bangalore, India

    Clarion- CMS5 Marine Infotainment System Development. Role Played: 1. Requirement analysis, High Level System Design, Application Development, Driver Development and integration. 2. Development of an algorithm for AM/FM tuner in a Marine Infotainment System and implementation of it using APIs in C on Linux systems followed by debugging and testing of the same. 3. Developing Tuner module features such as scan, seek,favorite stations, FM-RDS, previous station saving on boot. 4.Communicating with the client and offshore team to develop features and debugging 5. Understanding the Si470x Tuner datasheet to develop a driver which sends the commands to the hardware. 6. Working experience on Multi-threaded Programming, Shared Memory, Semaphores and Message Queues. Motorola – Denali Security Device. Role Played: 1.Customization of Audio Drivers & development of tools to validate audio components in factory. 2.Integration of NXP speakers in machine layer and configuration using tinymix utility in Android. 3. Debugging and bug fixing related to Audio. 4. Testing commands support in audio. CISCO Smart IP Desk Phone Android Jellybean (4.1) Porting Role Played: 1. Running test cases related to Android Compatibility Test Suite (CTS) and debugging issues related to it. 2. Static Code Analysis using Klockwork. 3. Understood the issues and the solutions required to move from ICS 4.0 to JB 4.1. 4. Porting all the middleware components of Cisco propriety modules onto Android Jellybean. 5. Administered the CUCM (Cisco Unified Communications Manager) which handles all the configurations and calling service on Cisco Zydeco IP Phones. 6. Bug fixing.

Education

Languages

  • English

    Full professional proficiency

  • Hindi

    Native or bilingual proficiency

  • Marathi

    Native or bilingual proficiency

Projects

  • Clarion- CMS5 Marine Infotainment System Development.

    October 2013 – July 2014

    • Requirement analysis, High Level System Design, Application Development, Driver Development and integration. • Development of an algorithm for AM/FM tuner in a Marine Infotainment System and implementation of it using APIs in C on Linux systems followed by debugging and testing of the same. • Developing Tuner module features such as scan, seek,favorite stations, FM-RDS, previous station saving on boot. • Communicating with the client and offshore team to develop features and debugging • Understanding the Si470x Tuner datasheet to develop a driver which sends the commands to the hardware. • Working experience on Multi-threaded Programming, Shared Memory, Semaphores and Message Queues.

    Team Members (1):
    • Naishadh Kapade
  • Exokernel Operating System Implementation

    August 2016 – December 2016

    • Implementation of memory management infrastructure: Implemented a physical page allocator, configured page directory and page tables for kernel and user processes to provide an address space abstraction. • Interrupt and exception handling: Configured the Interrupt Descriptor Table (IDT), wrote handlers for interrupts and exceptions and implemented protected control transfer from user to kernel mode for execution of system calls. • Process Management: Implemented copy-on-write fork to spawn processes, configured pre-emptive round-robin scheduling using timer interrupts and wrote Kernel level APIs for inter-process communication (IPC). • Symmetric Multiprocessing: Initialized application processors from bootstrap processor using MP configuration table and APIC units. Implemented big kernel lock to provide concurrency control.

    Team Members (1):
    • Naishadh Kapade
  • Internet of Things based door-mount display

    March 2016 – May 2016

    Working on an internet of things based door mount display, which can be mounted outside office rooms. The message on this display can be updated remotely using a mobile application or a web server. We will be working on this project right from scratch, like choosing a processor, designing a circuit, working on software development, etc. The interesting part about this project is that this project will be treated like a commercial project where we have to follow a strict budget, look into the mechanical and other engineering aspects of this project, and also other aspects like marketing the product, and creating consumer support. The LCD display is connected to an MSP430 controller and an ESP8266 WiFi module. The web server built using DDNS, Python, and HTML transmits the message to be displayed to the WiFi module. MSP receives the message from the WiFi module using AT commands, and updates the display.

    Team Members (4):
    • Naishadh Kapade,
    • Sammeet Koli,
    • Karuna Ramkumar,
    • Aparna T.
  • Real Time Priority based Pre-threaded Web Server.

    November 2015 – December 2015

    Developed a web server for that serves static and dynamic contents using a pool of worker threads. • The main thread, running with a higher priority, opens a socket and accepts connection requests from clients and places the connection descriptors in a bounded buffer. • Each worker thread repeatedly fetches a descriptor from the buffer, services the corresponding client, and then waits for the next descriptor. • Earliest Deadline First (EDF) scheduling was implemented for the worker threads. • The project was implemented in C using Pthreads library and the producer-consumer model.

    Team Members (1):
    • Naishadh Kapade
  • Motorola Denali Security Device Audio

    September 2014 – May 2015

    • Customization of Audio Drivers & development of tools to validate audio components in factory. • Integration of NXP audio driver in machine layer and configuration using tinymix utility in Android. • Audio Routing changes in Android layer. • Debugging and bug fixing related to Audio.

    Team Members (2):
    • Naishadh Kapade,
    • Harish Kumar S
  • Cache Optimization and Analysis using GEM5 and Perf

    April 2016 – May 2016

    Simulated a 32-bit ARM processor on GEM5, and studied the behavior of cache by varying cache and data block sizes. Simulated an X86 processor on GEM5 and analyzed the impact of varying associativity and cache block sizes on miss rates. Improved cache performance by improving hit rate, for L1, L2, and L3 caches by varying block sizes to multiples of cache size.

    Team Members (1):
    • Naishadh Kapade
  • Algorithm & Data Structures Projects

    February 2016 – May 2016

    • Implemented an efficient algorithm in Java to compute the shortest path in a network using Dijkstra’s algorithm using Graph traversals and Min-Heap priority queue to provide the best possible running time. • Implemented the LZW compression and decompression algorithm in Python.

    Team Members (1):
    • Naishadh Kapade
  • Digital Pet on Renesas Microcontroller

    March 2016

    • The game was made on the lines on Tamaguchi, digital pet. • The pet had status like health and happiness level which changed when user interacted with it. • The user had options like taking it for walk, feeding it, playing catch. • Timer and ADC modules were used.

    Team Members (1):
    • Naishadh Kapade
  • Digital Surface Level using TI-msp430 microcontroller

    March 2016

    • Built a digital level using TIMSP430G2553 and ADXL337 as accelerometer. • Eagle CAD was used to design the circuit.

    Team Members (1):
    • Naishadh Kapade
  • Performace Analysis & Enhancement on B+ Trees.

    July 2016

    • Implemented a B+tree (with all operations such as insert, delete, search & bulkload) data structure in C. • Implemented a Full- Alloc Cache Sensitive B+tree. (proposed by Dr. Jun Rao) • Monitored performance and analyzed results from both the implementations.(Tools: Intel: Performance Counter Monitor, perf, gem5, valgrind). • Developing a concurrent cache sensitive B+tree to introduce parallelism and enhance performance further.

    Team Members (3):
    • Naishadh Kapade,
    • Harshvardhan Ruchandani,
    • Vandana Damale

Skills & Expertise

  • Wireless Sensor Networks
  • Device Drivers
  • RTOS
  • Qt
  • Matlab
  • Data Structures
  • Embedded Operating Systems
  • Embedded C
  • Embedded Software
  • Embedded Linux
  • Board Bring-up
  • Digital Signal Processing
  • Linux
  • Embedded Systems
  • Microcontrollers
  • C
  • C++
  • Linux Kernel
  • Operating Systems
  • Java
  • Linux System Administration
  • SQL
  • yocto

Courses

L&T Technology Services Limited

  • C++ Programming
  • Linux Programming

University of North Carolina at Charlotte

  • Embedded Systems
  • Embedded Operating Systems
  • Digital Signal Processing
  • Algorithms & Data Structures
  • Computer Architecture
  • Advanced Operating Systems
  • Database Systems
  • Wireless Sensor Networks

  • Control Systems
  • Computer Organization
  • Microprocessors