Broadcasting Analog TV on an ESP8266!


This here is an esp8266. Or rather an ESP-12E
module that houses the ESP8266. A little chip that was designed to do little more than turn
on light bulbs or be in a toaster for the internet of things. There’s one big problem,
though. Espressife gave it way too many peripherals and too much power and made it way too awesome
of a system for it to just be used for internet of things. It’s got peripherals like SPI and
PWM and and ADC. But the most interesting peripheral by far for me has been the I2S
bus that has DMA support, which I’ve used to output to WS2812 LEDs. You can click that
video here. Right now for this video though, I’ve hooked it up to just this wire and here
I have this analog television. So, let’s go plug it on in. Turn it on. And we can see
on the analog television that its outputting. Right now it’s trying to pull an IP address
from my roommate’s router and once it pulls it after negotiating WPA2, it will display
it on the screen. Now, it’s gonna start the demo. Right now I’m showing you it can output
text, broadcasting on channel 3. So, the ESP8266’s got 802.11, it’s got a core it’s got RAM all
these peripherals, I2S with DMA which we can output analog broadcast television on. It’s
got this text mode which is actually running on a framebuffer, which we can use to display
just about anything we want. Why settle for a framebuffer when we can make it double-buffered
and draw all sorts of crazyness? And, we can do a little bit more since we have so much
power left over since we’re overclocking it. We can go display things in 3D. Not just a
few things but a lot of things. And these are static meshes, we can do better. We can
also display dynamic meshes. This is being calculated on the fly on the ESP and displayed
through the framebuffer outputting to the broadcast telvision which is being banged
out the I2S port. While the ESP is updating all this video, it can also serve this webpage
here. Just go refresh it. And uuh, even though it’s outputting all this video and doing all
this complicated stuff it can maintain this websockets connection with this web page.
If you’re curious about more websockets stuff on the ESP, you can click this link right
here. This webpage has the basic stuff like the wifi settings and all of that. But it’s
also got this NTSC tab, which allows us to change the modulation on the ESP in real time.
So we can see how I can click the little button and it changes how the bits being outputted
from the I2S bus are interpreted by the TV there. And, that’s because whenever it’s outputting
these, it’s outputting this down the line. So, this series of ones and zeroes are interepted
by the TV as a black color, a white then a black color, a black then a white, and solid
white and we also need to have a sync because we’re trying to output NTSC. So, if you’re
interested you can check this out on github. Check out these other esp-related videos and
don’t forget to subscribe. Thanks.

100 thoughts on “Broadcasting Analog TV on an ESP8266!

  1. i bought nodemcu for this demo
    i flashed it with bins from https://github.com/cnlohr/channel3 by nodemcu-flasher
    and i see on serial port

    Fatal exception (28):
    epc1=0x401019bf, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000020, depc=0x00000000

    Maybe somebody knows what is it?

  2. hy mr charles can you help me in this broadcasting analog tv? i have all components needs to do that, but i need a kind of tutorial, would you do that??

  3. Would the ESP8266 12e be a good option?
    https://www.youtube.com/watch?v=v_WsS8tNIfM
    Learned about it from here.

  4. Hi thats awesome do you think this NTSC Encoder could be rewritten as GNU Radio Block so it can be used to encode NTSC with many SDR's liek HackRF, LimeSDR; USRP?

    What is GNU Radio: http://gnuradio.org/

  5. this is what these video tutorials are good for…  development forum…  heard people say lunatcs  have genius minds…   have to be a lunatic to entertain sending an Analogue video signal… on a ESP8266.  The genius part …  being …  configuring it to work…   thanks for the Github link…  have to see what the hell you did…

  6. In the Datasheet for ESP12e it says "Theoretically speaking, up to 16 MB memory capacity can be supported". So buy this SPI flash chip 25Q128FV to replace old one from any ESP module. Check google and instructables com to see more info about this chip. Also ESP12e can transmit without an external antenna to up to 300meters.

  7. here you can find an awesome example of how to make two ESP8266 talk with each other:
    http://www.geekstips.com/arduino/communication-between-esp8266-modules-make-them-talk-with-each-other

  8. i want to use this for reading real time values off some sensors and i want to get those values as fast as possible
    can you tell me what is the delay for broadcasting and displaying few numbers, i might use a cheap 7" analog display as a display

  9. am I the only one thinking that this looks like the tech in Alien (1979)?
    visuals, gfx, the feel, it's awesome. nice change to all the crisp clear stuff we have now 🙂

  10. thats just insane…
    and im sitting here, proud of my attempt to recreate a dos terminal on the 8266

    whats next? hacking the thing for bluetooth functionality? the analog circuitry could possible be able to do that.

  11. it's Super nice! i'm trying to modify the source code to make possibility to convert the vertex of obj files and adding all by a txt file into code but I've don't have good results :/

  12. I love the esp8266, but there's so many compile errors on arduino with including libraries, anyone able to help make libraries more compatible?

  13. Allright, challenge for you @CNLohr .. I want to see PONG device where you use two phones to control over wifi each paddle but still play on channel 3 😉

  14. I did see these modules on ebay and wondered if they are good for anything interesting. Thanks for this inspiration.

  15. channel 2 is 54 -60 mhz, channel 3 is 60-66 ntsc, so where does 80 mhz come in on ch 3 ?, to you next txter i too started with a Vic-20, back in the 70's, just reflecting, back to the future.. !! ok will Robinson, i converted my transmitter into a time dilation transfer machine,, Spooky entanglement,,, keep the bugs out !! https://www.scientificamerican.com/article/entangled-photons-quantum-spookiness/

  16. Reminds me of my first time to keyin an Applesoft BASIC 3D computer graphics program to see hidden lined function graphs on TV …. minutes later.

  17. wow, that is sooo cool, time to bring back analog TV with underground channels. I bet the FCC would not like that! lol

  18. hey,
    this looks interesting project
    my question is
    with the help of esp8266 can we receive signals from analog instead of broadcasting the analog signal and display it on a webpage, or save to sd card as a video file or anything similar to it?

  19. I first didn't understand the "White on NTSC is actually when the signal is the lowest." — after a bit of digging, I realized that it's because NTSC uses negative modulation. (https://en.wikipedia.org/wiki/Terrestrial_television_systems#Image_polarity) (http://www.electronicsandcommunications.com/2014/05/positive-and-negative-modulation.html)

  20. How awesome would it be to incorporate this OTA broadcast from an old school NES, SNES, or any other RF module connected game console?! The ultimate hack of any game console to display wirelessly OTA on a tube TV.

  21. Hey man, is there any chance you'd do some kind of tutorial for it? I know it's been years, and I'm sure you're super busy with other projects, but I'm trying to understand flashing these files to the ESP and it seems to be such a steep learning curve… Can't find a starting point. A PM I'd bloody pay for. Just something.

  22. Can you do the ESP8266 composite video output with color video? I very strongly need it to do composite video for an FLCOS display 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © 2019 Explore Mellieha. All rights reserved.