“What I Cannot Create, I Do Not Understand.”

                  - Richard Feynman

About Me

Hello there! Thank you so much for taking the time to visit my website, it means a lot to me! I’m a software engineer who has been fortunate enough to work for some well-known companies in the tech industry, like Apple and Tesla. I’ve also had the opportunity to work on embedded systems in India, which was a great learning experience for me. My focus is primarily on systems programming and embedded systems, and I’ve been lucky enough to work on some interesting projects in those areas. I’m constantly learning and trying to improve my skills, and I love the challenge that comes with software development. If you’re interested in checking out some of my work, you can take a look at my portfolio. If you have any questions or just want to chat, feel free to send me an email.

How to pronounce my name?


Curriculum Vitae (last updated: September 2023)


Experience (USA)


apple-Logo

Apple
San Diego, CA

Aug. 23 - Present
Software Engineer
  • Contributing to iPhone system software development, with a focus on performance enhancements and resource optimization.
  • Collaborating with diverse teams to implement essential features and improve system functionality.
  • Conducting comprehensive analysis and debugging to address system-level challenges and enhance overall stability.
  • Staying informed about evolving development tools and technologies to support ongoing system software improvements for iPhones.

tesla-Logo

Tesla
Palo Alto, CA

Jun. 22 - Mar. 23
Autopilot Firmware Intern
  • Developed real-time embedded C code for ECUs across Model 3, Y, and Cybertruck platforms.
  • Collaborated with DSP team to rectify firmware bugs in Autopilot sensor's DSP applications.
  • Optimized python Hardware-in-Loop (HIL) testing scripts, boosting Autopilot sensor reliability with added features and protobuf-based communication.
  • Enhanced UDS routines and CAN message protocols, optimizing inter-ECU communication.
  • Debugged embedded software meticulously via RTOS traces, JTAG debugger, and CAN signals.


Experience (India)


IITB-Logo

IIT Bombay
Mumbai, India

Jan. 19 - Aug. 21
Senior Project Technical Assistant, ERTS Lab, CSE Department
  • Oversaw software and firmware aspects of a pivotal development board crucial for CS684 at IIT Bombay and eY Robotics Competition, engaged by 364 participants.
  • Designed an ESP32 OTA application, facilitating Wireless AP setup, file serving, and OTA firmware updates for the embedded ATmega2560 and ESP32 microcontrollers on this developmental board.
  • Adapted ESP32's bootloader and partition table to ensure effortless OTA/user application transition, dynamically governed by real-time GPIO pin status on this development board.

NIO-Logo

CSIR - National Institute of Oceanography
Panaji, India

Jun. 18 - Jan. 19
Project Assistant II
  • Played an integral role in the development of firmware for data acquisition systems.
  • Specifically focused on the TS-7260 platform, utilizing its powerful ARM9 architecture.
  • Authored Python scripts to streamline the data cleaning process, ensuring the integrity and quality of acquired data.

Numadic-Logo

Numadic IoT
Mumbai, India

Jul. 17 - May 18
Junior Firmware Developer
Feb. 17 - Jun. 17
Firmware Intern
  • Extended Nubot v2 GPS tracker memory lifespan by 29% with a custom O(logN) data library for W25N01GV 1Gb NAND Flash Memory.
  • Developed efficient OTA firmware updates using C-based server and ESP32 client, optimizing communication via sockets.
  • Created Android app for wireless BLE debugging via GATT Client, streamlining troubleshooting processes.
  • Engineered Nubit firmware to enable real-time temperature plotting through an HTTP server and easy Wi-Fi data downloads.

IITK-Logo

IIT Kanpur
Kanpur, India

May 16 - Jul. 16
Undergraduate Researcher, Summer Undergraduate Research and Excellence Program
  • Developed HLMSoft utilizing C++ and the Qt Framework.
  • Integrated additive and subtractive manufacturing commands into a cohesive G-Code file.
  • Enabled CNC machine control over milling and welding units.
  • Enhanced hybrid layered manufacturing by linking different processes through software innovation.


Education


UW-Logo

University of Washington
Seattle

Sep. 21 - Jun. 23

MS EE
Department of Electrical and Computer Engineering

