Ranjith Ravindra Shanbhag
**** ******* **, *** ****,Dearborn, MI – 48126, USA
Email: ******.********@*****.*** Phone: 970-***-**** LinkedIn: https://www.linkedin.com/in/ranjith-shanbhag-bb115b93 TECHNICAL EXPERTISE
Programming Languages: Assembly Level, C, C++, Python, MATLAB, CUDA, System Verilog, System C, Embedded C, Bare – Metal Tools: Cadence Virtuoso (Schematic & Layout), Cadence Encounter, WinQCAD (PCB Design), Intel’s PIN, ORCAD 9.2, GNU Automake, Unit Testing, PSOC IDE, Theano, Gem5, Noxim, Xilinx, Mercurial, Keil, OpenCV, Arduino, ARM Protocols/ Other Skills: CAN, I2C, SPI, UART, TCP/IP, USB, Zigbee, Bluetooth, Data Structures, Linux Kernel, Sensors, SimSo, Visual Studio, FPGA, Socket Programming, Multi-threading, Thread Pooling, Mutexes and Semaphores, Linux Device Drivers. OS: Linux, FreeRTOS, Windows
EDUCATION
Colorado State University, Masters in Electrical and Electronics Engineering, GPA: 3.4/4.0 (2015 – 2017) Courses: Hardware and Software Description of Embedded Systems Digital Signal Processing VLSI Design Machine Learning MEMS Computer Organization and Fundamentals of High Performance Computing Advanced Computer Architecture Introduction to Algorithms RNS Institute of Technology(VTU Belgaum), Bachelors in Electrical and Communication Engineering, GPA: 3.2/4.0 (2010 – 2014) Courses: Microcontrollers Microprocessors Analog Electronic Circuits CMOS VLSI Electronic Instrumentation Logic Design Linear Integrated Circuits Fundamentals of C & C++ Online Certification Courses
SOC Verification using System Verilog – UDEMY Mastering RTOS: Hands on with FreeRTOS, Arduino and STM32Fx – UDEMY Development of Real Time Syestems – Coursera Linux Operating System & Linux Kernel Internals Linux Device Drivers Programming – UDEMY (ongoing) WORK EXPERIENCE
Project Assistant Indian Institute of Science, Bangalore, India (August 2014 – July 2015)
• Work: Design, Development and Testing of Multiple Data Acquisition System from Multiple Sensors through single UART Port. o Impact: Data from 10 Accelerometers were obtained from single USB port at baud rate of 19200. o Benefit: No need of using 10 USB ports to get data from 10 Accelerometers. Since its wire transmission, data loss is minimal. o Tools: OrCAD 9.2 and WinQCAD, USB, SPI and Bluetooth, Sensors
• Work: Gimbal Lock Avoidance using Quaternions applied in Gesture Controlled QuadCopter. o Impact: 90deg movements were easily made.
o Benefit: Just an accelerometer on the palm was good enough to work as controls. o Tools: Arduino, USB, Bluetooth
Engineering Intern British Physical Laboratory (BPL) India, Bangalore, India (September 2013 – April 2014)
• Work: Design of Home Automation System:
o Impact: Use of ACS712, PSoC with CapSense and Zigbee achieved a very low power circuit and energy efficient circuit. o Benefit: Saves Electricity. Economical for manufacturing. Also make it cheap for middle class consumers. o Tools: Orcad 9.2 and PSoC IDE
PROJECTS
• Scalable Server using Thread Pooling for Multiple Client Requests Management: (May 2017 – June 2017) o Single server took requests to ping sites from multiple clients. A Handler was returned to client to receive status of the requests. o The Server put sites into the queue and worker threads pinged each site 10 times and returned average time taken. o Tools: C, TCP/IP, socket, Multithreading, Queues, Mutexes, Linux. o Link: https://github.com/RRShanbhag/Scalable-Server-for-Multiple-Client-Management
• Implementing Queue structure to communicate between Tasks in RTOS: (April 2017 – May 2017) o Tasks were created and the data was obtained from the Queue. Data were read and written into it using Read/Write Data. o Tools: Visual Studio, C, FreeRTOS, Windows Link: https://github.com/RRShanbhag/FreeRTOS_Queue_Implemnetation
• Building Roman Numeral Calculator using GNU AutoMake and Check Package for Unit Testing: (January 2017 – January 2017) o A simple Roman Numeral calculator was taken as an example for learning and implementing Unit Testing in C with GNU Automake and AutoConf tools. Link: https://github.com/RRShanbhag/Roman_Book_Keeper
• Handwritten word recognition using Deep learning technique: (September 2016 – December 2016) o A deep Convolutional Nueral Network technique where the images of handwritten words were segmented to guess the characters which later is put together to output the expected word. o Tools: Python, Theano, OpenCV, Linux, Scikitlearn, NLP. Link: https://github.com/RRShanbhag/Handwriting-Recognition
• Implementation of Image Processing Algorithm in CUDA: (August 2016 – December 2016) o The coding was implemented in C++ with CUDA extensions. The runtime on the device was found much lesser when the image size was large compared to the host. Platform: Linux
• Design and Implementation of Hybrid Branch prediction using Intel’s PIN Tool: (July 2016 – August 2016) o A tournament Predictor was used to make the best decisions and obtained 95% accuracy. o Tools: C++, PIN Tool, Perceptron Algorithm, Linux
• 8-Bit Shift Register: (February 2016 – March 2016) o The 8-bit Shift Register had a clock rate of 1MHz and load capacitance of 1pF. The Shift Register performed SISO, SIPO, PISO. o Tools: Cadence Virtuoso and Cadence Encounter
• High Performance Computation for CFD calculation using Lattice Boltzmann Method: (January 2016 – May 2016) o A Box Framework in C++ to develop analyze collision and streaming of fluid particles was developed. o Tools: C++, Linux, Mercurial.