Avatar

Srikanth Anantharam

Software Practitioner | Lifelong Learner

Beṅgaḷūru, India

contact@srikanth.one

+91 7204 350 429


Skills

Teamwork

Communication

Software development

Problem-solving


Coding Languages

Rust

Python

Embedded C

Embedded C++

HTML5

JavaScript

CSS3


Natural Languages

Kannada

Hindi

English

Telugu



Highlights

  • A versatile Software Practitioner with 7+ years of experience in Computer Software and Firmware Development.
  • Analysis, Design, Development & Debugging expertise in Rust, Python, C, C++ & JavaScript programming languages.
  • Fundamental knowledge of Blockchain, Crypto-currencies and InterPlanetary File System.
  • Following known coding guidelines & best practices which is essential while working in a team.
  • Likes sharing the knowledge and keeping up to date with the latest developments in the field.
  • Familiar with usage of tools of the trade to enforce the coding guidelines for quality assurance.
  • Experience gained over the years in the Linux & Windows command-line usage. Also familiar with PowerShell & Bash.
  • Familiarity in using the Git version control and source code management systems: GitHub and GitLab.
  • Exposure to applying cloud technologies like AWS, Docker & Kubernetes.
  • Personal experience in setting up CI, CD pipelines for DevOps using GitHub, GitLab, Travis & AppVeyor platforms.
  • Experience in web technologies, GUI design & development, API design & development.
  • Extensive hands-on experience with embedded micro-computers like: Raspberry Pi, BeagleBoard-xM, Arduino.
  • Experience with hardware/software interfacing technologies like: UART, I2C, SMBus, SPI, PWM, GPIO.
  • Multi-disciplinary exposure gained by working in variety of proof-of-concepts & projects related to robotics, embedded, internet of things, machine learning, deep learning, test automation & functional safety.
  • Soft-spoken, self-motivated and effective team player.

Industrial Experience

Rust Developer @ Emrit Inc, Remote
  • Working on developing next generation platform for blockchains.
May 2022 — July 2022
Senior Engineer @ L&T Technology Services, Beṅgaḷūru
  • Primarily working with C & Python.
  • Working on automation of testcases involving post-silicon validation activities.
  • Working on development of functional safety software stack for embedded IoT.
Mar 2021 — May 2022
Senior Project Engineer @ Wipro Technologies, Beṅgaḷūru
  • Working in agile environment.
  • Developing REST API for a chatbot backend.
  • Maintaining software projects related to:
    • Multimedia analysis for test automation,
    • Windows OS installation for validation.
  • Developing GUI for assisting developer in the analysis of GNSS logs.
Jun 2019 — Mar 2021
Embedded Software Developer @ UST, Beṅgaḷūru
  • Software design and development with Python.
  • Firmware development with Embedded C/C++.
  • Producing robotics & automation solutions by applying Artificial Intelligence, Machine Learning, Deep Learning, Machine Vision and Embedded Systems.
Dec 2016 — Jun 2019
Industrial Training / Masters' Project Work @ MSDF Group, FMCD, CSIRNAL, Beṅgaḷūru
  • Research, Design & Development on Computer Vision & Miniature Aerial Systems.
  • Published 3 papers.
Aug 2014 — May 2015

Academic / Research Experience

Teaching and Research Assistantship (TaRA) @ Mechanical Engineering Department, The National Institute of Engineering, Maisūru
  • Worked under TEQIP.
  • Collaborated on:
    • Different multidisciplinary research activities,
    • Curriculum development of M.Tech. Industrial Automation and Robotics programme.
May 2014 — May 2015
Research Associate @ Nitte Meenakshi Institute of Technology, Beṅgaḷūru
  • Start-up like work environment.
  • Worked on couple of robotics projects sponsored by GoI through DST & CAIR, DRDO.
  • Contributed to Pick and Place Robot Exhibit project sponsored by IEEE-USA.
  • Mentored undergraduate students & taught fundamental programming concepts.
  • Published 2 papers.
Jul 2012 — Jul 2013
Internship / Bachelors' Project Work @ Nitte Meenakshi Institute of Technology, Beṅgaḷūru
  • Exposure towards multi-disciplinary and cross-disciplinary RDD.
  • RDD on Autonomous Mobile Robotics, Artificial Intelligence & Image Processing.
Jun 2010 — Jun 2012

Education

The National Institute of Engineering, Maisūru

Masters — Industrial Automation and Robotics Technology

