SYSTEMY WBUDOWANE
Embedded C i STM32
Oprogramowanie sterowników, logika działania, obsługa peryferiów oraz komunikacja przez STM32 HAL, UART, SPI, I2C i CAN. Pracuję również z CMake, testami jednostkowymi i dokumentacją techniczną.
Maciej Dobosz
EMBEDDED SOFTWARE DEVELOPER
Głównym obszarem mojej pracy jest Embedded C i oprogramowanie dla STM32. Uzupełniam je Pythonem, aplikacjami Qt/PySide, komunikacją systemową oraz interfejsami webowymi tworzonymi dla rzeczywistych urządzeń i pojazdów.
PROFIL TECHNICZNY
Najmocniej koncentruję się na embedded. Aplikacje i komunikacja służą mi do budowania kompletnego rozwiązania wokół urządzenia.
SYSTEMY WBUDOWANE
Oprogramowanie sterowników, logika działania, obsługa peryferiów oraz komunikacja przez STM32 HAL, UART, SPI, I2C i CAN. Pracuję również z CMake, testami jednostkowymi i dokumentacją techniczną.
APLIKACJE TECHNICZNE
Narzędzia diagnostyczne i serwisowe w Qt/PySide, backendy w Pythonie oraz responsywne interfejsy webowe do konfiguracji, wizualizacji i sterowania systemami.
INTEGRACJA SYSTEMU
CAN, TCP, UDP, WebSockety, telemetria i streaming obrazu. Doświadczenie obejmuje systemy autonomii pojazdów, GNSS/RTK oraz dodatkowe prace przy analizie obrazu i Lane Assist.
WYBRANE REALIZACJE
SYSTEMY POJAZDÓW
Połączenie planowania przejazdu, sterowania pojazdem, pozycjonowania i nadzoru bezpieczeństwa w jednym systemie operatorskim.
Architektura aplikacji, backend Python, komunikacja CAN, obsługa RTK, interfejs użytkownika, zdalne sterowanie i reakcje na utratę łączności.
Działający prototyp umożliwiający tworzenie tras, realizację przejazdu, podgląd parametrów oraz bezpieczne sterowanie z poziomu komputera.
EMBEDDED
Niezawodne wykonywanie funkcji sterujących i wymiana danych pomiędzy sterownikiem, czujnikami i pozostałymi modułami.
Kod w C, STM32 HAL, obsługa UART, SPI, I2C i CAN, diagnostyka, testy jednostkowe, CMake oraz dokumentacja.
Spójne oprogramowanie łączące logikę urządzenia, komunikację, diagnostykę i możliwość dalszej integracji.
DESKTOP & WEB
Potrzeba wygodnego narzędzia do konfiguracji urządzeń, obserwacji parametrów i zapisu danych diagnostycznych.
Backend w Pythonie, aplikacje Qt/PySide, komunikacja z urządzeniami oraz interfejsy webowe dostosowane do komputerów, tabletów i telefonów.
Czytelne aplikacje serwisowe i użytkowe, które upraszczają pracę z systemem bez bezpośredniej obsługi warstwy sprzętowej.
NETWORKING
Przesyłanie sterowania, telemetrii i obrazu przy ograniczonym paśmie oraz zmiennych opóźnieniach połączenia.
Komunikacja TCP/UDP, WebSockety, streaming wideo, kontrola stanu połączenia i podział zadań między pojazdem a komputerem.
Architektura ograniczająca ilość przesyłanych danych i utrzymująca najważniejsze funkcje sterujące po stronie urządzenia.
SPOSÓB PRACY
Podział odpowiedzialności pomiędzy modułami, projektowanie przepływu danych oraz łączenie warstwy embedded z aplikacjami nadrzędnymi.
Testy jednostkowe w C, CMake, Git, analiza błędów i utrzymywanie kodu możliwego do dalszego rozwoju.
Praca z dokumentacją producentów oraz opracowywanie dokumentacji oprogramowania, w tym materiałów przygotowywanych zgodnie z wymaganiami ISO.
Multimetr, oscyloskop i analizator stanów logicznych podczas uruchamiania komunikacji i rozwiązywania problemów integracyjnych.
Korzystam z narzędzi AI do przyspieszania analizy dokumentacji, prototypowania, przygotowywania testów i porównywania możliwych rozwiązań. Architektura, weryfikacja poprawności i odpowiedzialność za końcowy kod pozostają po mojej stronie.
TECHNOLOGIE
C, C++, STM32 HAL, UART, SPI, I2C, CAN, CMake, testy jednostkowe
Python, Qt, PySide, aplikacje diagnostyczne i narzędzia serwisowe
FastAPI, Flask, JavaScript, TypeScript, React, Next.js, responsywne UI
CAN, TCP, UDP, WebSocket, porty szeregowe, telemetria i streaming obrazu
Linux, Raspberry Pi, Git, Docker, GSM, GNSS/RTK
PostgreSQL, MySQL, Lua, FiveM, ESX i NUI
KWALIFIKACJE
STUDIA
Specjalizacja: cyberbezpieczeństwo. Rozwijam wiedzę dotyczącą bezpieczeństwa informacji, analizy ryzyka i ochrony systemów.
INF.02 — kwalifikacja zawodowa.
INF.03 — kwalifikacja zawodowa.
Język angielski — poziom C1.
BOWWE — praktyki zawodowe.
C3 NET — praktyki zawodowe.
WSPÓŁPRACA
Poza systemami embedded i aplikacjami technicznymi realizuję również responsywne aplikacje webowe, panele użytkownika, narzędzia firmowe oraz integracje tworzone od podstaw pod konkretny problem.
KONTAKT
Najlepiej odnajduję się w projektach łączących software, urządzenia, komunikację i czytelny interfejs użytkownika.