GPA: 4.0/4.0

DegreeTranscript

BIT-Logo

Birla Institute of Technology
Mesra

Aug. 13 - Jun. 17

BE ECE
Department of Electronics and Communication

CGPA: 8.07/10.00
(First Class with Distinction)
DegreeTranscript


Projects

Firmware Projects

UW-Logo

eYFi-Mega Development Board
Patent Pending
(IN 202121023159)
IIT Bombay
Product Page
C, HTTP Server, Bootloader, OTA Update, ESP32, AVR
  • Led the software and firmware side of the development board, which is currently being used in the CS684 course at IIT Bombay and was used in eY Robotics Competition by 364 participants.
  • Developed an OTA application for ESP32 to start a Wireless Access Point, host a file server and allow OTA firmware update of the onboard microcontrollers, i.e. ATmega2560 and ESP32.
  • Modified the bootloader and partition table of ESP32 to enable switching between OTA application and user application in the flash, based on the status of a GPIO pin.
UW-Logo

Nubot GPS Tracker
Numadic
C, Flash Memory, OTA Update, ESP32
  • Extended life of W25N01GV 1Gb NAND Flash Memory used in Nubot by 29% by developing a custom logical data structure to push data in O(logN) and retrieve data from it in O(logN) (N = Total number of pages in the flash).
  • Wrote an OTA server to serve firmware and a client for ESP32 to fetch firmware using just sockets in C.
  • Developed a GATT Client Android App to debug Nubot v2 wirelessly over BLE.
UW-Logo
Nubit Temperature Logger
Numadic
C, Javascript, HTTP Server, AJAX, ESP32, FreeRTOS, WLAN
  • Wrote firmware for this device which enabled it to host an HTTP server and serve a dynamic HTML page to plot temperature logged in real-time and provide an interface for the user to download logged data over Wi-Fi.

Software Projects (Data Structures and Algorithms Focused)

UW-Logo
HuskyMaps
University of Washington
Course Project
Java, Data Structures and Algorithms
  • Implemented several algorithms in Java to add functionalities to HuskyMaps like autocomplete using Ternary Search Trees, changing the priority of an item using Optimized Min Heap and seam-carving of an image using Adjacency Lists, Topo Sort, Dijkstra’s and Dynamic Programming.
UW-Logo
Snakes Game
Personal Project
Play!
Javascript, OOP, Arrays, Game-Loop
  • Built this classic game to learn OOP and Arrays data-structure.
  • Learned about Game-Loops also.

Software Projects

UW-Logo
5G Home Internet QoS Prediction App
T-Mobile
Ongoing Project
XCAL/XCAP, Java, Python, Kotlin, scikit-learn, Spring, Android Studio
  • Collecting outdoor/indoor low and mid-band, 4G and 5G data using XCAL/XCAP.
  • Training an ML model to predict the quality of service for 5G mid-band from low or 4G mid-band signals.
  • Developing an Android app and the backend of the app for potential customers to predict the expected internet speed of T-Mobile 5G Home Internet at their home before they subscribe for the service.
UW-Logo
eY IoT Framework
IIT Bombay
Documentation
Python, Pytorch, OpenCV, Deep Learning, Computer Vision
  • Developed an embedded software framework for ESP32 with two interns to write event-driven code for IoT applications.
UW-Logo
eY IoT Circuit Simulator
IIT Bombay
Video
C++, Qt 5, Python, MQTT
  • Forked and modified SimulIDE to add eYFi-Mega in it for circuit simulation.
  • Integrated it with a self-developed python middleware to allow MQTT Pub-Sub through the simulator.
UW-Logo
Arduino
(For eYFi-Mega)

IIT Bombay
Video
Golang, curl
  • Wrote a Golang CLI program to allow wireless uploading of Arduino sketches on both the controllers of eYFi-Mega (ESP32 and ATMega2560) via Arduino IDE.
UW-Logo
HLMSoft
IIT Kanpur
Report
C++, Qt
  • Developed HLMSoft in C++ using Qt Framework to link additive and subtractive manufacturing commands into a single G-Code file enabling the controller of the CNC machine to control milling and welding unit for hybrid layered manufacturing.

