Orientacyjny Budżet: ~151 - 400 PLN

Tier 2: Wi-Fi & CRSF Multi-Link (ESP32 Racer, PCA9685 Hub & MicroLink VPN)

Krok 0: bezpieczny pierwszy test

Nie uzbrajaj ani nie uruchamiaj napędu przed przejściem tej listy. Zachowanie failsafe zależy od firmware, odbiornika, ESC i konfiguracji zestawu.

  • Unieś koła nad podłożem albo odłącz napęd.
  • Sprawdź neutralne kanały, kierunek skrętu i limit gazu.
  • Przetestuj utratę łącza, odłączenie kontrolera i E-stop.
  • Zweryfikuj failsafe odbiornika oraz ESC zgodnie z ich instrukcjami.

Niezależne sterowanie pojazdem przez Wi-Fi, ESP-NOW (1-2 ms) lub MicroLink Tailscale VPN (Internet / LTE) z protokołem CRSF, podglądem FPV i sterownikiem PCA9685.

Oficjalny Podręcznik PDF (Wydanie Październik 2026)

Kompletny opis sprzętu, pinouty, warianty firmware, kalibracja i rozwiązywanie problemów.

Zarys Techniczny i Opis Działania

Aktualizacje IMU przygotowano dla ESP32V2autocalibPCA: telemetria do 40 Hz z jednostkami, identyfikatorem urządzenia, czasem i numerem próbki. Błąd I2C nie tworzy zastępczych pomiarów. Orientacja i surowe przyspieszenie oraz żyroskop są rozdzielone. Kod został skompilowany i przetestowany; aktualizacja wymaga jeszcze weryfikacji na sprzęcie. ESP32V4_CRSF_MultiLink jest osobnym wariantem — jego ustawień transportu nie należy przenosić do V2.

