I am a Professional Electrical Engineer with solid background and experience in FPGA design in VHDL/Verilog, Embedded Firmware in C/C++, and Hardware design. I have strong passion and interest in Real Time Embedded Systems, Digital Signal Processing, Wireless Communication, and Radio Frequency. I also possess highly developed troubleshooting, debugging and hands-on skills. Below is a list of my technical skills:
Programming: C, C++, Multithreaded Programming, Python, Assembly, VHDL, Verilog, Matlab, Simulink, Visual Basics, LabView.
Operating Systems: LINUX, QNX, FreeRTOS, Keil RTX RTOS, µTasker.
Source Control: SVN, Mercurial, and GIT.
Development IDEs: Xilinix Vivado, Xilinix ISE, Studio Cross Composer, Keil µVision V5, MPLAB X, Rowley CrossWorks, Eclipse, MS Visual Studio.
Microcontrollers/ Development Boards: TI C2000 MCUs, STM32F4xx, STM32F0xx, LPC23xx, PIC: 16 bits and 32 bits, Arduino Mega, Black BeagleBone Board.
Microcontroller Peripherals: Timers, RTC, DMA, Interrupts, ADCs, DACs.
Serial Communication Protocols: SPI, I2C, AXI4, AXI GPIO, UART, USART, CANopen, CANbus, Modbus TCP/IP, Modbus RTU, Ethernet, USB, PCIe.
Digital Design &Simulation Tools: Xilinix Vivado, Xilinx ISE, Altera Quartus, Microblaze, Xilinix System Generator, Chipscope, Isim, Modelsim, Xilinix IpCores: FIR, FFTs, DP RAM, FIFO.
Analog Design & Simulation Tools: Hspice, LTspice, Pspice.
PCB Layout & Schematics Capture: Cadence Allegro; Pads Logic, Altium, Zuken, Pantheon.
Circuits Testing & Measurement Tools: Digital Oscilloscope, Digital Power Supplies, Digital Multi-meter, Frequency Generator, Frequency Counter.
RF Testing & Simulation Tools: Rohde & Schwarz CMW 500 and CMU 200, Vector Network Analyzer, Spectrum Analyzer, Channel Emulator SR5500, Ansoft HFSS, CST.
Wireless Communication Protocols: GSM, CDMA, WCDMA, LTE, P25, EDACS.
Antennas Design: Dual Band Microstrip Patch Antennas; Low Profile Broadband Antennas: Vivaldi Antennas for Ka Band applications.
Analog/Digital modulation: AM, FM, QAM, QPSK, and FSK.
My fascination with the world of Electronics Engineering started with these old shortwave transistor radios. I used to listen to world radios and was intrigued by how radio signals travels thousands of miles across the globe. I started to open these radios and tried to analyze and understand what each component and circuit was doing inside these radios.

My first exposure to embedded design started the hard way with this NXP development board with an ARM7 MCU: LPC2378. I still have this board and I cherish every project I developed on it while learning about embedded designs. One of my best project I did on this board was the speed control of a DC stepper motor: The motor needed to have a linear speed profile and each step pulse needed a unique time delay value. It is with this board where I got introduced into Keil IDE, RTX RTOS, and multi-threaded programming. MCB 2370 board is below:

LinkedIn Profile: linkedin.com/in/farid-m-p-eng-m-eng-8826b528