I program FPGA and microcontrollers, design electronic boards, write desktop applications.
I have experience in SystemVerilog hardware description language for RTL design and verification, and C language for microcontroller programming on bare metal and with RTOS. I can develop desktop applications for Linux in Qt/C++ and for Windows in C#. My experience includes working with Altera, Xilinx, GoWin FPGA microchips, STM32, XMOS, NXP, AVR microcontrollers and Altera NIOS SoC systems. I can design, routing and soldering electronic circuits.
I have extensive experience in EMC and troubleshooting of electrical boards. My job always requires me to have strong attention to detail and problem-solving abilities.
I have worked with radars and nondestructive testing systems, ultrasonic phased arrays, EDM and CNC machines, electrical substations, ATE, asynchronous, stepper and servo motors, Ethernet protocols (UDP/IP, ARP, GOOSE/GSE), USB 3.0/2.0 controllers, DSP (FIR, CIC, FFT, PSK modulation), CAN, CANopen, PCI, Avalon and AMBA AXI bus, MIL-STD-1553B, ARINC 429, UART, ModBus RTU, I2C, SPI and SerDes LVDS, SDRAM.
I am always interested in learning new technologies, new programs and new fields of knowledge independently that are needed for work.
My main achievements include:
- A prototype of a mechanical radar system where I created firmware for FPGA and programs for microcontrollers and computers. I emitted, received and processed radiolocation signals. I implemented a field oriented control (vector control) for electric motors using a Sin-Cos encoder and PWM. I depicted radiolocation images with MatLab.
- A prototype of an ultrasonic phased array system where I developed FPGA design, a microcontroller program and a debug program for PC. I formed an ultrasonic beam and calculated a synthetic aperture for a 32-elements linear array of transducers.
- A spark cutting 4-axis multipass CNC machine where I developed circuit design, FPGA and microcontroller programs as well as a user interface for Linux.
- I have mastered the XMOS 16-cores processor that can replace FPGAs in some tasks.