How to control the (BS2)S7VZ6306 tuner

 Posted by:   Posted on:   Updated on:  2017-12-16T17:35:08Z

BS2S7VZ6306 is a satellite STB half-NIM tuner that can be used to build an ADS-B receiver. First learn to control it outside of the STB.

S7VZ6306 is a tuner I found in a Comag SL100 HD satellite receiver. A very useful thing is that the tuner is soldered onto a small board that is plugged into the main receiver board using a connector. So you can take it out easily to replace it or use it in a project. Information contained in this article applies to any satellite tuners that use IX2470 PLL circuit.

The tuner is half-NIM type (without included demodulator - the demodulator IC is on the main board). Although I could find no datasheet of the tuner, the manufacturer has written pin labels on the small PCB where the tuner is soldered. When opening it, I could find an IX2470 integrated circuit. No datasheet for this one either. Digging deeper, I found that this IC was used in some TBS PC tuner card and there are open source drivers for it. Pinout and software - that's all I needed to control the tuner outside of the original box.

How to control the (BS2)S7VZ6306 tuner
What's a satellite tuner good for? Well, this is a direct conversion tuner with I and Q outputs. Xavier Fenard shows us an easy to build ADS-B receiver using a similar type of tuner, some opamps, a microcontroller and a computer. The difference is that he keeps the tuner inside the STB because the STB is the only device that knows to control it. These tuners cover 950 - 2150 MHz band - including 23 cm ham band.

Before sending I2C commands to this tuner, you need to connect it to an I2C adapter and power it. Here is the pinout on the Comag board.

(BS2)S7VZ6306 tuner pinout
BS2S7VZ6306 tuner board pinout
The tuner pin configuration is below. I am not sure that the CLK OUT pin really carries clock output from tuner XTAL, but it seems connected to something and I have seen similar configurations in other tuners. Without ratings information, it is impossible to say if the I2C bus supports 5V levels, so you should connect this to a 3.3 V bus. The case is connected to GND.

S7VZ6306 tuner pinout
BS2S7VZ6306 tuner pinout
Here is a basic setup that will allow me to control the tuner.

S7VZ6306 Basic tuner connections
Basic tuner connections
Let's get to the software. I found Linux drivers in a source package of TBS drivers. The code is written by Manu Abraham and is licensed under GPL v2. You can find an adaptation on GitHub.

There is only one function needed to control the tuner: set_frequency(unsigned long int frequency, int bandwidth_mhz). The frequency should be provided in kHz, any values from 950000 kHz to 2150000 kHz in 1000 kHz increment. Bandwidth is in MHz and can be any even value between 10 and 34 MHz. In a DVB-S(2) application, the bandwidth is related to symbol rate.

A future post will contain an application with this tuner. Covering 950 to 2150 MHz, it can receive ADS-B signals, HRPT weather images and the 23 cm ham band.


  1. The output signal level should use which tip to measure. I OUT? or Q OUT?

    1. Both can be used if you want to measure output raw signal. But, output signal level is more useful when measured after demodulation.

  2. How to read the values from an arduino

  3. Hi
    Any chance to get the datasheet of IX2470 or IX2476


Please read the comments policy before publishing your comment.