Robotics Project

UW-Logo

Vargi-Bots
IIT Bombay
Accepted in IEEE EDUCON 2022
Github
Video
Python, ROS, Gazebo, OpenCV, MQTT, HTTP
  • Partnered with two team members to build a fully automated
    shipping warehouse with two UR5 Robotic Arms in Gazebo Simulator.
  • It can receive online orders via MQTT, log the data in a Google Sheet,
    send email notifications, and display relevant information on a hosted dashboard in real-time.
  • It was used to teach 1880 students ROS, Python, OpenCV,
    Robotic Manipulation and IoT.
UW-Logo
International Micromouse Challenge
Techfest 19-2020 & 20-2021, IIT Bombay
Certificate
Rulebook
Python, ROS, Gazebo, URDF
  • Judged the competition and provided technical assistance to the organizers of the competition.
  • Developed an URDF micromouse model equipped with LIDAR and generated a URDF maze for the competition.
  • Wrote a sample python script to run the micromouse in the maze.
UW-Logo
Rapid Rescuer
IIT Bombay
IEEE Paper
Video
C, Sockets, Sensors
  • Partnered with three team members in building MicroMouse like theme for the e-Yantra Robotics Competition 2019-20 to teach on OpenCV, Socket Programming, Embedded Systems and Hardware Designing to around 4000 students through Task Based Training.

Deep Learning Project

UW-Logo
GymBo
University of Washington
Course Project
Video
Python, Pytorch, OpenCV, Deep Learning, Computer Vision
  • Developed a deep learning-based workout assistant application to identify mistakes during an exercise and count the number of incorrect repetitions in a set of exercises. A ResNet3D-18 backbone was used to classify the exercises, and a pre-trained OpenPose MobileNetv1 was used to generate the kinematic model of the user doing the exercise.


Patent and Publications

An Apparatus having at least Dual-Microcontrollers on a Printed Circuit Board (eYFi-Mega Development Board) IIT Bombay
Dr. Kavi Arya, Prasad Trimukhe, Sourav Jena, Kalind Karia
Link: Product Page
Status: Patent Pending (Application No: IN 202121023159)
Integrating Industry 4.0 in engineering education during a global pandemic: Approach and Learning Efficacy IIT Bombay
Sourav Jena, Gayatri Ranade, Ruchi Sharma, Dr. Kavi Arya
Status: Accepted in IEEE EDUCON 2022 Conference, Tunis, Tunisia
PBL Approach in Online Robotics Competition in Resource-Poor Environments: Maze Solver Robot IIT Bombay
Suprabha Jadhav, Kalind Karia, Prasad Trimukhe, Sourav Jena, Dr. Kavi Arya
Status: Published in IEEE EDUCON 2021 Conference, Vienna, Austria
Link: Paper
Desk-Farmer: Cultivation on the Office-Desk IIT Bombay
Rishikesh Madan, Sourav Jena, Rathin Biswas, Dr. Kavi Arya
Status: Published in Lecture Notes in Civil Engineering, Springer Singapore
Link: Paper
Retrofitment of CNC machines for Hybrid Layered Manufacturing IIT Kanpur
Sourav Jena, Ravi Raj, Prof. J. Ramkumar
Status: Published in SURGE 2016
Link: Report


Honors and Awards

🏆 Summer Undergraduate Research Grant for Excellence 2016, IIT Kanpur
Awarded to 0.0575% of 1600 applicants. Certificate
🏆 Renesas GR-Kaede Design Contest 2015, Bengaluru
Finalist (Top 20) among 2000 abstracts. Certificate


Teaching

2019-2021, Embedded Systems Instructor, IIT Bombay
2015-17, Instructor, Roboitcs Club, BIT Mesra
2013-16, Community Tutor, Women's Organisation for Socio-Cultural Awareness
2016-17, Vice Captain, ECE Soccer Team, BIT Mesra



Position of Responsibility

2020-21, Judge, International Micromouse Challenge, Techfest 2020, IIT Bombay
2016-17, Traning and Placment Officer, BIT Mesra
2015-17, President, Robotics Club, BIT Mesra
2016-17, Vice Captain, ECE Soccer Team, BIT Mesra