Rohit Thulasiram
980-***-**** ***************@*****.*** https://www.linkedin.com/in/rohit-thulasiram Education:
University of North Carolina at Charlotte May 2020 Master of Science in Electrical and Computer Engineering GPA: 3.5 Coursework: Embedded Systems, Embedded Operating Systems, Advanced Operating Systems, Computer Architecture, High Performance Computing, Data Communication and Networking Anna University May 2017
Bachelor of Engineering in Electronics and Communication Engineering GPA: 3.6 Professional Experience:
Orrba Systems Rock Hill, USA
Software Engineer Intern Aug 2017 – Present
Interfaced a G7020 GPS module with 8051 microcontroller to receive data from satellites and display latitude, longitude, altitude and speed on a LCD screen.
Developed a UART routine to transmit the real time data serially in NMEA format. Adhi Software Chennai, India
Embedded Systems Engineer Oct 2017 – Jun 2018
Architected the design flow for a smart valve system which controls an interconnected tree of valves installed at a remote location with an android app.
Designed the base layer IoT framework for the smart system in Embedded C including system and peripheral initializations.
Developed GSM and UART interface routine to operate AT commands on SIM800C GSM chip. Designed interrupt service routines and watchdog timer routine for ATMEGA32 microcontroller.
Analyzed and solved problems faced during the process of delivering the product to the clients. Skills:
Programming Languages: C, C++, Python, Embedded C, x86 Assembly Operating Systems & Tools: Embedded Linux, FreeRTOS, GNU GCC, GDB, Valgrind, Qemu, Make utility, Git Boards Worked on: TI MSP 430, TIVA C Series TM4C123G, Raspberry Pi, Arduino, ATMEGA32 Protocols: I2C, UART, CAN, SPI, HTTP, TCP/IP
Scripting and Database Languages: MySQL, SQLite, AWS Projects:
JOS Operating System Technologies and tools used: C, Python, gdb, Qemu
Developed an Exokernel based JOS Operating System for x86 architecture emulated by Qemu using GNU debugger.
Utilized concepts of memory management for the JOS kernel, physical memory allocator and setting up virtual memory
(granularity in pages, page table).
Implemented inter-process communication, process management and system call handling for the OS. Priority Based Pre-Threaded Image Processing Server Technologies used: C, AWS, OpenCV
Developed an echo image processing server, capable of interacting with client threads through a pool of worker threads scheduled in FIFO manner using the Producer-Consumer model.
Significantly reduced latency by using POSIX threads API in OpenCV to achieve preemptive multithreaded execution. Qemu Emulator for Embedded Linux on Bare Metal ARM Technologies used: C, Qemu
Used Qemu carrying standard NewLib C library to build a RealView platform ARM Cortex A8 Processor.
Implemented a character driver which reads and writes to the UART of Qemu emulated ARM hardware. Frequency based Cache Simulator Technologies used: C, Linux
Implemented L1 cache simulator with both Unified and Split cache models, variable cache size, block size, associativity.
Implemented LRU as the replacement policy.
Created memory trace using pin tools and analyzed the results of the cache simulator for these memory traces. Object Detection and Tracking Technologies used: Python, OpenCV
Designed a 3-D printed robot face and used Raspberry Pi cameras as the eyes to perform object tracking.
Successfully detected and tracked a single object with near real-time movements using cv2 module from OpenCV.