Embedded Software Developer Intern
Texas Instruments
Jun 2014 - Aug 2014
I improved the work flow of automatically generating header files for a new ARM CortexM chip. I put up an Open Source development environment based on GNU ARM for Linux and Windows. Also developed a flash driver for OpenOCD in order to flash code on a CortexM chip. Wrote multiple test cases and did code profiling on accessing chip registers in 2 ways. I also developed a configuration tool in Qt that enables the user to set-up the security features of a specific target. All my work has been done in C, ARM Assembly and C++. The scripting part has been done in TCL.
Student Researcher at CNDS Jacobs University
Computer Networks Research
Sept 2013 - Present
Developing a software implementation for the Large MeAsurement Platform Protocol. The controller and measurement agent implementations are done in Python.
Club’s Vice-President at Jacobs University
Computer Science Club
Aug 2013 - Present
Presenting new students the concept of Internet of Things and engaging them into the Open Source community.
Google Summer of Code Student - BeagleBoard.org
May 2013 - Sept 2013
I developed an Android app that communicates with a BeagleBoneBlack, allowing it to boot over USB. Upon boot, the Android device pushes a micro-kernel, which emulates a serial device. This is used to download the filesystem and full kernel image. Next, I ported this from Android to Linux. Development was done in Java (Android SDK), along with some C (patches to Android kernel, libusb, Linux-port).
Embedded Developer at Electro Univers
Part-Time Job
Sept 2008 - Jun 2012
I developed a diagnosis and recovery system for IP surveillance cameras in a closed network. I implemented a polling HTTP server and a Windows application which monitors the overall status of the cameras, providing alerts and recovery options. The server was implemented in C, while the Windows application was done in C#.
Developer for FFmpeg / Libav
Google Code-IN 2010
Nov 2009 - Jan 2010
I worked on improving test coverage across FFmpeg/Libav codecs. My tests improved coverage from 20% to 60%. I also worked closely with codec maintainers to remove bugs related to playing corrupted files. All work was done in C.