2013 — 2015
Nitte Meenakshi Institute of Technology, Beṅgaḷūru

Bachelors — Electrical and Electronics Engineering

2009 — 2012
Sri Jayachamarajendra Polytechnic, Beṅgaḷūru

Diploma — Electrical and Electronics Engineering

2006 — 2009
Godwin Public School, Beṅgaḷūru

Secondary School Learning/Leaving Certificate

2005 — 2006
Secured School First Rank

Industrial Projects

Functional safety software stack development

Technologies: C
Development Platform: Linux
Target Platforms: ACRN, Yocto

  • Independently developed the temperature monitoring module of the software stack:
    • The module uses a timer to run a handler periodically every 1 millisecond.
    • The handler reads the temperature values using MSR & MMIO read.
    • Then it sends out the values to the functional safety enabling hardware over the SPI protocol.
  • Developed code for performing both correctable & uncorrectable error injections on the ECC memory.
  • Benchmarking (with & without ECC enabled) of the RAM reading / writing speeds of the target using open-source tools.
June 2021 — May 2022
Post-silicon Validation Automation

Technologies: Python, PowerShell
Development Platform: Windows
Target Platforms: Windows, Linux

  • Automation of validation testcases using a proprietary test automation framework.
  • Worked actively on Crossproduct and PRM domains.
  • Working as a consultant on software design & development and the framework know-how.
Mar 2021 — May 2022
Backend & REST API development for Chatbot that performs log analysis

Technologies: Python, Flask, mongoDB (PyMongo), AxonIQ
Development Platform: Windows
Target Platform: Linux

  • A thermal csv log & a string containing the issue is obtained from the frontend using as POST request.
  • Developed the core business logic for reading and parsing the thermal csv logs.
  • Developed the code for dumping the parsed JSON log data into mongoDB & Axon repository for maintaining a history.
  • Performs analysis on the JSON data to gain valuable insights on the issue.
  • Suggests a solution as the response based on the analysis.
3 months
Maintenance of Windows OS installation tool

Technologies: CSharp, .NET, .NET Core, PowerShell
Platform: Windows

  • The legacy tool enables manual and automated installation of Windows using:
    • Command-line mode (locally or using network).
    • Graphical mode (locally or using network).
    • Thumb drive mode (locally or using network).
    • PXE mode (using network).
  • Worked on maintenance and bug fixing of the tool.
  • Also worked on development of the tool involving:
    • Enabling automated Windows installation while using the thumb drive mode.
    • Porting the tool from .NET 4 to .NET Core.
16 months
Maintenance of multimedia analysis tool

Technologies: Python, Flask
Platform: Windows

  • The legacy tool enables analysis of audio and video signals using a dedicated embedded hardware.
  • The tool is useful for automatically identifying and logging audio and video issues resulting from hardware/firmware issues like:
    • Absence of an audio signal.
    • Drop-out of audio frames.
    • Synchronization of audio and video.
    • Video framerate drops.
    • Absence of video signal.
    • Unwanted screen rotation.
5 months
GNSS Log Analysis Framework (GLAF)

Technologies: Python, pandas, PySide2, NSIS, YAML, MVC
Platform: Windows

  • Involved developing of a GUI for assisting the developer in debugging the issues from GNSS logs.
  • The GUI allows the user to import, analyze, annotate and visualize csv logs.
  • Developed the complete frontend, backend and the core business logic using MVC.
5 months
ThingG

Technologies: Python, PostgreSQL, Flask, scikit-learn, LoRa, Arduino, MQTT
Development & Host Platform: Linux
Target Platform: ESP-32

  • ThingG is a system for localization of assets within an indoor environment.
  • The asset to be tracked is attached a small LoRa transceiver connected to an ESP-32 powered by a battery expected to power it for an year.
  • The indoor environment has 3 LoRa transceivers each connected to an ESP-32 acting as gateways located in known positions. They are connected to the server over MQTT.
  • The asset attached LoRa transceiver runs an embedded software to interface the LoRa and continuosly transmits heartbeat signals to the gateways.
  • The gateways run an embedded software that measures the strength (RSSI) of the signals received from the asset and sends the data over MQTT to the server.
  • The server runs a machine learning model that listens to the data from the server and converts the data into location of the asset.
  • The location of the asset is then visualized on an indigenously developed dashboard allowing the user to track it.
  • The project stood at the 2nd place in a developer hackathon organized by the company.
4 months
iPLMS

