Introduction: ESP8266 NTSC Analog TV Broadcast on Channel 3

About: hardware and software, Hardware like Arduino board, Phase locked loop circuit, and C++ programming language, C# programming language

I did manage to broadcast NTSC analog TV on channel 3 on ESP8266 is WIFI_MCU

I got the code from GitHub cnlohr/channel3 I did modify the code to work in Arduino

I program everything using the Visual Studio Code IDE platform IO

I got a TV tuner from an old TV I did program the PLL inside the TV tuner by using Arduino nano

Credit for CNLohr from GitHub he did the analog TV broadcast channel 3 on ESP8266

Supplies

  1. ESP8266 WIFI_MCU
  2. TV tuner TDA6508
  3. Monolithic IC MM1630 Broadband video switch
  4. AV2HDMI converter
  5. VGA monitor
  6. Samsung remote control
  7. 2 IR receivers from an old TV
  8. RCA cable
  9. HDMI to VGA cable

Step 1: Programming the TV Tuner

I did program the PLL inside the TV tuner and the broadband video switch by using Arduino nano throw I2C

the TV tuner has a three-band mixer/oscillator and PLL for the terrestrial tuner

what is good about using a TV tuner instead of using an old CRT TV is that I can increment the programmable divider by 1 which gives a clear picture, the video and audio come from the tuner, I used the MM1630 video switch to amplify

the video coming from the tuner because the video format coming from the tuner is CVBS format and it's a weak signal.

I convert the CVBS to HDMI, I did use an AV2HDMI converter I get HDMI to VGA cable connected to the VGA monitor.

I did explain the phase-locked-loop in great detail in another Instructables project.


Step 2: Programming the ESP8266

I got the code from GitHub cnlohr/channel3 I got what I want only from the code, and I did modify the code to work in Arduino.

I used visual studio code IDE and platformIO to code everything, the platformIO is so powerful it helps me to get everything right if I used Arduino IDE I will give up on the first try, the visual studio code IDE has a C/C++ IntelliSense, debugging, and code browsing and UI Themes for C/C++ extension, which helps a lot to get the code right.

connect a small wire to GPIO3 RX acts as an antenna and remote IR receiver to GPIO 0.

To start a project in platformIO open the project wizard name your project and select your board and framework which is Arduino framework.

make sure all the code is in the platformIO packages framework-arduinoespressif8266 libraries folder.

I did one example and I used remoter control to scroll throw the screen demos.

all the modified code is in this link

https://github.com/banoubbanoub/ESP8266-NTSC-analog-TV-broadcast-on-channel3

Step 3: Final Product

I am working on a similar project, like the picture above to broadcast a real-time clock, when I finished the project and make sure nothing crash I will upload the code for the new project.

https://youtu.be/S3fHKhagah8

https://www.youtube.com/watch?v=-sY-EBGBo98