<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sigrok.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xof</id>
	<title>sigrok - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://sigrok.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xof"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/Xof"/>
	<updated>2026-04-09T20:08:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13496</id>
		<title>BG7TBL</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13496"/>
		<updated>2018-05-21T12:13:35Z</updated>

		<summary type="html">&lt;p&gt;Xof: /* Spectrum analyzer */ + code sample &amp;amp; ref.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox signal generator&lt;br /&gt;
| image = [[File:BG7TBL_case.jpg|180px]]&lt;br /&gt;
| name = BG7TBL&lt;br /&gt;
| status = planned&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| frequser = 138MHz-4.4GHz&lt;br /&gt;
| waveforms = sine (fixed)&lt;br /&gt;
| amplitude = ? V&lt;br /&gt;
| connectivity = USB&lt;br /&gt;
}}&lt;br /&gt;
The BG7TBL USB RF Signal Generator is a PC-based function generator. It has no external controls, requiring a USB connection to a computer.&lt;br /&gt;
&lt;br /&gt;
Software to run this hardware can be found here http://www.dl4jal.eu/.&lt;br /&gt;
&lt;br /&gt;
This device can be bought on ebay for ca $65. Search for &amp;quot;138MHz-4.4GHz&amp;quot;. There is a version with the ADF4351 instead that will give you more range (35MHz-4.4GHz).&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* Microcontroller: [http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf Atmel Atmega 8L]&lt;br /&gt;
* Wideband Synthesizer: [http://www.analog.com/media/en/technical-documentation/data-sheets/ADF4350.pdf ADF4350]&lt;br /&gt;
* USB to Serial: [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf FTDI FT232RL]&lt;br /&gt;
* Logarithmic Amplifier [http://www.analog.com/media/en/technical-documentation/data-sheets/AD8307.pdf AD8307]&lt;br /&gt;
* Mixer: [http://www.qsl.net/n9zia/omnitracs/IAM81008.pdf IAM 81008]&lt;br /&gt;
* LDO: [http://www.advanced-monolithic.com/pdf/ds1117.pdf AMS1117]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
BG7TBL pcb top.jpg&lt;br /&gt;
BG7TBL pcb bot.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
Baud 57600, 8n1&lt;br /&gt;
&lt;br /&gt;
The protocol is binary serial based.&lt;br /&gt;
&lt;br /&gt;
=== Query firmware ===&lt;br /&gt;
&lt;br /&gt;
* Send 0x8f+&amp;quot;v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The answer should be in hex:&lt;br /&gt;
&lt;br /&gt;
* 77&lt;br /&gt;
&lt;br /&gt;
Where the returned byte is the firmware version, 0x77 = 119 = &amp;#039;w&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python                             &lt;br /&gt;
&lt;br /&gt;
import serial&lt;br /&gt;
&lt;br /&gt;
ser = serial.Serial(&amp;#039;/dev/ttyUSB0&amp;#039;, 57600, timeout=1) # Linux first FTDI&lt;br /&gt;
ser.write(&amp;quot;\x8f&amp;quot; + &amp;quot;v&amp;quot;)&lt;br /&gt;
print(&amp;quot;version is &amp;quot; + ser.read())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Signal generator ===&lt;br /&gt;
==== Setting frequency ====&lt;br /&gt;
To set a frequency send:&lt;br /&gt;
&lt;br /&gt;
* 0x8f&lt;br /&gt;
&lt;br /&gt;
Then f and then the frequency divided by 10 with leading zeroes. For example this is the payload for 400MHz.&lt;br /&gt;
&lt;br /&gt;
* 400 000 000 / 10&lt;br /&gt;
* f040000000&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
import sys, serial&lt;br /&gt;
&lt;br /&gt;
ser = serial.Serial(&amp;#039;/dev/ttyUSB0&amp;#039;, 57600, timeout=1) # Linux first FTDI&lt;br /&gt;
# sys.argv[1] is frequency in Herz&lt;br /&gt;
cmd = &amp;quot;\x8f&amp;quot; + &amp;quot;f&amp;quot; + &amp;#039;{:09d}&amp;#039;.format(int(sys.argv[1])/10)&lt;br /&gt;
ser.write(cmd)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Spectrum analyzer ===&lt;br /&gt;
&lt;br /&gt;
The protocol is briefly described in the source code here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/DoYouKnow/BG7TBL_Reader&lt;br /&gt;
&lt;br /&gt;
Here is a minimal code for an &amp;#039;x&amp;#039; sweep &amp;lt;small&amp;gt;(the protocol is described in chapter 6 of http://www.dl4jal.eu/LinNWT_doc_en.pdf )&amp;lt;/small&amp;gt;.  The device sends back the expected number of bytes but it seems I have to divide the frequency by 10... (?).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
import sys, serial, struct&lt;br /&gt;
&lt;br /&gt;
start_frequency = 100000000    # FM band&lt;br /&gt;
increment       = 20000&lt;br /&gt;
steps           = 2000&lt;br /&gt;
#&lt;br /&gt;
# &amp;#039;x&amp;#039; sweep (writing the command returns (4 * steps) bytes (what is it, I don&amp;#039;t know)&lt;br /&gt;
#&lt;br /&gt;
cmd = &amp;quot;\x8f&amp;quot; + &amp;quot;x&amp;quot; + &amp;#039;{:09d}{:08d}{:04d}&amp;#039;.format(start_frequency/10, increment, steps)&lt;br /&gt;
ser = serial.Serial(&amp;#039;/dev/ttyUSB0&amp;#039;, 57600, timeout=100) # Linux first FTDI&lt;br /&gt;
ser.write(cmd)&lt;br /&gt;
rsp = ser.read(4 * steps)&lt;br /&gt;
if len(rsp) &amp;lt; (4 * steps):&lt;br /&gt;
	sys.stderr.write(&amp;quot;Warning : Did not read enough measures! Try increasing the timeout\n&amp;quot;)&lt;br /&gt;
	steps = len(rsp)/4    # adapt to the number of measures read&lt;br /&gt;
val_tab = struct.unpack_from(&amp;quot;&amp;lt;&amp;quot; + &amp;quot;h&amp;quot;*2*steps, rsp) # 2 * steps &amp;#039;little endian shorts&amp;#039;&lt;br /&gt;
for i in range(0, steps):&lt;br /&gt;
	print(val_tab[2*i])	# channel A (A and B are interleaved)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xof</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13495</id>
		<title>BG7TBL</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13495"/>
		<updated>2018-05-20T08:41:15Z</updated>

		<summary type="html">&lt;p&gt;Xof: /* Setting frequency */ + prog. example in Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox signal generator&lt;br /&gt;
| image = [[File:BG7TBL_case.jpg|180px]]&lt;br /&gt;
| name = BG7TBL&lt;br /&gt;
| status = planned&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| frequser = 138MHz-4.4GHz&lt;br /&gt;
| waveforms = sine (fixed)&lt;br /&gt;
| amplitude = ? V&lt;br /&gt;
| connectivity = USB&lt;br /&gt;
}}&lt;br /&gt;
The BG7TBL USB RF Signal Generator is a PC-based function generator. It has no external controls, requiring a USB connection to a computer.&lt;br /&gt;
&lt;br /&gt;
Software to run this hardware can be found here http://www.dl4jal.eu/.&lt;br /&gt;
&lt;br /&gt;
This device can be bought on ebay for ca $65. Search for &amp;quot;138MHz-4.4GHz&amp;quot;. There is a version with the ADF4351 instead that will give you more range (35MHz-4.4GHz).&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* Microcontroller: [http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf Atmel Atmega 8L]&lt;br /&gt;
* Wideband Synthesizer: [http://www.analog.com/media/en/technical-documentation/data-sheets/ADF4350.pdf ADF4350]&lt;br /&gt;
* USB to Serial: [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf FTDI FT232RL]&lt;br /&gt;
* Logarithmic Amplifier [http://www.analog.com/media/en/technical-documentation/data-sheets/AD8307.pdf AD8307]&lt;br /&gt;
* Mixer: [http://www.qsl.net/n9zia/omnitracs/IAM81008.pdf IAM 81008]&lt;br /&gt;
* LDO: [http://www.advanced-monolithic.com/pdf/ds1117.pdf AMS1117]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
BG7TBL pcb top.jpg&lt;br /&gt;
BG7TBL pcb bot.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
Baud 57600, 8n1&lt;br /&gt;
&lt;br /&gt;
The protocol is binary serial based.&lt;br /&gt;
&lt;br /&gt;
=== Query firmware ===&lt;br /&gt;
&lt;br /&gt;
* Send 0x8f+&amp;quot;v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The answer should be in hex:&lt;br /&gt;
&lt;br /&gt;
* 77&lt;br /&gt;
&lt;br /&gt;
Where the returned byte is the firmware version, 0x77 = 119 = &amp;#039;w&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python                             &lt;br /&gt;
&lt;br /&gt;
import serial&lt;br /&gt;
&lt;br /&gt;
ser = serial.Serial(&amp;#039;/dev/ttyUSB0&amp;#039;, 57600, timeout=1) # Linux first FTDI&lt;br /&gt;
ser.write(&amp;quot;\x8f&amp;quot; + &amp;quot;v&amp;quot;)&lt;br /&gt;
print(&amp;quot;version is &amp;quot; + ser.read())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Signal generator ===&lt;br /&gt;
==== Setting frequency ====&lt;br /&gt;
To set a frequency send:&lt;br /&gt;
&lt;br /&gt;
* 0x8f&lt;br /&gt;
&lt;br /&gt;
Then f and then the frequency divided by 10 with leading zeroes. For example this is the payload for 400MHz.&lt;br /&gt;
&lt;br /&gt;
* 400 000 000 / 10&lt;br /&gt;
* f040000000&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
import sys, serial&lt;br /&gt;
&lt;br /&gt;
ser = serial.Serial(&amp;#039;/dev/ttyUSB0&amp;#039;, 57600, timeout=1) # Linux first FTDI&lt;br /&gt;
# sys.argv[1] is frequency in Herz&lt;br /&gt;
cmd = &amp;quot;\x8f&amp;quot; + &amp;quot;f&amp;quot; + &amp;#039;{:09d}&amp;#039;.format(int(sys.argv[1])/10)&lt;br /&gt;
ser.write(cmd)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Spectrum analyzer ===&lt;br /&gt;
&lt;br /&gt;
The protocol is briefly described in the source code here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/DoYouKnow/BG7TBL_Reader&lt;/div&gt;</summary>
		<author><name>Xof</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13493</id>
		<title>BG7TBL</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13493"/>
		<updated>2018-05-19T07:00:26Z</updated>

		<summary type="html">&lt;p&gt;Xof: /* Protocol */ + sample code to check the firmware (4 Python lines)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox signal generator&lt;br /&gt;
| image = [[File:BG7TBL_case.jpg|180px]]&lt;br /&gt;
| name = BG7TBL&lt;br /&gt;
| status = planned&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| frequser = 138MHz-4.4GHz&lt;br /&gt;
| waveforms = sine (fixed)&lt;br /&gt;
| amplitude = ? V&lt;br /&gt;
| connectivity = USB&lt;br /&gt;
}}&lt;br /&gt;
The BG7TBL USB RF Signal Generator is a PC-based function generator. It has no external controls, requiring a USB connection to a computer.&lt;br /&gt;
&lt;br /&gt;
Software to run this hardware can be found here http://www.dl4jal.eu/.&lt;br /&gt;
&lt;br /&gt;
This device can be bought on ebay for ca $65. Search for &amp;quot;138MHz-4.4GHz&amp;quot;. There is a version with the ADF4351 instead that will give you more range (35MHz-4.4GHz).&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* Microcontroller: [http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf Atmel Atmega 8L]&lt;br /&gt;
* Wideband Synthesizer: [http://www.analog.com/media/en/technical-documentation/data-sheets/ADF4350.pdf ADF4350]&lt;br /&gt;
* USB to Serial: [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf FTDI FT232RL]&lt;br /&gt;
* Logarithmic Amplifier [http://www.analog.com/media/en/technical-documentation/data-sheets/AD8307.pdf AD8307]&lt;br /&gt;
* Mixer: [http://www.qsl.net/n9zia/omnitracs/IAM81008.pdf IAM 81008]&lt;br /&gt;
* LDO: [http://www.advanced-monolithic.com/pdf/ds1117.pdf AMS1117]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
BG7TBL pcb top.jpg&lt;br /&gt;
BG7TBL pcb bot.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
Baud 57600, 8n1&lt;br /&gt;
&lt;br /&gt;
The protocol is binary serial based.&lt;br /&gt;
&lt;br /&gt;
=== Query firmware ===&lt;br /&gt;
&lt;br /&gt;
* Send 0x8f+&amp;quot;v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The answer should be in hex:&lt;br /&gt;
&lt;br /&gt;
* 77&lt;br /&gt;
&lt;br /&gt;
Where the returned byte is the firmware version, 0x77 = 119 = &amp;#039;w&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python                             &lt;br /&gt;
&lt;br /&gt;
import serial&lt;br /&gt;
&lt;br /&gt;
ser = serial.Serial(&amp;#039;/dev/ttyUSB0&amp;#039;, 57600, timeout=1) # Linux first FTDI&lt;br /&gt;
ser.write(&amp;quot;\x8f&amp;quot; + &amp;quot;v&amp;quot;)&lt;br /&gt;
print(&amp;quot;version is &amp;quot; + ser.read())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Signal generator ===&lt;br /&gt;
==== Setting frequency ====&lt;br /&gt;
To set a frequency send:&lt;br /&gt;
&lt;br /&gt;
* 0x8f&lt;br /&gt;
&lt;br /&gt;
Then f and then the frequency divided by 10 with leading zeroes. For example this is the payload for 400MHz.&lt;br /&gt;
&lt;br /&gt;
* 400 000 000 / 10&lt;br /&gt;
* f040000000&lt;br /&gt;
&lt;br /&gt;
=== Spectrum analyzer ===&lt;br /&gt;
&lt;br /&gt;
The protocol is briefly described in the source code here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/DoYouKnow/BG7TBL_Reader&lt;/div&gt;</summary>
		<author><name>Xof</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13492</id>
		<title>BG7TBL</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=BG7TBL&amp;diff=13492"/>
		<updated>2018-05-19T06:51:05Z</updated>

		<summary type="html">&lt;p&gt;Xof: /* Query firmware */ firmware version is also &amp;#039;w&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox signal generator&lt;br /&gt;
| image = [[File:BG7TBL_case.jpg|180px]]&lt;br /&gt;
| name = BG7TBL&lt;br /&gt;
| status = planned&lt;br /&gt;
| source_code_dir = &lt;br /&gt;
| frequser = 138MHz-4.4GHz&lt;br /&gt;
| waveforms = sine (fixed)&lt;br /&gt;
| amplitude = ? V&lt;br /&gt;
| connectivity = USB&lt;br /&gt;
}}&lt;br /&gt;
The BG7TBL USB RF Signal Generator is a PC-based function generator. It has no external controls, requiring a USB connection to a computer.&lt;br /&gt;
&lt;br /&gt;
Software to run this hardware can be found here http://www.dl4jal.eu/.&lt;br /&gt;
&lt;br /&gt;
This device can be bought on ebay for ca $65. Search for &amp;quot;138MHz-4.4GHz&amp;quot;. There is a version with the ADF4351 instead that will give you more range (35MHz-4.4GHz).&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* Microcontroller: [http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf Atmel Atmega 8L]&lt;br /&gt;
* Wideband Synthesizer: [http://www.analog.com/media/en/technical-documentation/data-sheets/ADF4350.pdf ADF4350]&lt;br /&gt;
* USB to Serial: [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf FTDI FT232RL]&lt;br /&gt;
* Logarithmic Amplifier [http://www.analog.com/media/en/technical-documentation/data-sheets/AD8307.pdf AD8307]&lt;br /&gt;
* Mixer: [http://www.qsl.net/n9zia/omnitracs/IAM81008.pdf IAM 81008]&lt;br /&gt;
* LDO: [http://www.advanced-monolithic.com/pdf/ds1117.pdf AMS1117]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
BG7TBL pcb top.jpg&lt;br /&gt;
BG7TBL pcb bot.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
Baud 57600, 8n1&lt;br /&gt;
&lt;br /&gt;
The protocol is binary serial based.&lt;br /&gt;
&lt;br /&gt;
=== Query firmware ===&lt;br /&gt;
&lt;br /&gt;
* Send 0x8f+&amp;quot;v&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The answer should be in hex:&lt;br /&gt;
&lt;br /&gt;
* 77&lt;br /&gt;
&lt;br /&gt;
Where the returned byte is the firmware version, 0x77 = 119 = &amp;#039;w&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Signal generator ===&lt;br /&gt;
==== Setting frequency ====&lt;br /&gt;
To set a frequency send:&lt;br /&gt;
&lt;br /&gt;
* 0x8f&lt;br /&gt;
&lt;br /&gt;
Then f and then the frequency divided by 10 with leading zeroes. For example this is the payload for 400MHz.&lt;br /&gt;
&lt;br /&gt;
* 400 000 000 / 10&lt;br /&gt;
* f040000000&lt;br /&gt;
&lt;br /&gt;
=== Spectrum analyzer ===&lt;br /&gt;
&lt;br /&gt;
The protocol is briefly described in the source code here:&lt;br /&gt;
&lt;br /&gt;
https://github.com/DoYouKnow/BG7TBL_Reader&lt;/div&gt;</summary>
		<author><name>Xof</name></author>
	</entry>
</feed>