Visarg Anilkumar Joshi Embedded Software Engineer




[email protected]




•         Working experience with Windows and Linux operating systems.

•         Experience with ETL Tools (SSRS, SSMS, SSIS ).

•         Experience with multi-threaded Real Time Operating Systems like VxWorks and uC/OS-II.

•         Experience in working with peripherals like I2C, SPI, UART and DMA on multiple platforms.

•         Experience with CAN communication protocol and CAN based Diagnostics.

•         Proficient in C/C++and Embedded C programming on multiple platforms.

•         Good knowledge of Data Structures and Algorithms.

•         Experience in Assembly Language Programming.

•         Experience in GNU tools (GCC, Makefiles) and MISRA guidelines.

•         Experience with Version Control tools (Perforce, Git) and Project Management tools (JIRA).

•         Debugging and testing experience using JTAG, Oscilloscopes and Logic Analyzers.

•         Exposure to aspects of Software Development Life Cycle like Feasibility, Design, Coding, Testing and Maintenance.

•         Passion to learn, good analytical and problem-solving skills and excellent communication skills.

•         Model based Design using Matlab, Simulink,Simscape and Stateflow.

•         Experience with state flow.

•         Experience using Python on bare metal with Micropython.

•         Experience with clearcase.



•         Operating Systems                – freeRTOS, Linux Mint, Redhat Linux, Windows ,


•         RTOS                                     – VxWorks, uC/OS-II

•         Programming Languages     – C, C++, Embedded C, Assembly

•        Microcontrollers                    – 8/16/32-bit Microprocessors and Microcontrollers                                                               ( Renesas V850, TI Piccolo, Delfino, ARM CORTEX

M3, Arduino, AVR, Raspberry Pi,8051)

•          PLC                                        – Mitsubishi FX CPU/FX3UC, Allen Bradley Micrologix


•          Programming Languages     – Embedded C, C++, Python, Java, Shell Scripting, Perl

scripting,  HTML, CSS, JavaScript


•          Peripheral Drivers                – I2C, SPI, DMA, UART, ADC, PWM

•          IDE                                         – Code Composer Studio, Eclipse, CubeSuite,

CodeBlocks, Pycharm , Visual Studio

•         Design & Simulation Tools – Matlab, Simulink, PSpice, QEMU, GCC, vim,

OrCAD Pspice , Auto-SAR, LabVIEW,

•         Instrumentation                     – Oscilloscope, Logic Analyzer, Emulators,


•         Project Management             – Git, Perforce, Jira, SourceTree

•          Database                                – SQL Server (ETL Tools)




Rockwell, Sterling VA (Sep 2017 – Feb 2018)

Software Engineer_intern


As an Embedded Software Engineer in the Automotive Lifestyle division of Haman International, I worked on the design and development of a low-cost ANC (Active Noise Cancellation) amplifier for Fiat Chrysler Automobiles.

•                     Responsible for developing low-level drivers like SPI and DMA for the Piccolo microcontroller.

•                     Responsible for configuring the External Memory (Flash and EEPROM) for data management.

•                     Worked on CAN diagnostics development as per the customer’s requirements.

•                     Worked on porting legacy code and integrating it into the new Piccolo platform.

•                     Involved in designing the software architecture for the project.

•                     Involved in application development and RTOS support.

•                     Involved in developing Windows based tools to support the build.

•                     Worked on bug fixes based on validation reports.

•                     Performed smoke tests for every software release.

•                      Mount and unmount drives on Raspberry Pi under Raspbian

•                      partition and format drives on the command line under Raspbian

•                      Configure a static IP address for Pi as well as setup a usb wifi adapter from Adafruit.

•                     Coding on raspberry pi using C Programming.

•                     Responsible for integrating static analysis tools on the project and performing static analysis

using   CodeSonar.

•                     Responsible for developing design and integration documents.

•                     Involved in design, implementation, integration, testing and documentation.

•                     Python on bare metal with Micropython using a Python operating system and the

built-in pyb module control the peripherals available on the board, such as UART,

I2C, SPI, ADC and DAC.



Environment: C,uC/OS-II RTOS, Piccolo C2000 microcontroller, Renesas V850, Code Composer Studio, CubeSuite, JTAG, CAN, Git, Perforce,STM32F405RG microcontroller



Union pacific railroad, Northlake, IL (Mar 2017 – Sep 2017)

Embedded Software Engineer-Intern


As a part of the software development team, I worked on the design and development of high quality software for Engine Control Systems.


•                     Involved in software development, integration and testing.

•                     Developed software in C/C++ to configure sensors.

•                     Worked with the hardware and test engineers to design test cases.

•                     Debugged and resolved the bugs in the software based on issues raised by the validation team.

•                     Performed black box and white box tests on features developed.

•                     Performed Regression testing using TESSY unit Testing Tool.

•                     Documented software design, implementation and functionality.

•                     Created Issues and Test Cases using JIRA.



Environment: C/C++, JTAG, Oscilloscope, Code Composer Studio, CAN, Git



Rhombus Global, Sector 25, Gandhinagar, Gujarat, India (Aug 2014- Dec 2015)

Embedded Software Engineer


As a Firmware Engineer at Datalog Technologies, I was involved in the design and development of Fabric Inspection System. The system is built to record the defects in the fabric and generate reports based on the data.


Designed and developed machine terminal software modules to aggregate and sort data across a variety of fabric components.

Responsible for developing low-level drivers.

Worked on application development for data acquisition and management.

Involved in the development of customized software modules based on the customer’s requirements.

Involved in the system study and requirements management.


Environment: Embedded C, TI MSP microcontroller, Windows, Visual Basic, JTAG, Oscilloscope, Git




Multispan Control Instruments, Ahmedabad, Gujarat, India (January 2013 – May 2014)

Software Engineer – Intern


As a Software Engineer at Nippon Technologies, I was involved in the development of a Temperature and Humidity Controller. The system is built to control temperature and humidity in refrigeration systems.


•                     Developed and maintained code for data acquisition through peripheral protocols such as RS-232 and I2C.

•                     Developed software following MISRA C/C++ guidelines, to collect and monitor data from the sensors.

•                     Responsible for implementing communication through RS-232 and I2C protocols.

•                     Involved in the integration and testing of the system in an industrial environment.

•                     Documentation work including functional specification writing and architecture revision.


Environment: Embedded C, RS-232, I2C, Eclipse IDE, Oscilloscope, JTAG




M.S. Electrical  Engineering

University of Bridgeport, CT , USA

GPA: 3.6


B.E. Electrical  Engineering

Gujarat Technological University, India



Project Work


•     Data integration in Smart Grid using Data Mining.

•     Car Parking using RsLogix500 ( Mitsubishi FX ) and Allen Bradley.

•     Traffic Control using Mitsubishi FX and Allen Bradley Micrologix 1100

•     Quality Contol Inspection using HMI Screen and Mitshubishi Controller

•     Hospital Management System – Manipulating Data using Visual Studio, Sql Server UI designusing C# and Java Coding.

•     Comparing Elliptic Curve Cryptography and RSA on 8-Bit CPUs

•     Timer based AC motor control using PLC

•     home automation using PLC – Mitshubishi FXCPU/FX3UC

•     Conveyor belt automation using PLC

•     A conveyor automation line (using Mitshubishi PLC) integrated with robotic arm using roboware program for the loading and unloading of products.

•     LIFT control using PLC

•     PLC interface with HMI and control

•     PLC  AC drive control with motor

•     Servo Motor Control using HM (Panelview Plus 600)I and Push Button