Research Assistant Resume
ArlingtoN
SUMMARY:
Masters of Science in Electrical Engineering, specialized in Embedded Systems and Firmware development, interested in working with real time systems and automotive embedded technology. Hands on experience working with 16 - bit and 32-bit microcontrollers and have extensively worked with C and Embedded C for embedded software and RTOS development. Good understanding and experience in C++, Java and object oriented concepts. Self starter and a team player, eager to work with new and challenging technology.
TECHNICAL SKILLS:
Programming & Scripting Languages: C, C++, Embedded C, Java, Matlab, Object oriented design, Assembly Language, Python, Linux shell scripting, Data Structures, POSIX threads, Multithreading
Hardware: X86 Architecture, 8085, 8051, Atmel AVR ATMega64, Tiva C series Microcontroller (ARM Cortex M4 core), Raspberry Pi model-3, ENC28J60 Microchip Ethernet Controller, LPC2148 (ARM7TDMI), PLC (IP3416), SDRAM Memory Interfacing, Memory management
Tools: /Software: Eclipse, Keil, Genymotion Emulator, Wireshark, Code Composer Studio, Git, Github
Operating Systems: Windows, Linux, Android OS, RTOS
Protocols/Algorithms: TCP/IP protocol stack, SPI, I2C, ADC, PWM, CAN, UART, RS232, RS485, FTP, SMTP, Network routing algorithms, Neural Networks & Machine Learning algorithms
PROFESSIONAL EXPERIENCE:
Research Assistant
Confidential, Arlington
Responsibilities:
- Developed a growing training in Matlab for the Multilayer Perceptron (MLP) Neural Network.
- The growing training works with smaller networks and gradually grows the network to its full length.
- This training helps the MLP have better network initialization thereby avoiding the possibility of the training to find local minima.
Confidential
Android Developer
Responsibilities:
- Developed an Android game called Confidential .
- The application had the ability to detect user tap gesture on the screen and take actions upon the gesture.
- Used Eclipse IDE for development and Android Emulator for Testing.
- Used USB debugging to import the game to a real device for testing.
- Designed a RS-485 communication node (both master and slave node) using TIVA C Series TM4C123G and MAX3079EEPD in C language. RS-485 had a four-wire link configuration.
- This project had a UART interface to send commands to the nodes on the network.
- The design also implements a packet retransmission algorithm in case of packet loss.
- Developed an RTOS in both Cooperative and Preemptive mode in C with assembly programming with a one touch dynamic key selection at boot up to select between the two modes.
- The RTOS handled 9 processes with each process having a stack size of 1024 Bytes.
- The design also handled the task context switching in both cooperative and preemptive modes.
- Implemented the core kernel functions such as yield(), wait(), post(), createProcess(), destroyProcess().
- Created process queues for semaphore waiting.
- The design included a UART based command line interface (HyperTerminal) like a shell console in Linux to control (Destroy Process, Get Process ID, Create Process) the processes and to display the real time statistics (%CPU, Process ID, Semaphore Usage) related to the processes.
- Some of the commands supported are as follows: ps: Process statistics such as process name, process ID (PID), % CPU, process status. ipcs: shows semaphore usage. kill: kill a process using its PID or process name. pidof: Gets the PID of a running process.
- &: Starts the process if not already running. reboot: Reboots the controller.
- The RTOS also supported semaphores, yielding and system timers.
- Developed a method to solve the indoor localization problem to a resolution of 1 meter.
- For the purpose of demonstration, the system on the receiver side receives the IR signals and decodes the location information and displays it on a graphics LCD along with the room map.
- Design challenges included designing of the communication protocol and the packet structure to be transmitted.
- The transmitter used the bi-phase digital modulation for modulating the sequence data of the IR transmitters.
- Developed both the transmitter and Receiver system using ARM TIVA C Series TM4C123G and C programming language.
- Developed an Ethernet application in C with the ARM TIVA C Series TM4C123G Controller.
- The Application could send and receive internet packets, decode the received packets and process the packet headers and extract the data from the packet.Designed a system capable of capturing analog signals and generating various waveforms.
- This project also had a command line interface capable of controlling the system and providing measurement data back to the user.
- Developed a complete packet-sniffing tool in Python to analyze network packets.
- Design also included a GUI for user control of the real time packet sniffing and network analysis report (Throughput, network diameter, Congestion Window) from the acquired data.
- Designed an SDRAM controller that allows SDRAM memory to be interfaced with a microprocessor (80386SX) having only asynchronous memory support.
- Added the functionality of having a programmable burst length.
- Implemented state diagrams for the complete design.
