HI
I'm a qualified electronics engineer having rich 3yrs+ experience in embedded firmware development of ARM Cortex-M based STM32 microcontrollers, as well as ESP32, ESP8266.
Have worked with following peripherals & technologies:
- Basic peripherals: GPIO, Timers & PWM signaling, ADC, DAC, Interrupts, DMA, Communications protocols: UART, I2C, SPI, FSMC controller, Flash & EEPROM memory, motor control,
- Wireless chips: Bluetooth (2.0 and BLE), WiFi (ESP8266 and ESP32), RFID, nRF24L01+, etc.,
- FreeRTOS (or any other CMSIS-RTOS compliant embedded OS),
- CAN bus & Modbus RTU,
- USB Device and Host (virtual COM port, HID, mass-storage, DFU),
- SD Cards (both SPI and SDIO) and FatFs library,
- 9DOF IMU sensors (accel+gyro+mag) + data filtering (complementary, Kalman, Madgwick filters),
- LCD TFT drivers (8080 and SPI) and touch interfaces,
- Ethernet & TCP/IP stack,
- Bootloaders.
Developed numerous C libraries for using sensors and shields with STM32 microcontrollers.
Have experience of creating a device from scratch, doing both firmware and PCB development (Autodesk Eagle CAD). Actively use version control systems and unit testing for written code.
Additionally I teach C & microcontrollers programming at TechMaker - an embedded programming course featuring STM32 ARM-based development boards.
Patent holder, invented a device for measuring wind velocity and direction, which won a number of awards at Intel International Science and Engineering Fair 2009
Best regards