Gogul Ilango

Senior Hardware Engineer at Qualcomm

  • summary
  • publications
  • hobby projects

"There are no constraints on the human mind, no walls around the human spirit, no barriers to our progress except those we ourselves erect"
Ronald Reagan


I'm Gogul Ilango from Tamil Nadu, India. I work as a Senior Hardware Engineer (SOC Physical Design) at Qualcomm who helps a team of intelligent minds in designing cutting-edge chipsets that millions of people around the world use in their everyday life. I love electronics and communication engineering which is making a positive impact in this planet in many ways.

My technical interests include System on Chip (SOC) design, applying machine learning & deep learning in hardware design, web development, automation and computer vision. At work, as I have deep passion towards web development, I use front-end + back-end coding knowledge to solve day-to-day problems in chip design using data analysis and visualization techniques.


  • 2019-now: Senior Hardware Engineer at Qualcomm with focus on SOC Physical Design and Full-stack Web Development.
  • 2017-2019: Hardware Engineer at Qualcomm with focus on SOC Physical Design and Full-stack Web Development.
  • 2016-2017: Graduate Technical Intern at Nokia with focus on Automation, Full-stack Web Development & Machine Learning.
  • 2015-2017: Master of Engineering in VLSI Design & Embedded Systems (CGPA 9.96/10 + Gold Medal) at Anna University, MIT Campus, Chennai - Adviser Dr.Sathiesh Kumar.
  • 2014-2015: Assistant Systems Engineer at TATA Consultancy Services with focus on Front-end Web Development and Android Development.
  • 2010-2014: Bachelor of Engineering in Electronics & Communication (CGPA 9.05/10) at Thiagarajar College of Engineering, Madurai.

In this website, you will find collection of my thoughts, notes, tutorials and resources based on my experience in technology. I still learn by myself about the technical topics that I write here so that I get a clear understanding of it. I do this mainly during my free time because

  • It helps me learn these topics better by making me read, write and evaluate myself first before sharing it here.
  • It provides me a chance to organize my technical interests so that I can refer to it later.
  • It gives me a chance to share my knowledge with the world where it might help someone somewhere.

I love music and you can hear my contributions here.