Technologies: Python, PostgreSQL, OpenCV, scikit-learn, MQTT
Development & Host Platform: Linux
Target Platform: Raspberry Pi

  • iPLMS is a system for aiding users to find a vacant slot in a parking lot.
  • The parking lot is equipped with an overhead camera connected to an edge computing device (Raspberry Pi).
  • The device continuously captures the image of the parking lot, segments the slots and runs it through a machine learning model.
  • The machine learning model then classifies each slot as being occupied or vacant and sends it over MQTT to the server.
  • The server listens to the data from the server and visualizes the occupancy data on a dashboard.
6 months
USB Device Testing Robot

Technologies: Embedded C++, Arduino, Grbl, Python, OpenCV, PySide2, scikit-learn
Development & Host Platform: Linux
Target Platform: Arduino

  • The robot is a 2d cartesian with the arm having a male USB end effector whose other side is connected to a computer.
  • The robot also has a stationary panel with 5 numbered female USB connectors which can be connected to devices.
  • The aim is to allow the computer to plug to multiple devices one by one and perform some testing on each device.
  • The robot is run by an Arduino running the Grbl firmware and also equipped with a camera mounted on the moving arm.
  • The camera helps in identification of the female connector and provides feedback for safe plugging and unplugging of the USB connector.
  • There is a GUI developed which allows selection of a device, plugging, unplugging and also displays the camera's vision.
10 months
Deep learning based PCB asset classification and liveness detection robot

Technologies: Embedded C++, PostgreSQL, Arduino, Python, OpenCV, Flask, TensorFlow
Development & Host Platform: Linux
Target Platforms: ESP-32, Raspberry Pi Zero

  • The robot is a 1d cartesian with a shuttle that moves along a track with a station on the one end.
  • The shuttle carries a Raspberry Pi Zero with a mounted camera and stops at predefined spots along the track.
  • The whole system is mounted on the top of a long desk which hosts the PCB assets.
  • The movement of the shuttle is controlled by an ESP-32 microcontroller.
  • When the shuttle stops, the camera captures an image of the desk and sends it along with the liveness information over Wi-Fi to the server.
  • The server runs the image through a deep learning model to classify the PCB asset if visible in the image.
  • The PCB kind and the liveness information is then stored to the database for future usage.
12 months
Design and Development of Robot Mechanisms, Vision and Control Algorithms

Technologies: MATLAB, Embedded Linux, C/C++, SDL, GStreamer, Makefile, ARM NEON SIMD, DSP/BIOS RTOS
Development & Host Platform: Linux
Target Platforms: BeagleBoard-xM

The project was sponsored by Department of Science and Technology (DST), Government of India (GoI).

  • Designed and integrated embedded Linux platform on BeagleBoard-xM SBC using Ångström.
  • Designed and developed a software framework in C++ for implementing image processing & computer vision applications on BeagleBoard-xM.
  • Developed image processing kernels in Embedded C for TI DSP C64x+ for 7 target tracking algorithms and C intrinsics code for ARM NEON SIMD.
  • Reduced algorithm execution time by a factor of up to 4.6.
  • Optimized the target tracking algorithms for real-time (30fps) performance on BeagleBoard-xM.
13 months
māhiya: Development of a Real Time Human Tracking Capability on a Mobile Platform

Technologies: MATLAB, Embedded C/C++, EAGLE PCB Design, C/C++, OpenCV, Eclipse
Development & Host Platform: Linux
Target Platforms: AVR

The project was sponsored by Centre for Artificial Intelligence and Robotics (CAIR), Defence Research and Development Organization (DRDO), Government of India (GoI).

  • Developed image-based visual servo controller for human following applications in C/C++.
  • Developed kinematic pose-to-pose controller for differential drive mobile robot.
  • Developed and optimized 7 human tracking algorithms for real-time (30fps) performance.
  • Developed the interface for a sensor ring of 12 ultrasound range finders in Embedded C.
  • Integrated the tracking algorithms with the controller for human following applications.
