Gogul Ilango

Principal Software Engineer at Cadence R&D

Music Producer

  • summary
  • publications
  • hobby projects


Om Namah Shivaya. My name is Gogul Ilango. I was born in Madurai, Tamil Nadu, India.

I work as a Principal Software Engineer with specialization on Software Development and Artificial Intelligence for SOC Physical Design at Cadence R&D. My technical interest lies at the intersection of System on Chip (SOC) design, Machine Learning, Deep Learning and Full-Stack Web Development.

I'm an ardent follower of Lord Shiva. I love to talk about fascinating topics such as astronomy, music, sports and tech. I'm deeply passionate about music and you can listen to my contributions here.


  • 2023-now

    Principal Software Engineer

    Cadence R&D

    Focus on Software Development and Artificial Intelligence for SOC Physical Design
  • 2019-2023

    Senior Hardware Engineer


    Focus on SOC Physical Design and Full-stack Web Development
  • 2017-2019

    Hardware Engineer


    Focus on SOC Physical Design and Full-stack Web Development
  • 2016-2017

    Graduate Technical Intern


    Focus on Automation, Full-stack Web Development & Machine Learning
  • 2015-2017

    Master of Engineering

    Anna University, MIT Campus

    VLSI Design & Embedded Systems (CGPA 9.96/10 + University Gold Medal + Meritorious Student of M.E-2017) - Adviser Dr.Sathiesh Kumar
  • 2014-2015

    Assistant Systems Engineer

    TATA Consultancy Services

    Focus on Front-end Web Development and Android Development
  • 2010-2014

    Bachelor of Engineering

    Thiagarajar College of Engineering

    Electronics & Communication (CGPA 9.05/10)
  • 2008-2010

    Higher Secondary

    Mahatma Montessori Matriculation and Higher Secondary School

    Tamil, English, Mathematics, Physics, Chemistry, Biology (Total Marks: 1131/1200; Engineering Cutoff 197.5/200)
  • 2005-2008


    Mahatma Montessori Matriculation and Higher Secondary School

    Tamil, English, Mathematics, Science, History & Geography (Total Marks: 466/500)

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.

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.