Maciej Dobosz

EMBEDDED SOFTWARE DEVELOPER

Oprogramowanie łączące sterowniki, urządzenia i aplikacje.

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.

01 Embedded first C i STM32 jako główny profil
02 System integration od urządzenia do interfejsu
03 Real-world software diagnostyka, sterowanie i dane

PROFIL TECHNICZNY

Pracuję w trzech uzupełniających się warstwach systemu.

Najmocniej koncentruję się na embedded. Aplikacje i komunikacja służą mi do budowania kompletnego rozwiązania wokół urządzenia.

01

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ą.

02

APLIKACJE TECHNICZNE

Python, Qt i web

Narzędzia diagnostyczne i serwisowe w Qt/PySide, backendy w Pythonie oraz responsywne interfejsy webowe do konfiguracji, wizualizacji i sterowania systemami.

03

INTEGRACJA SYSTEMU

Komunikacja i pojazdy

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

Projekty opisane przez problem, zakres pracy i rezultat.

01

SYSTEMY POJAZDÓW

System autonomii i zdalnego sterowania

Problem

Połączenie planowania przejazdu, sterowania pojazdem, pozycjonowania i nadzoru bezpieczeństwa w jednym systemie operatorskim.

Mój zakres

Architektura aplikacji, backend Python, komunikacja CAN, obsługa RTK, interfejs użytkownika, zdalne sterowanie i reakcje na utratę łączności.

Rezultat

Działający prototyp umożliwiający tworzenie tras, realizację przejazdu, podgląd parametrów oraz bezpieczne sterowanie z poziomu komputera.

PythonFastAPINext.js CANRTK GNSSRaspberry Pi
02

EMBEDDED

Oprogramowanie sterowników STM32

Problem

Niezawodne wykonywanie funkcji sterujących i wymiana danych pomiędzy sterownikiem, czujnikami i pozostałymi modułami.

Mój zakres

Kod w C, STM32 HAL, obsługa UART, SPI, I2C i CAN, diagnostyka, testy jednostkowe, CMake oraz dokumentacja.

Rezultat

Spójne oprogramowanie łączące logikę urządzenia, komunikację, diagnostykę i możliwość dalszej integracji.

Embedded CSTM32 HALUART SPI / I2CCANCMake
03

DESKTOP & WEB

Aplikacje diagnostyczne i operatorskie

Problem

Potrzeba wygodnego narzędzia do konfiguracji urządzeń, obserwacji parametrów i zapisu danych diagnostycznych.

Mój zakres

Backend w Pythonie, aplikacje Qt/PySide, komunikacja z urządzeniami oraz interfejsy webowe dostosowane do komputerów, tabletów i telefonów.

Rezultat

Czytelne aplikacje serwisowe i użytkowe, które upraszczają pracę z systemem bez bezpośredniej obsługi warstwy sprzętowej.

PythonQt / PySideFastAPI FlaskReactNext.js
04

NETWORKING

Telemetria i streaming obrazu

Problem

Przesyłanie sterowania, telemetrii i obrazu przy ograniczonym paśmie oraz zmiennych opóźnieniach połączenia.

Mój zakres

Komunikacja TCP/UDP, WebSockety, streaming wideo, kontrola stanu połączenia i podział zadań między pojazdem a komputerem.

Rezultat

Architektura ograniczająca ilość przesyłanych danych i utrzymująca najważniejsze funkcje sterujące po stronie urządzenia.

TCPUDPWebSocket Video streamingLinux
Zobacz profil GitHub

SPOSÓB PRACY

Nie tylko kod — również architektura, testowanie i uruchamianie.

01

Architektura i integracja

Podział odpowiedzialności pomiędzy modułami, projektowanie przepływu danych oraz łączenie warstwy embedded z aplikacjami nadrzędnymi.

02

Jakość oprogramowania

Testy jednostkowe w C, CMake, Git, analiza błędów i utrzymywanie kodu możliwego do dalszego rozwoju.

03

Dokumentacja techniczna

Praca z dokumentacją producentów oraz opracowywanie dokumentacji oprogramowania, w tym materiałów przygotowywanych zgodnie z wymaganiami ISO.

04

Diagnostyka sprzętowa

Multimetr, oscyloskop i analizator stanów logicznych podczas uruchamiania komunikacji i rozwiązywania problemów integracyjnych.

05

Efektywne wykorzystanie AI

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

Narzędzia pogrupowane według ich roli w systemie.

01

Embedded

C, C++, STM32 HAL, UART, SPI, I2C, CAN, CMake, testy jednostkowe

02

Python i desktop

Python, Qt, PySide, aplikacje diagnostyczne i narzędzia serwisowe

03

Web

FastAPI, Flask, JavaScript, TypeScript, React, Next.js, responsywne UI

04

Komunikacja

CAN, TCP, UDP, WebSocket, porty szeregowe, telemetria i streaming obrazu

05

Systemy

Linux, Raspberry Pi, Git, Docker, GSM, GNSS/RTK

06

Dane i dodatkowe

PostgreSQL, MySQL, Lua, FiveM, ESX i NUI

KWALIFIKACJE

Wykształcenie, język i przygotowanie zawodowe.

W TRAKCIE

STUDIA

Bezpieczeństwo wewnętrzne

Specjalizacja: cyberbezpieczeństwo. Rozwijam wiedzę dotyczącą bezpieczeństwa informacji, analizy ryzyka i ochrony systemów.

01

INF.02 — kwalifikacja zawodowa.

02

INF.03 — kwalifikacja zawodowa.

03

Język angielski — poziom C1.

04

BOWWE — praktyki zawodowe.

05

C3 NET — praktyki zawodowe.

WSPÓŁPRACA

Nie ograniczam się do jednej kategorii oprogramowania.

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.

Embedded i urządzenia Backend Python Web na telefon i komputer Integracje i komunikacja

KONTAKT

Porozmawiajmy o projekcie.

Najlepiej odnajduję się w projektach łączących software, urządzenia, komunikację i czytelny interfejs użytkownika.