Bluetooth-аудио для автомобилей GM/Opel на базе ESP32 с поддержкой штатных магнитол, дисплеев и MS-CAN.
- https://github.com/PNKP237/EHU32 — оригинальный проект EHU32: Bluetooth A2DP, работа с MS-CAN и вывод информации на штатный дисплей.
- https://github.com/BxnnyG/EHU32 — развитие проекта с документацией по CAN, диагностике и установке.
- https://github.com/WinD52/EHU32 — текущая версия проекта: переход на Arduino Core 3.x / ESP-IDF 5.x, изменения в аудиотракте и CAN, транслитерация кириллицы, автоматическое подключение Bluetooth и другие исправления.
- 🎵 Bluetooth A2DP: воспроизведение музыки со смартфона через внешний I2S ЦАП PCM5102A.
- 🔊 Звук: исправлены проблемы с уровнем сигнала, перегрузом и хрипами, которые были в оригинальной версии.
- 🖥️ Дисплей: отображение исполнителя, названия трека и альбома на GID/CID в режиме AUX. При переключении на радио или CD управление дисплеем возвращается магнитоле.
- 🔤 Кириллица: русские названия треков транслитерируются в латиницу.
- 🎛️ Управление: Play/Pause и переключение треков с кнопок руля и магнитолы. Кнопка
OKиспользуется для переключения экранов. Для автомобилей с UHP4 действие зависит от длительности нажатия. - 📊 Данные автомобиля: отображение скорости, оборотов двигателя, температуры охлаждающей жидкости и напряжения бортовой сети.
🅿️ Приглушение при заднем ходе: при включении задней передачи музыка автоматически становится тише, но не останавливается.- 🌙 Deep Sleep: плата переходит в спящий режим после выключения автомобиля и просыпается при появлении активности на CAN.
- 📡 OTA: обновление прошивки по Wi-Fi с помощью точки доступа, включаемой кнопкой 8 на магнитоле.
Также исправлена проблема с автоматическим подключением некоторых телефонов после первого сопряжения и ряд ошибок в работе с CAN.
- Микроконтроллер: ESP32-WROOM-32 (ESP32-D0WD-V3, 4 MB Flash, без PSRAM).
- ЦАП: PCM5102A. I2S:
BCK=26,WS=25,DATA=22,Mute=23,Enable=27. - CAN-трансивер: MCP2551 (5 В) или SN65HVD230 (3.3 В),
TX=5,RX=4. - Подключение к авто: Quadlock магнитолы (9/10 CAN, 12 GND, 15 +12V, 2/7/8 AUX) либо диагностический разъём OBD-II.
Подробная схема подключения и варианты установки находятся в docs/.
| Документ | Содержание |
|---|---|
🧰 docs/hardware.md |
Компоненты, распиновка ESP32, PCM5102A, CAN-трансиверы и питание. |
🚗 docs/radios-install.md |
Установка с CD30/MP3, CD40 USB, CD70 Navi, DVD90, CDC40 Opera и подключение через OBD-II. |
💻 docs/compilation.md |
Сборка и прошивка через VS Code / PlatformIO, OTA и прошивка через USB-OTG. |
🛠️ docs/troubleshooting.md |
Типовые проблемы, наводки, земляные петли, ESP32 и дисплеи BID/GID. |
- Установите VS Code и PlatformIO IDE.
- Откройте папку проекта.
- При необходимости укажите COM-порт в
platformio.ini. - Нажмите Upload в PlatformIO.
Схему подключения и порядок установки смотрите в docs/.
- PNKP237 — оригинальный проект EHU32.
- BxnnyG — документация и развитие проекта.
- JJToB — база сообщений Opel MS-CAN.
- pschatzmann — ESP32-A2DP.
- NexTPL — определение заднего хода по MS-CAN.
Проект предоставляется «как есть», без каких-либо гарантий. Вы несёте ответственность за любые действия с проводкой и электроникой автомобиля. Используйте на свой страх и риск.
Лицензия: MIT License

