Embedded Software Engineer with expertise in firmware development for Real-Time Embedded Systems. Experience in programming of STM32, FPGA, ARM CORTEX A9, ALTERA CPLD, ESP32/ESP8266, ARDUINO, and Raspberry Pi with proficiency in C, C++, PYTHON, VHDL, VERILOG, and TCL programming languages. I’m focused on delivering high-quality and cost-efficient solutions on time.
Experience:- • STM32 Bootloader and OTA implementation including AES data encryption for secure data transmission and CRC implementation to ensure packet validity. • Design and Implementation of 100Mhz high-speed serial synchronous communication protocol for inter-board data transmission and synchronization. • RTOS porting and development on Zynq 7000 series SOCs • Implementation of control and communication algorithms on Altera CPLD • Implementation of DSP algorithms on FPGAs and SOCs • Custom Bootloader development for ARM Processors. • Worked on the development of communication-based on PCIe using Zynq devices. • Implementation of Wear Leveling Algorithm for data flashes to prolong its service time. • Implement control and communication algorithms on Zynq 7000 FPGA and ARM Cortex A9 processor. • Implementation of FOTA (Firmware Over-The-Air) for remote firmware updates. • Implementation of remote console access of our custom boards over Ethernet through Python scripts running on Windows and Linux. • Have Developed driver layers of various communication protocols such as i2c, SPI, UART, and CAN. • Developed driver layers of many peripherals such as NTCs, ADC, DAC, AC Metering ic, Temperature sensors, etc. • Worked on ZYNQ PS-PL communication through AXI External Peripheral Controller (AXI EPC IP). • Worked on TCL scripts for packing and unpacking of firmware. • Programming of esp devices on Vscode using platformio. • Developed a mesh network between multiple esp32 and esp8266 for connecting various sensors involved in the project. • Development of drivers for various communication protocols such as UART, i2c, SPI, WIFI, BLE, LoRa
FPGA | Microcontrollers | Microprocessors:- • ZYNQ 7000 FPGA | ARTY Z7 • ALTERA CPLD • ARM Cortex A9 • STM32F4 | STM32WL • ESP32 | ESP8266 • PIC18 • Arduino Uno | Mega | Nano
Communication Protocols:- • SPI | I2C | UART | CAN • WiFi | BLE | LoRa | LoRaWAN
Software/Languages:- • VHDL| VERILOG | MICRO C • C | C++ | PYTHON | TCL • VIVADO | SDK | VISUAL STUDIO