Przejdź do głównej zawartości

3 posty z tagiem "Embedded"

Systemy wbudowane, mikrokontrolery i programowanie niskopoziomowe.

Wyświetl wszystkie tagi

ESP32 CYD (ESP32-2432S028R): ST7789 zamiast ILI9341 — jak rozpoznać sterownik ekranu

· 11 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Mam dwie płytki ESP32-2432S028R, popularnie „Cheap Yellow Display”. Z przodu wyglądają tak samo, ale ta z dwoma gniazdami USB ma pod szkłem inny kontroler ekranu: ST7789, a nie ILI9341. Konfiguracja pierwszej płytki dała na drugiej zamienione kolory, a sterownik ILI9342_DRIVER dał obraz, który „działał”, tylko był sprany. Łatałem gammę poprawkami z forów, a przyczynę pokazał dopiero odczyt rejestrów ID: spike na mniej niż 100 linii kodu. Poniżej cała droga, surowe bajty z odczytu i konfiguracja, która działa bez łatek.

Project Reboot: cztery magistrale, jeden robot i 101 zł różnicy między pakietami

· 7 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Audyt bezpieczeństwa urządzenia IoT zwykle kończy się tam, gdzie zaczyna się laminat płytki — na warstwie firmware'u, bo nikt w zespole nie umie podłączyć się do magistrali. Project Reboot to komercyjny target szkoleniowy: robot z celowo zaimplementowanymi podatnościami na czterech interfejsach (UART, I²C, SPI, BLE), sprzedawany przez Lab401 w dwóch wariantach — 452 zł za samo urządzenie i 553 zł z kompletem narzędzi. Ta różnica 101 zł jest w tym zestawie najciekawszą liczbą i zaraz wyjaśnię dlaczego. Poniżej: co realnie obejmuje program szkoleniowy, jaki sprzęt jest do niego potrzebny i w którym miejscu ten target się kończy.

Optymalizacja wydajności w narzędziach Cybersecurity – mój wkład w projekt ESP32Marauder

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

W ramach wsparcia projektu open-source ESP32Marauder zająłem się analizą i przebudową mechanizmu zarządzania ustawieniami urządzenia. Choć z pozoru był to prosty element systemu, jego dotychczasowa implementacja skrywała poważny dług technologiczny, który negatywnie wpływał na działanie całego narzędzia. Postanowiłem to zmienić.