Начну издалека. Ровно год назад ко мне случайно попала автомагнитола Volkswagen Premium 7. Не пропадать же добру — подумал я — и решил реверс‑инжинирить её дисплей.

Спустя много попыток, изучений новых для меня инструментов и способов анализа сигналов — удалось вывести на её дисплей своё изображение. В районе лета мне пришла идея, что с этим всем сделать — часы + метеостанция + монитор ресурсов пк + драйвер подсветки стола.

На этом этапе мне пришла идея: заводская подсветка была одноцветной (синей), так ещё и крайне тусклой. Надо ставить что‑то своё. Под руку попалась WS2812 адресная светодиодная лента — яркая и RGB.

Устройство в режиме ожидания: видны ESP8266 и DHT22. Оставлена оригинальная плата передней панели магнитолы, но дисплей приподнят и стоит под углом, держась на каркасе из моножильного медного провода.
Устройство в режиме ожидания: видны ESP8266 и DHT22. Оставлена оригинальная плата передней панели магнитолы, но дисплей приподнят и стоит под углом, держась на каркасе из моножильного медного провода.
Устройство, когда ПК включен: цветом подсветки наглядно отображается температура ЦП и ГП.
Устройство, когда ПК включен: цветом подсветки наглядно отображается температура ЦП и ГП.

Результат превзошёл все мои ожидания: подсветка получилось яркой и необычной. Её цветом можно было наглядно выводить дополнительную информацию. Об этом всём можно и наверное нужно писать отдельную статью, однако код под это всё я писал под себя и свои потребности, и выкладывать такое я пока-что не готов. Да и Premium 7 магнитол в природе меньше и они дороже, чем RCD310.

Ах да, статья же про RCD310. В этом году я решил продолжить традицию и купил магнитолу Volkswagen RCD310. На Авито есть десятки таких магнитол за 500 рублей, при желании можно найти ещё дешевле. Есть 2 версии дисплеев этой магнитолы - с обычным дисплеем (FSTN Positive, чёрный текст на ярком фоне) и с инвертированным (FSTN Negative, яркий текст на чёрном фоне). Отличить их можно по фотографиям: обычные дисплеи - серо-жёлтого цвета, инвертированные - чёрного. На обычные ЖК дисплеи я уже насмотрелся, так что захотел попробовать инвертированный, особенно с моей RGB подсветкой.

В прошлый раз я изобретал интересный, но переусложнённый велосипед на советских сдвиговых регистрах, чтобы «перехватить» быстрый сигнал. В этот раз я подготовился лучше - купил... нет, не логический анализатор, а микроконтроллер RP2040. Оказалось, что под него существует отличный проект логического анализатора, способный захватывать до 24 каналов с частотой до 100 MSPS. Самый дешёвый логический анализатор, что я нашёл, стоит в 3 раза дороже RP2040, и способен лишь на 8 каналов и 24 MSPS.

Ну так вот, разобрал магнитолу, запитал от 12 вольт, потыкал мультиметром и осциллографом в контакты разъема передней панели, записал всю нужную информацию о напряжениях, и отдельно выделил те контакты, на которых было замечено что-либо похожее на передачу информации. К таким контактам, а их оказалось 6, я припаял RP2040, и начал логически анализировать.

Программа логического анализатора. Имеет встроенные декодеры интерфейсов, в том числе SPI.
Программа логического анализатора. Имеет встроенные декодеры интерфейсов, в том числе SPI.

Ещё до этого всего я заметил, что от дисплея к плате уходит 2 шлейфа - скорее всего 2 отдельных контроллера. Так и оказалось: на каждый контроллер есть свой CS и DC. Данные отправляются по очереди то в один контроллер, то в другой. В остальном вполне обычный протокол общения, похожий на дисплей в Premium 7 и даже на дисплей недавнего POS-терминала. Оно и не удивительно: как минимум 2 из 3 дисплеев производит Varitronix.

Ещё во время прошлого реверс-инжиниринга Premium 7, я понял, что в Volkswagen не работают перфекционисты, иначе я не знаю, как объяснить необычное разрешение 212x58 пикселей того дисплея. Диагональ видимой области там, к слову, около 5.5 дюймов. Здесь же, в RCD 310, я практически до последнего не знал разрешение дисплея. Я его узнал методом проб и ошибок, когда уже успешно вывел тестовую картинку на её дисплей. Тогда же я узнал достаточно странный порядок секторов дисплея, и странное поведение двух верхних и двух нижних полосок пикселей: ими нельзя управлять отдельно (можно включить/выключить только целую область из 2 вертикальных пикселей). Возможно это можно как-то исправить особыми командами, но я в этом сомневаюсь, и убедившись что проблема не в моём коде - забыл про эти линии. Так вот, инженеры Volkswagen не огорчили и в этот раз: оказалось что в RCD310 стоит дисплей с разрешением 316х55 пикселей (316х59 с учётом этих странных линий) и диагональю 7.2 дюйма. Не смотря на большее разрешение - дисплей заметно уже, чем в Premium 7, однако диагональ больше из-за сильно возросшей ширины.

На дисплей от основной платы приходит 3 напряжения - 3.3, 12 и 14.5 вольт, однако для работы самой матрицы нужно только 3.3 и 14.5. 12 нужны для подсветки, которую я всё равно не собираюсь использовать. Подсветка здесь, кстати, уже сильно лучше, чем в Premium 7: белая и достаточно яркая. Можно остановится на её использовании, но это не мой путь. Мой путь - приклеить на термоклей кусок из 11 светодиодов WS2812 светодиодной ленты. У меня была 60 светодиодов на метр, и оно отлично работало для Premium 7, но здесь, как-будто, хочется больше светодиодов и больше яркости. Сейчас яркость просто средняя, может даже заводские белые светодиоды были ярче. Ленты 96 или 144 светодиода на метр подойдут лучше. В оригинале тут было 16 светодиодов подсветки.

