1. Santhosh Ravisankar
2327 Champion Court, Raleigh, NC,27606
sravisa@ncsu.edu | https://www.linkedin.com/in/santhoshr14/ | 919-638-2516
Education
• Master of Science in Computer Engineering CGPA: 3.73/4
North Carolina State University, Raleigh, North Carolina, USA Aug 2018 - May 2020
Courses: Embedded System Architectures & Optimization, Microprocessor Architecture,
Embedded Linux, Digital Signal Processing, Compilers, ASIC and FPGA Design.
• Bachelor of Technology in Electrical and Electronics Engineering CGPA:9.04/10
VIT University, Chennai, India May 2012 - April 2016
Technical Skills
• Programming Languages: C, C++, MATLAB/Simulink, Verilog, Assembly(ARM,8051)
• RTOS: Keil RTXV5 (CMSIS-RTOS Keil RTX)
• Platforms: Linux, Embedded Linux, Windows
• Tools: Vector CANape, Vector CANalyzer, Trace32, Keil uVision, Arduino IDE,Ulink2 JTAG
• Version Control Tools: GIT, ClearCase
• Protocols and Technologies: SPI, I2C, UART, CAN, J1939,Ethernet, MODBUS, TCP/IP, RS232, RS485
Work Experience
Embedded Software Engineering Intern, Hubbell-ICD, Archdale, North Carolina May 2019 – August 2019
• Developed and debugged real-time embedded software for a Magnet/Hoist Controller as part of a three-person team.
• Individual responsibilities included development of an event driven program for Cortex-M3 based controller running RTX kernel
to implement a GUI for the HMI, MODBUS communication, Memory Configuration and Data Logging. Performed common
resource sharing between different peripherals. SW development in Embedded C with Keil IDE and debugged with ULink2 JTAG .
• Brought software 10 weeks closer to completion and brought about 15% cost savings per order.
Embedded Software Engineer, Caterpillar India Pvt Ltd, Chennai, India July 2016 - July 2018
• Developed real-time embedded software (Data link and I/O) for Engine Control Units of Diesel Engines as part of a five member
team. SW development with MATLAB/Simulink (including Stateflow) and C to implement control strategies for Emission Control,
Performance Improvement of Diesel Engines, Sensor Calibrations and Vehicle Bus Communication (CAN,J1939,Ethernet).
Projects
• RTL Implementation of LSTM (Long Short-Term Memory) with Verilog: Implemented gating function of LSTM in Verilog.
• Cache Simulator: A C++ based flexible cache and memory hierarchy (L1, L2, Victim) simulator. Benchmarked performance,
area, and energy of different memory hierarchy configurations with a subset of the SPEC-2000 benchmark suite.
• Embedded Systems Architecture and Design Projects: Peripherals used: ADC, SPI, I2C, UART, Timer, DMA, Touchscreen
Voltage Data Logger: Created a voltage data logger on an ARM Cortex M0+ based FREEDM-KL25Z board. Designed system
to input data via UART and select channel, sampling interval and sample count. Shifted work to hardware.
uSD Card Reader: Implented FSM based scheduling and RTOS (RTXv5) based versions independently to read and write
data blocks (via SPI) in the SD card and meet a deadline of 50us. Observed an improved system response of around 40%.
Peripheral sharing using RTOS: Developed a program to share a common resource (ADC) between multiple threads (buck
converter which controlled a high-brightness LED (HBLED)) and a LCD touchscreen. Implemented with RTOS Keil RTX V5.
JPEG Decoder: Enhanced byte data decoding speed through parallelization in a JPEG decoder application which decodes and
displays an image on a LCD touchscreen. Implemented on a Cortex-M0+ board. Reduced system latency by a factor of 60%.
Power Optimization of FREEDM-KL25Z board : Performed power optimization through various power management modes
available on the ARM-Cortex M0+ based board running RTX5 kernel. Optimized power from 4.35mW to 0.240 mW
• Embedded Linux Projects:
Vectorization of ARM Cortex A8 based application: Performed speed optimization with Vectorization (with ARM Neon ISA
instructions- by using full 32 bit width registers) to reduce execution time of an application to find the closest weather station to
each state capital from a given list on an ARM Cortex A8 based Beagle Boneblack Wireless board running Debian Linux.
Response time reduced from 74us to 11us.
Image Stabilization Gimble: Developed a program to capture an image and process it to perform object tracking to
determine two reference objects in it and calculate the Roll, Tilt and Pan error using boneCV (OpenCV) on Beagle Boneblack
Wireless running Debian Linux.