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)
| Komponent | Rola w Architekturze | Szacowany Koszt |
|---|---|---|
| ESP32 Dev Module / ESP32-WROVER / T-SIMCAM S3 | Głó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/3A | Stabilne 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)
Powiększ
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
Powiększ
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
Powiększ
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
Powiększ
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
Powiększ
Płynny strumień wideo FPV MJPEG z telemetrią odebrany w stacji GCS
PowiększPoradnik Wideo i Demonstracja

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.jsonPakiet 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 Biblioteki | Autor | Rola / Zastosowanie |
|---|---|---|
| Adafruit PWM Servo Driver Library | Adafruit | Sterowanie PCA9685 po I2C dla 16 kanałów serw i ESC |
| Adafruit BusIO | Adafruit | Wymagana zależność magistrali I2C/SPI dla bibliotek Adafruit |
| MPU6050_light | rfetick | Szybki, nieblokujący odczyt żyroskopu i akcelerometru IMU z filtrem DLPF |
| TinyGPSPlus | Mikal Hart | Parsowanie ramek NMEA z modułu GPS (dla prędkości i pozycji) |
| WiFi, esp_now, Wire | Espressif (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ędzia | Wartość | 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 Frequency | 40MHz (lub 80MHz) | Zapewnia stabilną i szybką pracę pamięci SPI Flash |
| Flash Mode | DIO (lub QIO) | Standardowy i niezawodny tryb odczytu pamięci Flash |
| Upload Speed | 115200 (lub 921600) | 115200 eliminuje błędy CRC/timeout na programatorach USB-UART |
| Core Debug Level | None | Wyłą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
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).
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.
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.
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.
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.