Kluczowe Elementy Architektury

  • ESP32V2autocalibPCA: użyj tego szkicu dla aktualizacji IMU Tier 2. Wariant V4 CRSF Multi-Link ma osobną konfigurację i nie został objęty tym testem sprzętowym.
  • Multi-Link Transports: Dostępne 4 tryby transmisji (#define ACTIVE_TRANSPORT) — ESP-NOW (1-2 ms latencji bez routera Wi-Fi), Wi-Fi UDP, Hardware Serial (USB/LoRa) oraz MicroLink VPN (Tailscale P2P Mesh VPN dla jazdy przez Internet / LTE bez publicznego IP).
  • Świeżość IMU: oceniaj częstotliwość nowych próbek czujnika, a nie liczbę wszystkich pakietów łącza. Brak odczytu nie oznacza zerowego ruchu ani poprawnej próbki 1g.
  • FreeRTOS Dual-Core & Fail-Safe: Izolacja pętli radiowej na Rdzeniu 0 od pętli sterowania PWM 200 Hz na Rdzeniu 1. W przypadku braku pakietów przez 150 ms lub sygnału DISARM (kanał 5 AUX1), gaz i skręt natychmiast wracają do neutrum 1500 µs.
  • Szyna I2C Fast Mode 400 kHz (No Resistor): Bezpośrednie połączenie linii SDA (GPIO 13) i SCL (GPIO 14) z PCA9685 i czujnikiem IMU z automatycznym restartem szyny po zakłóceniach EMI od silnika.
  • Auto-kalibracja Kwarcu: Sprzętowy pomiar rzeczywistej częstotliwości kwarcu PCA9685 (zworka PWM 15 do GPIO 12) eliminujący odchyłki czasowe impulsów serw.

Tabela Części i Listy Zakupów (BOM)

KomponentRola w ArchitekturzeSzacowany Koszt
ESP32 Dev Module / ESP32-WROVER / T-SIMCAM S3Główny mikrokontroler pokładowy z obsługą CRSF Multi-Link i opcjonalnej kamery~25 - 65 PLN
Sterownik PWM PCA9685 (16-ch I2C)Generator sygnałów PWM 50-200Hz dla serw i regulatora ESC (Adres I2C 0x40)~20 - 30 PLN
Czujnik IMU (MPU6050 / MPU9250)Pomiar kątów przechyłu i przeciążeń pod Force Feedback na kierownicy (I2C 0x68)~12 - 25 PLN
Moduł GPS NMEA (np. Beitian BN-180 / NEO-6M)Pozycjonowanie satelitarne, prędkość rzeczywista km/h i telemetria outdoor (UART)~35 - 55 PLN
Przetwornica UBEC 5V/3AStabilne zasilanie logiki mikrokontrolera i szyny zasilania serw (V+)~20 PLN

CRSF & Multi-Link Hub

Sterowanie modelarskim protokołem CRSF przez ESP-NOW (1-2 ms), Wi-Fi, port szeregowy lub VPN.

Zdalna Jazda przez 4G/LTE (MicroLink VPN)

Wbudowana obsługa Tailscale VPN pozwala kierować pojazdem przez Internet z dowolnego miejsca bez publicznego IP.

Pełna Telemetria Pokładowa

Odsyła do stacji GCS telemetrię IMU (Force Feedback), GPS (prędkość i pozycja), baterię i RSSI.

Galeria Schematów i Zdjęć Sprzętowych

Widok podwozia RC Crawlera z kompletem elektroniki (ESP32, PCA9685, ESC, UBEC 5V i LiPo)

Widok podwozia RC Crawlera z kompletem elektroniki (ESP32, PCA9685, ESC, UBEC 5V i LiPo)

Powiększ
Schemat wyprowadzeń ESP32-WROVER-DEV z dedykowanymi pinami I2C (GPIO 13 SDA, GPIO 14 SCL)

Schemat wyprowadzeń ESP32-WROVER-DEV z dedykowanymi pinami I2C (GPIO 13 SDA, GPIO 14 SCL)

Powiększ
Zbliżenie na bezpośrednie podłączenie przewodów magistrali I2C (SDA/SCL) ze sterownikiem PCA9685

Zbliżenie na bezpośrednie podłączenie przewodów magistrali I2C (SDA/SCL) ze sterownikiem PCA9685

Powiększ
Zworka autokalibracji kwarcu PCA9685 (wyjście PWM 15 połączone z pinem GPIO 12)

Zworka autokalibracji kwarcu PCA9685 (wyjście PWM 15 połączone z pinem GPIO 12)

Powiększ
Montaż obiektywu kamery OV2640 na przodzie podwozia dla podglądu FPV

Montaż obiektywu kamery OV2640 na przodzie podwozia dla podglądu FPV

Powiększ
Podłączenie przetwornicy UBEC 5V/3A zasilającej zacisk V+ serwomechanizmów

Podłączenie przetwornicy UBEC 5V/3A zasilającej zacisk V+ serwomechanizmów

Powiększ
Wybór definicji płytki (#define BOARD_WROVER_DEV) w kodzie źródłowym

Wybór definicji płytki (#define BOARD_WROVER_DEV) w kodzie źródłowym

Powiększ
Włączenie obsługi pamięci bufora PSRAM (PSRAM: Enabled) w narzędziach Arduino IDE

Włączenie obsługi pamięci bufora PSRAM (PSRAM: Enabled) w narzędziach Arduino IDE

Powiększ
Konfiguracja adresu IP i portu połączenia bezprzewodowego w stacji RCSIM GCS

Konfiguracja adresu IP i portu połączenia bezprzewodowego w stacji RCSIM GCS

Powiększ
Płynny strumień wideo FPV MJPEG z telemetrią odebrany w stacji GCS

Płynny strumień wideo FPV MJPEG z telemetrią odebrany w stacji GCS

Powiększ

Poradnik Wideo i Demonstracja

Instrukcja Budowy: Tier 2: Wi-Fi & CRSF Multi-Link (ESP32 Racer, PCA9685 Hub & MicroLink VPN)

Instrukcja Budowy: Tier 2: Wi-Fi & CRSF Multi-Link (ESP32 Racer, PCA9685 Hub & MicroLink VPN)

Konfiguracja Arduino IDE, Biblioteki & Wgrywanie

1. Adres Menedżera Płytek (Boards Manager URL)

Wklej poniższy oficjalny adres w: Plik -> Preferencje (Ctrl + ,) -> Dodatkowe adresy URL do menedżera płytek:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Pakiet do zainstalowania:esp32 by Espressif Systems (wersja 2.0.x / 3.x) — Menedżer Płytek (Boards Manager)

2. Wymagane Biblioteki (Menedżer Bibliotek - Ctrl + Shift + I)

Nazwa BibliotekiAutorRola / Zastosowanie
Adafruit PWM Servo Driver LibraryAdafruitSterowanie PCA9685 po I2C dla 16 kanałów serw i ESC
Adafruit BusIOAdafruitWymagana zależność magistrali I2C/SPI dla bibliotek Adafruit
MPU6050_lightrfetickSzybki, nieblokujący odczyt żyroskopu i akcelerometru IMU z filtrem DLPF
TinyGPSPlusMikal HartParsowanie ramek NMEA z modułu GPS (dla prędkości i pozycji)
WiFi, esp_now, WireEspressif (Built-in)Wbudowane w rdzeń ESP32 — obsługa Wi-Fi, ESP-NOW oraz szyny I2C

3. Ustawienia Menu Narzędzia (Tools Menu Settings)

Opcja w NarzędziaWartośćUwagi / Dlaczego tak
Board (Płytka)"ESP32 Dev Module" / "ESP32 Wrover Module"Wybierz ESP32 Dev Module dla zwykłych płytek lub Wrover dla płytek z PSRAM
Partition Scheme"Huge APP (3MB No OTA/1MB SPIFFS)"KRYTYCZNE: Domyślna partycja nie pomieści kodu ze stosem sieciowym i telemetrią
Flash Frequency40MHz (lub 80MHz)Zapewnia stabilną i szybką pracę pamięci SPI Flash
Flash ModeDIO (lub QIO)Standardowy i niezawodny tryb odczytu pamięci Flash
Upload Speed115200 (lub 921600)115200 eliminuje błędy CRC/timeout na programatorach USB-UART
Core Debug LevelNoneWyłącza zbędny narzut diagnostyczny na porcie szeregowym

Ważne Wskazówki Wgrywania & Zabezpieczenia Sprzętowe

  • Wybór Transportu: W pliku `ESP32V4_CRSF_MultiLink.ino` ustaw `#define ACTIVE_TRANSPORT` na `TRANSPORT_ESP_NOW`, `TRANSPORT_UDP`, `TRANSPORT_SERIAL` lub `TRANSPORT_MICROLINK_VPN`.
  • Zdalne sterowanie MicroLink VPN (Tailscale): Jeśli używasz `TRANSPORT_MICROLINK_VPN`, wpisz swój klucz autoryzacyjny `TAILSCALE_AUTH_KEY` oraz adres IP stacji GCS w sieci Tailscale `GCS_TAILSCALE_IP`.
  • Tryb Bootloadera (ESP32-CAM / płytki bez auto-resetu): Przed wgraniem połącz zworką pin GPIO 0 (IO0) do masy GND i wciśnij przycisk RST.
  • Zasilanie Zewnętrzne BEC 5V: ESP32 z aktywnym Wi-Fi/ESP-NOW generuje impulsy do 500mA. Zasilaj układ z zewnętrznego UBEC 5V/2A-3A, unikając słabych linii 3.3V programatora.
  • Wspólna Masa (GND): Wszystkie masy (ESP32 GND, PCA9685 GND, BEC GND, ESC GND, sensory) MUSZĄ być fizycznie spięte razem.

Instrukcja Montażu Krok po Kroku

1

Skonfiguruj Środowisko Arduino IDE

Zainstaluj pakiet płytki `esp32` w Menedżerze Płytek oraz wymagane biblioteki (Adafruit PWM Servo Driver, BusIO, MPU6050_light, TinyGPSPlus).

2

Wybierz firmware ESP32V2autocalibPCA

Otwórz ESP32V2autocalibPCA.ino i ustaw płytkę, sieć oraz piny według tego szkicu. ESP32V4_CRSF_MultiLink.ino to osobny wariant; ACTIVE_TRANSPORT i ustawienia VPN z V4 nie są instrukcją dla V2.

3

Ustaw Narzędzia (Huge APP) i Wgraj Firmware

Wybierz płytkę ESP32 Dev Module lub Wrover, schemat partycji Huge APP (3MB No OTA), Flash Frequency 40MHz i wgraj szkic.

4

Podłącz Magistralę I2C, GPS i Sensory

Podłącz PCA9685 i czujnik IMU do szyny I2C (SDA -> GPIO 13, SCL -> GPIO 14), GPS TX do pinu GPIO 32 (RX1), dzielnik baterii do GPIO 33 oraz zasilanie UBEC 5V ze wspólną masą GND.

5

Połącz i sprawdź próbki IMU

W GCS wybierz Tier 2 (Wi-Fi ESP32), ustaw adres urządzenia i sprawdź jednostki, aktualizację numeru próbki oraz zachowanie po odłączeniu IMU. Do 40 Hz to limit nadawania, nie gwarancja częstotliwości odbioru. Poprawki kodu nie są jeszcze potwierdzone testem na sprzęcie.