In case you're wondering, this site


  • Hands-on Music Generation with Magenta

    Author - Alexandre DuBreuil

    Technical Reviewer - Gogul Ilango

    Publisher - Packt Publishing, United Kingdom

    What's in? - Design and use machine learning models for music generation using Google's Magenta and make them interact with existing music creation tools.



  • Analyzing ConvNets Depth for Deep Face Recognition

    Mohan Raj, I. Gogul, M. Deepan Raj, V. Sathiesh Kumar, V. Vaidehi, S. Sibi Chakkaravarthy

    CVIP-2017, Springer pp 317-330


  • Flower species recognition system using convolution neural networks and transfer learning

    I.Gogul, V. Sathiesh Kumar

    ICSCN-2017, IEEE Xplore


  • Static gesture recognition based precise positioning of 5-DOF robotic arm using FPGA

    M. Deepan Raj, I. Gogul, M. Thangaraja, V. Sathiesh Kumar

    TIMA-2017, IEEE Xplore



  • Smart Autonomous Gardening Rover with Plant Recognition using Neural Networks

    V. Sathiesh Kumar, I.Gogul, M. Deepan Raj, S.K.Pragadesh, J. Sarathkumar Sebastin

    ICACC-2016, Elsevier Procedia Computer Science Volume 93, 2016, Pages 975-981



  • DeepDrum & DeepArp

    Used Google Magenta's DrumsRNN and ImprovRNN to generate drum patterns and arpeggio patterns based on user's seed pattern. Created timeline and multiple pattern generation in a single browser window using JavaScript.

    Tools used: HTML5, CSS3, JavaScript, Magenta.js, TensorFlow.js, Tonal.js, jquery.

    demo | code

  • Emotion Recognizer using Deep Neural Network

    A real-time implementation of emotion recognition using two deep neural networks (extractor and classifier) using Google's TensorFlow.js in the browser. Model is created, trained and inferred in real-time with data acquisition happening in client's device.

    Tools used: TensorFlow.js, HTML5, CSS3, JavaScript, jQuery, Sass.


  • Recognizing Digits using Deep Neural Network in Google Chrome

    Recognize handwritten digits drawn by a user in a canvas in real-time using Deep Neural Network such as Multi-Layer Perceptron (MLP) or Convolutional Neural Network (CNN) in the browser (specifically Google Chrome).

    Tools used: Keras, TensorFlow.js, HTML5, CSS3, JavaScript, jQuery, Sass, Python.

    Dataset: MNIST Handwritten Digits


  • Classifying images using Keras MobileNet in Google Chrome

    Perform image classification in real-time using Keras MobileNet, deploy it in Google Chrome using TensorFlow.js and use it to make live predictions in the browser (specifically Google Chrome).

    Tools used: Keras, TensorFlow.js, HTML5, CSS3, JavaScript, jQuery, Sass, Python.

    Dataset: IMAGENET (1000 categories)



  • Flower Species Recognition System

    Recognize different flower species using state-of-the-art Deep Neural Networks such as VGG16, VGG19, ResNet50, Inception-V3, Xception, MobileNet in Keras and Python. Also, a detailed comparison between Global Feature Descriptors and data-driven approach for this fine-grained classification problem was studied.

    Tools used: Keras, Python.

    Dataset: FLOWERS17 (University of Oxford)

    tutorial 1 | tutorial 2

  • Sound Classification using Neural Networks

    An environment sound classification example that shows how Deep Learning could be applied for audio samples.

    Tools used: Keras, Python.

    Dataset: ESC-50 - Environmental Sound Classification


  • Monocular Visual Odometry using OpenCV and Python

    Feature based Monocular Visual Odometry using FAST corner detector, KLT Tracker, Nister's five point algorithm and RANSAC algorithm with the help of OpenCV and Python.

    Tools used: OpenCV, Python.

    Dataset: KITTI

  • SMART Home - Continuous Voice Recognition using Android

    A SMART Home automation system using off-the-shelf technologies such as Android and Arduino to control home appliances such as Fan, Light bulbs and other electronic appliances with the help of relay and your voice.

    Tools used: Arduino Uno micro-controller, Android smartphone, 8-channel relay module, HC-05 Bluetooth module, Jumper wires, Batteries, Arduino IDE, Android Studio 2.2, Philips Wireless speaker.

  • SLAMINOR - Parallel DC and Servo Control using Xilinx Zedboard

    Parallel control of 2 DC motors and a servo motor using Xilinx Zedboard.

    Tools used: FPGA - Xilinx Zedboard, IDE - Vivado Design Suite 2014.2, Clock Frequency - 50 MHz, DC motors - 500 RPM 12V, Servo motor - Futaba S3003, Battery - 12V 1.3A, Motor Driver - L293D.

  • Hand Gesture Recognition and Servo Control

    Recognize hand gestures using OpenCV and Python, and control a servo motor based on the gestures using Odroid-XU4 and Arduino Mega.

    Tools used: Ardunio Mega, Odroid-XU4, Python, Arduino IDE, Servo motor - Futaba S3003, Battery - 12V 1.3A.

    tutorial 1 | tutorial 2

  • Medical Quadcopter

    A standard Quadcopter for medical applications.

    Tools used: Flight Controller - APM 2.6, Electronic Speed Controllers - 30A, Brushless DC Motors - 1000KV, Power Source - Turnigy 3000 mAh 3S 20C LiPo battery, Quad Copter Frame - F450, Turnigy 6 channel FHSS 2.4Ghz Tx/Rx.

  • Autonomous LOTA Robot

    A small robotic vehicle that can follow a line, detect obstacles, manages to run on the top of a table without falling down and could control its speed with the help of sensors and ADC.

    Tools used: Microcontroller - ATmega16, DC Motors - 100 RPM, Power source - 12V battery, Sensors - 4 Infrared sensors, Other parts - Potentiometer, NOT gate, chassis, wheels.