10.5 months
Implementation and Validation of Vision-based Ground Target Geo-Localization for Miniature Aerial System (Masters' project work)

Technologies: MATLAB, C#, Arduino, VMWare Workstation Player
Development Platform: Windows
Target Platforms: ArduPilotMega

The project work presented a computer vision based algorithm for accurate geo-localization of a ground target from an aerial image captured by the Miniature Aerial System (MAS).

  • The user identifies and selects the ground target in the image taken by the camera on board Miniature Aerial Vehicle (MAV).
  • A computer vision based algorithm is developed in C++ for accurate geo-localization of a ground target from the aerial image using: MAV pose, Gimbal pose and Camera parameters.
  • A method for generating synthetic aerial image for any given pose configuration of the MAV, the Gimbal and the Camera is developed.
  • Implemented on MATLAB and validated with a custom build of FlightGear Flight Simulator.
7.5 months
PhotoScenery for Realistic Scene Generation and Visualization in FlightGear (Masters' mini project)

Technologies: OpenSceneGraph, Visual Studio, Bash, Python, CMake, Git, C++
Platform: Windows, Linux

The project involved generation of photo realistic scenery and visualization of a landscape in the FlightGear Flight Simulator.

  • The software runs on Windows as well as Linux.
  • Built and installed FlightGear Flight Simulator from source using CMake.
  • Derived a methodology for the generation of PhotoScenery and integrated with FlightGear.
  • Performed Hardware-In-Loop Simulation (HILS) for Miniature Aerial System (MAS) control algorithm.
2 months

Academic / Research Projects

Autonomous Mobile Robot Control, Localization and Path Planning (Bachelors' project work)

Technologies: MATLAB, Embedded C
Development Platform: Windows
Target Platform: AVR

  • Developed a 2D framework in MATLAB for simulating a differential drive mobile robot.
  • The autonomous robot must navigate to any desired goal location in a known static indoor environment by taking an optimal and feasible path.
  • Ultrasonic range finders perceive the environment and the robot localizes using extended Kalman filter (EKF).
  • An intelligent path planning algorithm computes the path to be traversed.
  • The robot motion control is achieved by using a kinematics based controller.
16 months
Soft-starter: Automatic star-delta starter using microcontroller (Diploma project work)

Platform: 8051

  • The starter is necessary for starting a three phase induction motor.
  • The project work involved development of an electronic starter used for starting a 230V 50A induction motor based on Atmel AT89S51 microcontroller.
  • The motor is powered on in the start configuration and a timer is used to switch the motor configuration from star to delta after an adjustable time delay.
  • A single phase prevention mechanism is also implemented to protect the motor in case of faults.
4 months

Personal / Open Source Projects

Uraga

Technologies: Rust
Platforms: Windows, Linux, macOS
An intuitive modern programming language in its early stages that aims to be both interpreted and compiled.

Work in progress
reSTful

Technologies: Rust
Platforms: Windows, Linux, macOS
An intuitive new markup language in its very early stages.

Work in progress
translitera

Technologies: Python, JSON
A python package to phonetically transliterate text from Kannaḍa script to English / Latin characters.

PyPI page | GitHub link

1 week
SerialTerminal

Technologies: Python, PyQt, YAML
A simple Serial Terminal application written in PyQt.

GitHub link

1 week

Publications

Synthetic Aerial Image Generation for Miniature Aerial System
Srikanth A, L P Prathyusha, VPS Naidu, L Krishnamurthy

IEEE ITACT, AIT, Beṅgaḷūru. [link 1] [link 2]

Dec 2015
MAS Simulator: A Laboratory Set Up
Indhu B, Srikanth A, N Sivakumaran, VPS Naidu

CCIP, JSSATE, NOIDA. [link 1] [link 2]

Mar 2015
Photoscenery for Realistic Scene Generation and Visualization in FlightGear: A Tutorial
, Indhu B, L Krishnamurthy, VPS Naidu

ICETES, MACE, Kēraḷa.

IJAREEIE, Vol. 3, Special Issue 5, p. 577-582. [link 1] [link 2]

Dec 2014
Robotics Research at NMIT
Jharna Majumdar, Sunil Kumar H N, Praveen Kumar Jain R, Venkatesh G M, Srikanth A, Sandeep Kumar Malu

ITC, Beṅgaḷūru.

Jul 2013
Development, Implementation and Optimization of Real Time Target Tracking Algorithms on BeagleBoard-xM
Srikanth A

[link 1] [link 2]

2012 — 2013
Vision based Interactive Robotic Exhibits for Museums
Jharna Majumdar, Ramesh Babu, Sunil Kumar H S, Manjunath H N, Praveen K Jain, Venkatesh G M, Srikanth A, Gurinder S Gill

IEEE Exhibits 2012, Braj Mohan Birla Science Centre, Haidarābād. [link 1] [link 2]

Dec 2012

Contact Me