Обо мне

Люблю IT и все, что с ним связано. Нравится работать как с железом, так и с ПО. Готов обучаться любой необходимой технологии, платформе и языку программирования. Хочу найти работу в коллективе с общими интересами в IT.

В свободное время люблю читать об IT и не только, изучаю английский язык, занимаюсь фитнесом, осваиваю 3D печать, люблю прогулки по городу.

Опыт работы
Производство крупной и мелкой бытовой техники с большим фокусом на IoT и Connectivity
Санкт-Петербург
Embedded Software Developer
Август 2019 — По настоящее время (3 месяца)
НПФ Невотон
Санкт-Петербург
Инженер-разработчик
Июль 2017 — Август 2019 (2 года и 2 месяца)

Работа в двух различных направлениях: разработка медицинских и косметических устройств, разработка промышленных, потребительских и IoT устройств.

• Разработка различных электромиостимуляторов.
  ◦ Разработка электрических схем.
  ◦ Трассировка печатных плат.
  ◦ Пайка и отладка опытных образцов. 
  ◦ Разработка прошивок для микроконтроллеров (PIC16, STM32). Имплементация различных форм сигналов в микроконтроллере по ТЗ с максимальным использованием аппаратных средств.
  ◦ Разработка схем повышения напряжения до 30-100В, схем защиты и контроля тока.
• Разработка шлюза Opentherm Modbus.
  ◦ Разработка электрической схемы.
  ◦ Трассировка печатной платы.
  ◦ Пайка и отладка опытных образцов.
  ◦ Разработка прошивки и имплементация стеков Opentherm и Modbus на микроконтроллере.
• Участие в разработке шлюза Opentherm Ethernet Wi-Fi.
  ◦ Разработка части электрической схемы: Ethernet Phy и ведомый контроллер.
  ◦ Программная разработка и имплементация стека Opentherm на ведомом контроллере.
  ◦ Разработка bootloader'а для удаленного обновления прошивки.
• Участие в разработке устройства считывания счетчиков.
  ◦ Разработка электрической схемы.
  ◦ Трассировка печатной платы.
  ◦ Реализация протокола для передачи данных от ведомого (PIC16) контроллера ведущему (ESP32).
  ◦ Программная и аппаратная реализация режима пониженного энергопотребления ведомого контроллера при работе от батарейки.
• Участие в разработке управляющего контроллера для сауны.
  ◦ Разработка драйверов для контроллеров OLED дисплеев.
  ◦ Разработка универсальной библиотеки для вывода текста и изображений на дисплей.
• Разработка шлюза Homekit Fibaro. 
  ◦ Разработка ПО для Raspberry Pi на Golang для контроля сети Ethernet и Wi-Fi и автоматического поиска в локальной сети контроллера Fibaro.
• Разработка термостата для шины eBus.
  ◦ Разработка электрической схемы.
  ◦ Трассировка печатной платы.
  ◦ Разработка прошивки и имплементация стека eBus на микроконтроллере.
• Поддержка старых устройств.
  ◦ Поиск современных электронных компонентов для замены снятых с производства.
  ◦ Работа с legacy-кодом и модификация прошивок микроконтроллеров.
• Разработка универсального стенда для тестирования и проверки производимого оборудования.
  ◦ Разработка электрической схемы.
  ◦ Трассировка печатной платы.
  ◦ Разработка ПО для Raspberry Pi.
  ◦ Разработка простого и понятного интерфейса для проверяющего.
• Работа с контроллером умного дома Fibaro:
  ◦ Разработка различных сцен и виртуальных устройств на языке Lua. ◦ "Затягивание" устройств сторонних производителей и устройств собственного производства в среду контроллера при помощи Rest API и TCP/UDP.

Также были начаты разработки по следующим направлениям:
  ◦ Имплементация стека M-Bus на микроконтроллере.
  ◦ Разработка драйверов для работы с GSM и NB-IoT (Simcom SIM800, Cinterion BGS2, Neoway N10 и N21) модемами различных производителей.
  ◦ Работа с LoraWAN приемопередатчиком и оператором сети Lora.
  ◦ Разработка ПО для контроллера автоматики Wiren Board.

• При работе с микроконтроллерами Microchip используется последнии версии среды разработки MPLAB X IDE и компилятора XC8. Для начальной инициализации контроллера используется MPLAB Code Configurator. Работа со "специфичной" периферией от Microchip: PSMC, CLC, NCO, CWG и др.
• При работе с микроконтроллерами STMicroelectronics используется среды разработки Atollic Truestudio, IAR (STM8 и STM32), Keil. Используются контроллеры: STM8S, STM32F0, STM32F1. Библиотеки: Low Layer API, HAL и StdPeriph (STM8). Начальная конфигурация в ПО CubeMX.
• При работе с микроконтроллерами Espressif ESP8266 и ESP32 используются среды разработки Arduino, Eclipse и Visual Studio Code c аддоном Platformio.
• Использование основной внутренней периферии микроконтроллеров: Timers, DMA, PWM, GPIO, ADC, DAC, SPI, I2C, UART, EEPROM, Flash и др.
• Разработка и расчет различных повышающих (boost) и понижающих (buck) импульсных источников питания.
• Поиск, подбор и экономическое обоснование современных электронных компонентов. Хорошее знание элементной базы.
• Применение основных инструментов разработки и отладки: осциллограф, мультиметр, логический анализатор, UART-COM преобразователи, лабораторный блок питания, паяльная станция.
• В качестве CAD системы используется P-CAD 2006, в которой производится разработка электрических схем и трассировка печатных плат.
• Использование различных языков программирования для тестирования и производства: C, Lua, Python, Golang, Javascript, Bash.
• Работа и применение различных сетевых протоколов: TCP, UDP, MQTT, HTTP и  др. Для отладки данных по Ethernet и Wi-Fi применяется анализатор трафика Wireshark. Для работы с Rest API применяется Postman. Для MQTT применяются различные библиотеки, включая Mosquitto.
• Разработка различного ПО под Raspberry Pi. Работа с командной строкой Linux.
• Использование системы контроля версий Git.

Мною был начат переход к микроконтроллерам STM и NXP, как к более мощным и дешевым аналогам 8-битных Microchip в типовых и ресурсоемких задачах.
 Переход к современным источникам напряжения (импульсные и LDO) для уменьшения размера конечной печатной платы. Также для разрабатываемых схем и программ было начато использование системы контроля версий Git.

Высшее образование
Санкт-Петербургский государственный университет телекоммуникаций имени профессора М. А. Бонч-Бруевича
Санкт-Петербург
Факультет: Радиосвязи, телевидения и мультимедийных технологий; РС, ТВ и МТ
Сентябрь 2011—Июль 2015 (3 года и 10 месяцев)