Также приклеил на двусторонний скотч DC-DC повышающий стабилизатор на MT3608 - он делает из 3.3 вольт нужные 14.5 вольт. Кстати, регулируя это напряжение можно регулировать контрастность - после ручного регулирования пришёл туда-же - 14.5 вольт.

Первый запуск без оригинальной платы магнитолы. На подсветке - тестовый "радужный" градиент.
Первый запуск без оригинальной платы магнитолы. На подсветке - тестовый "радужный" градиент.

Здесь можно было остановится, или даже подключить все оригинальные кнопки и энкодеры к микроконтроллеру и использовать это всё вместе. Но это тоже не мой путь — слишком уж большая эта передняя панель в сборе, многовато там кнопок для моих проектов, и мало места выделено под дисплей. Я бы мог оставить оригинальную плату как есть, и просто поставить дисплей под углом, как в моём проекте на Premium 7, но я пошёл дальше: обрезал лишнюю плату. Лишняя она потому, что на ней, по сути, только немного обвязки кнопок и транзисторы для светодиодов подсветки. Ни то, ни другое мне не нужно. Поэтому просто отломал лишние куски платы снизу и сверху, а потом обработал напильником. При этом всём выделяется стекловолоконная пыль, вредная для человека, так что это лучше делать на улице, смачивая всё водой, в защитных очках и респираторе. Или можно окунуть всю плату и инструменты под воду. Или можно не резать плату.

Я почему‑то когда резал плату — совсем не подумал о дорожках на ней. Не смотря на то, что все важные для дисплея компоненты находятся под ним — дорожки питания частично проходят за его пределами. Понял я это только когда отрезал и выбросил лишние куски платы. Пришлось восстановить несколько дорожек в схеме генерации разных напряжений для ЖК матрицы.

Обрезанная плата и RP2040-Zero снизу.
Обрезанная плата и RP2040-Zero снизу.

Здесь стоит поговорить, собственно, о подключении этого дисплея к МК: плата даёт доступ к DC и RST каждого контроллера, однако их можно объединить между собой. Итого получается 6 GPIO микроконтроллера нужно, чтобы управлять обоими контроллерами. Ну и ещё один на управление адресной лентой.

DC (слева) и RST (справа) для второго контроллера можно найти в районе микросхемы HC4066 в левой части платы, и подключить к DC/RST первого контроллера:

Простите за термосопли, не сфоткал до их появления. А появились они чтобы случайно не вырвать площадки на плате и ножки микросхемы. DC подпаивать к самой левой ножке микросхемы, RST - к круглой контактной площадке чуть правее микросхемы.
Простите за термосопли, не сфоткал до их появления. А появились они чтобы случайно не вырвать площадки на плате и ножки микросхемы. DC подпаивать к самой левой ножке микросхемы, RST - к круглой контактной площадке чуть правее микросхемы.

Основной блок контактов управления - чуть правее двух микросхем HC14. Контакты эти - 6 круглых контактных площадок, вполне удобных для пайки.

Проводов тут достаточно много, особенно после того, как я восстановил потерянные дорожки на плате. Однако ряд из 6 белых проводов, приходящих справа, отчётливо виден. Сюда же я подпаял DC/RST второго контроллера.
Проводов тут достаточно много, особенно после того, как я восстановил потерянные дорожки на плате. Однако ряд из 6 белых проводов, приходящих справа, отчётливо виден. Сюда же я подпаял DC/RST второго контроллера.

Назначение этих 6 контактных площадок, сверху вниз:
CS2
RST
DC
CLK
DATA (MOSI)
CS1

Код в этот раз я писал более универсальным образом, только digitalWrite, его скорости в целом хватает, при желании можно его усовершенствовать под конкретную платформу. Единственное ограничение - весь буфер кадра хранятся в оперативной памяти, а это чуть более 2 кб, так что всякие Uno/Nano такое не осилят. Но всякие ESP/STM/RP - вполне.
Код выложил на Github.

Немного фоток результата:

Неплохо выглядит инвертированное изображение: выглядит почти как FSTN Positive. Немного видно неравномерность подсветки.
Неплохо выглядит инвертированное изображение: выглядит почти как FSTN Positive. Немного видно неравномерность подсветки.
Красиво выглядит одноцветная подсветка, например на красной, мне кажется, контрастность выше всего.
Красиво выглядит одноцветная подсветка, например на красной, мне кажется, контрастность выше всего.
Немного ужатый интерфейс монитора ресурсов ПК с оранжевой подсветкой. Возможно когда-нибудь сделаю вторую версию этого монитора на этом дисплее, и выложу код в открытый доступ.
Немного ужатый интерфейс монитора ресурсов ПК с оранжевой подсветкой. Возможно когда-нибудь сделаю вторую версию этого монитора на этом дисплее, и выложу код в открытый доступ.

Кроме дисплея, из магнитолы можно использовать разве что пару энкодеров, конденсаторы и SMD светодиоды подсветки. Ещё возможно можно как-то использовать блок чтения CD дисков и микросхему аудио усилителя, но этим я не занимался.

Комментарии (3)


  1. Nexoic
    11.01.2026 22:32

    А можно в сток магнитоле с переделкой сделать чтоб выводить время разгона показатели с двигателя и тд? Ну и функционал магнитолы оставить, но чтоб можно было переключить в режим продвинутого бортового компьютера ?

    С такой же классной rgb подсветкой ?


    1. Assket
      11.01.2026 22:32

      Можно, а зачем? ©


  1. Delinkvent
    11.01.2026 22:32

    А можно сделать из этого экрана SLA принтер?