Признаться, когда я читал статью об этом проекте на Hackaday, не раз посмотрел на календарь — уж не первое апреля ли?
Автор проекта, Чарльз Лор, выступающий под ником CNLohr на Github, взял обычный трёхдолларовый модуль ESP8266, который многие из нас используют для «Умного дома» и прочих IoT поделок, и разогнал его. Он заметил, что при этом I2C на модуле остаётся работоспособным и прекрасно работает на частоте 80 мегагерц. Автор вспомнил, что эта частота близка к частотам аналогового телевидения и, вспомнив Найквиста (Котельникова) смог заставить ESP8266 выдать сигнал на частоте около 60 мегагерц — частоте третьего канала аналогового ТВ.
Ему осталось только припаять к «ноге» модуля длинный провод, который послужил передающей антенной и вспомнить устройство видеостандарта NTSC. Впрочем, видео — лучше тысячи слов:
Как вы можете увидеть в ролике, процессору в ESP8266 оказалось по плечу не только динамически генерировать 3D-демосцены, но и поддерживать при этом работу веб-сервера и WiFi. Только некоторые операции с WiFi приводили к незначительным «затыкам» картинки.
Чтобы повторить опыт CNLohr, достаточно припаять к RX вашей ESP8266 провод и взять код с GitHub на github.com/cnlohr/channel3 Убедитесь только, что ваш телевизор «дружит» с североамериканским ТВ-стандартом NTSC.
P.S. Чуть позже CNLohr заставил ESP8266 транслировать на телевизор цветную картинку! Для этого ему понадобилось выдавать с помощью контроллера сигнал на двух частотах — 61,25 МГц и 65,2 МГц — одновременно. То, как ему это удалось, имея только 80 МГц на микроконтроллере — отдельный и совершенно замечательный хак, который автор подробно объясняет:
Если вы после просмотра этих видео не сняли шляпу и не преисполнились глубочайшим уважением к хакерству заоблачной крутизны — я прямо не знаю, что с вами делать.
Автор: bougakov