Using An ESP32-C3’s RF Hardware For DVB-S2 Video Transmission

Generally the DVB-S and -S2 standards require a satellite somewhere in Earth orbit to provide a signal to receive, but you can also transmit your own DVB-S2 stream with any RF transmitter if you’re so inclined. Courtesy of recent breakthroughs in using the RF hardware of the ESP32 on a raw level, [SP8ESA] has created the ESP32-DATV project using which you can broadcast a DVB-S2 signal using an ESP32-C3.

While a host PC side application handles the heavy lifting of turning the input video signal into a DVB-S(2) compliant signal, it is the ESP32-C3 that prepares the samples for transmission before sending them off to its RF block, with no external hardware needed.

If this brings to mind the idea of using an off-the-shelf DVB-S2 receiver to play back the signal, the frequency range for DVB-S2 is 10.7 – 12.7 GHz, while the ESP32-C3 is limited to roughly 2.4 GHz courtesy of it targeting only 2.4 GHz Wi-Fi and Bluetooth signals.

Using the ESP32 to transmit is already heating up.

Thanks to [ftg] for the tip.

12 thoughts on “Using An ESP32-C3’s RF Hardware For DVB-S2 Video Transmission”

  1. The hackrf outputs power at 10-12 GHz frequencies unintentionally. If you transmit at 5.5 GHz it puts out enough power at 11 GHz to be received by a standard satellite LNB. It’s possible this could do the same thing.

    1. LNBs also downconvert from the Ku band to the L band, which is where the ESP32 just so happens to be able to transmit at. So, if you skip the LNB, plug an antenna directly into a DVB-S2 receiver, and do the frequency calculations correctly, you might be able to pick up something!

    2. If you clip, or otherwise distort, a sine wave you get harmonics of the original frequency. Filter out all but the one you need. Note that this only works for FM and related digital modes as amplitude information is usually lost.

  2. Then how you genrate 10ghz from 2.4ghz ?
    I think we have to up invert c3 2G to 10G or probably amplify it’s harmonic or may be cleaverly we directly feed 2ghz to lnb mixer if stage which is also 2hz perhaps.

  3. Using a BUC, you could easily upconvert the signal from a frequency the ESP32 can transmit on to something in the Ku band for transmission to an actual satellite.

    Or, if you’re lucky enough to live in an area with QO-100 amateur satellite coverage, no up-conversion is required! Just a bunch of amplification.

  4. There’s a small detail missing — the project is apparently meant to transmit the video stream to QO-100 satellite which uses 2.4 GHz uplink and 10.4 GHz downlink frequency for DATV (Digital Amateur Television). Both QO-100 and DATV deserve their own paragraphs. From what I understand, DVB-S2 is used, but the stream parameters are so different that the off-the-shelf tuners might not be able to receive it. Which makes the following sentence is a bit misleading:

    If this brings to mind the idea of using an off-the-shelf DVB-S2 receiver to play back the signal, the frequency range for DVB-S2 is 10.7 – 12.7 GHz, while the ESP32-C3 is limited to roughly 2.4 GHz courtesy of it targeting only 2.4 GHz Wi-Fi and Bluetooth signals.

    Also, while technically correct (the best kind of correct), it might suggest that the DVB-S2 receivers expect the 10.7-12.7 GHz signal instead of the one downconverted by LNB to around 1-2 GHz. Much closer to the the 2.4 GHz, but still not just quite yet.

    1. Yes – omitting to mention that regular consumer DVB-S/S2 receivers are designed to accept 950-2150MHz IF feeds as their input, with the LNB at the dish doing the downconversion from 10.7-11.7GHz is a bit of a drop-off.

    2. Thank you for adding all those crucial details. Not being ‘in the scene’ that wasn’t clear to me at all, but maybe that’s a good reason to pick up a new hobby :)

      It does make it a lot more interesting of a project, for sure.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.