EH-Core Teensy
Zaawansowany translator magistrali CAN dla pojazdów PSA (Peugeot / Citroën / DS). Tłumaczy protokoły AEE2004 ↔ AEE2010/EV, umożliwiając montaż nowoczesnych jednostek multimedialnych (NAC) w starszych platformach.
Cel projektu
CAN Translator AEE2004 ↔ AEE2010/EV
Projekt EH-Core Teensy (Teensy PSA DeSilve CAN Translator) to
zaawansowany gateway CAN, który umożliwia
zamontowanie nowoczesnych jednostek
multimedialnych NAC/SMEG
(protokół CAN2010/EV) w starszych pojazdach PSA
wyposażonych w magistralę CAN2004.
Translator pracuje jako most dwukierunkowy — tłumaczy ramki CAN
w czasie rzeczywistym, zachowując pełną funkcjonalność:
klimatyzację, ESP,
cruise control, wyświetlacz klastra (Cirocco)
oraz obsługę kierownicy
wielofunkcyjnej COMEVO/COM2020.
Timeline — od Arduino do Teensy
Ewolucja projektu na przestrzeni lat
Funkcje systemu
Kompletny zestaw funkcji CAN gateway
Sprzęt
Specyfikacja techniczna komponentów
| Komponent | Specyfikacja |
|---|---|
| Teensy 4.1 | ARM Cortex-M7, 600 MHz, 1 MB RAM, 8 MB Flash, 3× natywne CAN (FlexCAN_T4) |
| ILI9488 | 480×320 px, SPI, 16-bit color, wyświetlacz dotykowy TFT |
| XPT2046 | Touchscreen controller, SPI, kalibracja dotykowa |
| MCP2515 | Opcjonalnie — CAN3 przez SPI (dla COM/COMEVO, jeśli brak natywnego) |
| ESP32-WROOM | WiFi + Bluetooth, UART (Serial5: TX5=pin 20, RX5=pin 21) |
| ESP32-S3 | WiFi + BT, UART (Serial7: TX7=pin 28, RX7=pin 29) — opcjonalny drugi moduł |
| SD Card | FAT32, logger ramek CAN, format CSV |
| Transceivery CAN | TJA1050 / MCP2551 — konwersja sygnałów CAN_H / CAN_L |
| Zasilanie | 12V → 5V (buck converter), stabilne zasilanie z instalacji samochodu |
Wyświetlacz — ewolucja UI
Od LCD 16×2 do ILI9488 480×320 z touchscreen
Wyświetlacz przeszedł ogromną ewolucję: od prostego LCD 16×2, przez ILI9341 (320×240), aż do obecnego ILI9488 (480×320) z touchscreenem XPT2046. Interfejs wykorzystuje differential rendering — odświeżane są tylko zmienione piksele, co zapewnia płynność bez migotania.
if (newValue != oldValue) {
tft.fillRect(x, y, w, h, ILI9488_BLACK);
tft.setCursor(x, y);
tft.print(newValue);
oldValue = newValue;
}
Modułowość — Refactoring
Od monolitu 2400 linii do 7 modułów
Plik display.cpp rozrósł się do ~2400 linii — nawigacja i maintenance stały się koszmarem. Rozwiązanie: podział na 7 specjalizowanych modułów , z których każdy odpowiada za jeden ekran. Główny plik display.cpp został sprowadzony do roli routera — inicjalizuje wyświetlacz i deleguje rysowanie do odpowiedniego modułu.
#include <FlexCAN_T4.h>
#include <EEPROM.h>
#include "display.h"
#include "sd_logger.h"
#include "esp32_manager.h"
// Teensy PSA DeSilve CAN Translator v.2.1.2
// Professional CAN Gateway for PSA Vehicles
ESP32 — WiFi, Bluetooth, CAN4
ESP32-WROOM / ESP32-S3 — komunikacja UART z Teensy
Moduł esp32_manager obsługuje do 2 modułów ESP32 podłączonych przez UART. Każdy ESP32 może pracować w trybie Bluetooth lub WiFi (nie można mieć 2× BT lub 2× WiFi jednocześnie). ESP32 dodaje również CAN4 — czwartą magistralę CAN dla dodatkowej komunikacji.
| ESP32 | Połączenie |
|---|---|
| ESP32 #1 (WROOM) | Serial5 — TX5=pin 20, RX5=pin 21, 115200 baud |
| ESP32 #2 (S3) | Serial7 — TX7=pin 28, RX7=pin 29, 115200 baud |
| EEPROM storage | Adresy 200-332 (133 bajtów) — konfiguracja, tryb, SSID, hasło |
Plany przyszłości
Co jeszcze nadchodzi w EH-Core Teensy
- 3× natywne CAN (FlexCAN_T4) — migracja z Arduino/MCP2515
- Wyświetlacz ILI9488 z touchscreen (differential rendering)
- Logger CAN na kartę SD (CSV, FAT32)
- Sniffer CAN (hash map, auto-scroll, filtrowanie)
- Menu konfiguracyjne z zabezpieczeniem PIN
- Modułowy refactoring — display.cpp → 7 modułów
- ESP32 — WiFi + Bluetooth + CAN4 (w trakcie)
- Anti-Echo Cache (MODE_TAP_IN — deduplikacja ramek)
- Panel WWW — przeglądanie danych CAN w przeglądarce
- Zdalna konfiguracja przez WiFi
- OTA updates — aktualizacja firmware przez WiFi
- Zaawansowana diagnostyka — kody błędów, odczyt ECU
- Integracja z Event Horizon (EH-Core)
- Cloud logging — zdalne przechowywanie logów
Projekt w liczbach
Fakty i statystyki EH-Core Teensy
Galeria projektu
Zdjęcia, screenshoty i schematy
Galeria zostanie uzupełniona o zdjęcia i screenshoty z rzeczywistego montażu.
Download
Firmware, dokumentacja i źródła