Gogul Ilango

Senior Hardware Engineer @ Qualcomm
Programmer - Music Producer - Writer

  • summary
  • publications
  • moocs
  • hobby projects
  • earth
  • books

"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. I work as a Physical Design Engineer 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 use my web development skills (particularly front-end) to solve day-to-day problems using data and visualization techniques.

My technical interests include asic design, applying machine learning & deep learning in hardware design, web development, automation and computer vision. And I love coding using Python and JavaScript.


  • 2017-now - Qualcomm, Chennai - ASIC Physical Design & Signoff, Full-stack Web Development & Machine Learning.
  • 2016-2017 - Nokia, Chennai - Internship with focus on Automation, Python, Web Development & Machine Learning.
  • 2015-2017 - Anna University, MIT Campus, Chennai - Master of Engineering in VLSI Design & Embedded Systems (CGPA 9.96/10 + Gold Medal) - Adviser Dr.Sathiesh Kumar.
  • 2014-2015 - TATA Consultancy Services, Chennai - Front-end Web Development, Android Development.
  • 2010-2014 - Thiagarajar College of Engineering, Madurai - Bachelor of Engineering in Electronics & Communication (CGPA 9.05/10).

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



TensorFlow in Practice Specialization


Introduction to TensorFlow for Artificial Intelligence, Machine Learning and Deep Learning


Convolutional Neural Networks in TensorFlow


Natural Language Processing in TensorFlow


Sequences, Time Series and Prediction


Neural Networks and Deep Learning


Sequence Models


Applied Machine Learning in Python



  • 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 | video | code | tutorial
  • 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.

    demo | video
  • 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

    video | tutorial
  • 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)

    video | 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.

    video | 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.


Below I have listed some of the greatest books written by greatest minds that helped me evolve as a human being. Hope it helps you too!