{"id":7205,"date":"2022-02-22T23:31:33","date_gmt":"2022-02-22T18:01:33","guid":{"rendered":"https:\/\/nuclearrambo.com\/wordpress\/?p=7205"},"modified":"2024-10-03T15:06:46","modified_gmt":"2024-10-03T09:36:46","slug":"use-rtl-sdr-with-zybo-zynq-soc-board","status":"publish","type":"post","link":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/","title":{"rendered":"Use RTL-SDR with Zybo Zynq SoC board"},"content":{"rendered":"\n<p>The well-known <a href=\"https:\/\/amzn.to\/41b7AeI%5C\" target=\"_blank\" rel=\"noopener\">RTL-SDR<\/a> found itself to become quite popular over the past few years. Even today, RTL-SDR works like a gateway to the world of digital radios. The open-source RTL-SDR setup works with almost any single-board computer having a USB 2.0 port and Linux operating system. Indeed, it also works with Windows. Rather, our main focus for today would be Linux. If your SoC runs Linux and has USB port, you can operate RTL-SDR with it. Today, we will be interfacing the RTL-SDR with the Zybo<a href=\"https:\/\/amzn.to\/43AihJj\" target=\"_blank\" rel=\"noopener\"> Zynq SoC board<\/a>.<\/p>\n\n\n\n<p>Our regular readers know that, several of my past articles revolve around setting up Linux on the Zynq SoC on Zybo board and working our way through it. Correspondingly, my previous article demonstrated how easily one could run Ubuntu on almost any Zynq or Zynq Ultrascale board.<\/p>\n\n\n\n<center><p><script type=\"text\/javascript\">\n\tatOptions = {\n\t\t'key' : 'a488f095e80c8a74746e5fdca977eaea',\n\t\t'format' : 'iframe',\n\t\t'height' : 90,\n\t\t'width' : 728,\n\t\t'params' : {}\n\t};\n\tdocument.write('<scr' + 'ipt type=\"text\/javascript\" src=\"http' + (location.protocol === 'https:' ? 's' : '') + ':\/\/www.profitabledisplaynetwork.com\/a488f095e80c8a74746e5fdca977eaea\/invoke.js\"><\/scr' + 'ipt>');\n<\/script><\/p><\/center>\n\n\n\n<h2 class=\"wp-block-heading\">Enabling the USB<\/h2>\n\n\n\n<p>Since, we are working with the Zynq SoC; we have the liberty additional logic to go along with the processing system. For example, one could add an FFT accelerator or even a QPSK demodulator to offload the heavy DSP computation to dedicated logic. All these fancy things are quite possible but I will keep those for some other day.<\/p>\n\n\n\n<p>You can always have the PL system setup in Vivado but ignore it for the time being. Export the hardware .xsa file and get ready to <a href=\"https:\/\/nuclearrambo.com\/wordpress\/running-petalinux-on-zynq-soc-from-scratch-zybo-board\/\">build Petalinux<\/a>. Well, we still need to complete a crucial step before we build the OS.<\/p>\n\n\n\n<p><span style=\"color: revert; font-family: 'Open Sans'; font-size: revert; font-weight: bold;\">Enable USB in the kernel<\/span><\/p>\n\n\n\n<p>We need to enable the drivers responsible for making USB work correctly. Now, kernel configuration is the best place to find the option to enable those drivers.<\/p>\n\n\n\n<p><code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">petalinux-config -c kernel<\/code><\/p>\n\n\n\n<p>Find the following and enable each option by pressing &#8216;y&#8217;:<\/p>\n\n\n\n<p><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB Support<\/code><br><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB Support &gt; USB ULPI PHY interface support<\/code><br><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB support &gt; EHCI HCD (USB 2.0) support<\/code><br><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB support &gt; ChipIdea Highspeed Dual Role Controller<\/code><br><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB support &gt; ChipIdea device controller<\/code><br><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB support &gt; ChipIdea host controller<\/code><br><code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">Device Drivers &gt; USB support &gt; USB Gadget Support<\/code><\/p>\n\n\n\n<p>Now, after enabling the necessary USB drivers you may exit and run the following command.<\/p>\n\n\n\n<p><code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">petalinux-build -c device-tree<\/code><\/p>\n\n\n\n<p>This invokes the device tree builder. We still need to make manual entries into the device tree for the USB to appear in the Linux OS.<\/p>\n\n\n\n<p>Go to this path and open the system-user.dtsi file.<\/p>\n\n\n\n<p><code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">gedit \/path\/to\/project\/project-spec\/meta-user\/recipes-bsp\/device-tree\/files\/system-user.dtsi<\/code><\/p>\n\n\n\n<p>Add the following lines:<\/p>\n\n\n\n<p><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">\/include\/ \"system-conf.dtsi\"<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">\/ {<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp; &nbsp; &nbsp;usb_phy0: usb_phy@0 {<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp; &nbsp; &nbsp;compatible = \"ulpi-phy\";<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp; &nbsp; &nbsp;#phy-cells = &lt;0&gt;;<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp; &nbsp; &nbsp;reg = &lt;0xe0002000 0x1000&gt;;<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp; &nbsp; &nbsp;view-port = &lt;0x0170&gt;;<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp; &nbsp; &nbsp;drv-vbus;<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp;};<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">};<\/code><\/p>\n\n\n\n<p><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&amp;usb0 {<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp;dr_mode = \"host\";<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">&nbsp; &nbsp;usb-phy = &lt;&amp;usb_phy0&gt;;<\/code><br><code data-enlighter-language=\"c\" class=\"EnlighterJSRAW\">};<\/code><\/p>\n\n\n\n<p>Once done, Save the file and proceed to the next step.<\/p>\n\n\n\n<p><code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">petalinux-build<\/code><\/p>\n\n\n\n<p><code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">petalinux-package --boot --force --fsbl images\/linux\/zynq_fsbl.elf --fpga images\/linux\/system.bit --u-boot<\/code><\/p>\n\n\n\n<p>Package the whole thing and load the following 3 files onto the FAT partition of your SD card.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>BOOT.bin<\/li>\n\n\n\n<li>boot.scr<\/li>\n\n\n\n<li>image.ub<\/li>\n<\/ul>\n\n\n\n<p>Instead of extracting the rootfs.tar.gz built with Petalinux, we will copy the Ubuntu rootfs on to the ext4 partition as <a href=\"https:\/\/nuclearrambo.com\/wordpress\/running-ubuntu-20-04-on-zynq-soc\/\">we did in this article<\/a>. With this, you should have your SD card ready to boot.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Boot the system<\/h2>\n\n\n\n<p>Load the SD card on the Zybo board or whatever Zynq\/ZynqUS board that you might have. Power on the system! If everything has gone right, we should be flooded with the Linux boot messages.<\/p>\n\n\n\n<p>Correspondingly, run the following commands to verify that the kernel has loaded USB drivers.<\/p>\n\n\n\n<p><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">ubuntu@zynq:~$ dmesg | grep usb<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 0.368839] usbcore: registered new interface driver usbfs<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 0.373103] usbcore: registered new interface driver hub<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 0.377201] usbcore: registered new device driver usb<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.411097] usbcore: registered new interface driver usb-storage<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.416094] chipidea-usb2 e0002000.usb: e0002000.usb supply vbus not found, using dummy regulator<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.473234] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.480226] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.486135] usb usb1: Product: EHCI Host Controller<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.489727] usb usb1: Manufacturer: Linux 5.4.0-xilinx-v2020.2 ehci_hcd<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.495031] usb usb1: SerialNumber: ci_hdrc.0<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.611335] usbcore: registered new interface driver usbhid<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.615663] usbhid: USB HID core driver<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 1.863038] usb 1-1: new high-speed USB device number 2 using ci_hdrc<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 2.075272] usb 1-1: New USB device found, idVendor=0bda, idProduct=2838, bcdDevice= 1.00<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 2.082177] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 2.088044] usb 1-1: Product: RTL2838UHIDIR<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 2.090966] usb 1-1: Manufacturer: Realtek<\/code><br><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">[ 2.093794] usb 1-1: SerialNumber: 00000001<\/code><\/p>\n\n\n\n<p>Please note that I have already plugged in my RTL-SDR which is why it gets listed here. With nothing plugged into the USB port, the SDR shouldn&#8217;t show up in these messages.<\/p>\n\n\n\n<p>Apparently, the Linux kernel has successfully loaded the USB drivers necessary to make RTL SDR work properly.<\/p>\n\n\n\n<p>Finally, from here onwards, follow the steps on the <a href=\"https:\/\/www.rtl-sdr.com\/tag\/install-guide\/\">official RTL-SDR page<\/a> to install <a href=\"https:\/\/amzn.to\/41b7AeI\" target=\"_blank\" rel=\"noopener\">RTL-SDR<\/a> drivers. Furthermore, installation steps are rather standard as you would follow on any other Linux system.<\/p>\n\n\n\n<p>Apparently, chances of having problems at this stage are quite low. Hopefully, the process goes smoothly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The power problem<\/h3>\n\n\n\n<p>RTL-SDR dongle draws a good amount of power from the USB. Whenever I plugged in the SDR, the board would go into a continuous boot loop. Clearly, this was a power problem. The SDR drew all the power while leaving none for our Zynq SoC. I could no longer power up the board with the USB port of my PC. That meant I had to plug the USB into the wall charger. Yet, the power problem persisted!<\/p>\n\n\n\n<p>Looking closely at the schematic of the Zybo board, I had to tweak some wiring.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_wiring_tweak.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_wiring_tweak-1024x453.png\" alt=\"\" class=\"wp-image-7206\" srcset=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_wiring_tweak-1024x453.png 1024w, https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_wiring_tweak-300x133.png 300w, https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_wiring_tweak-768x340.png 768w, https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_wiring_tweak.png 1054w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Short all the three pins of the jumper<\/figcaption><\/figure>\n\n\n\n<p>I still powered the board via USB charger plugged into the wall. Additionally, I also shorted all the three pins of the power select header. Surprisingly, this solved my power problem and allowed me to operate RTL-SDR successfully.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Operating the SDR<\/h2>\n\n\n\n<p>My entire Zynq setup is headless. There&#8217;s no way to visually observe the data coming from the RTL-SDR. Fortunately, we have rtl_tcp that allows an external client to connect to the board and suck the data coming out of the SDR.<\/p>\n\n\n\n<p><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">rtl_tcp -a 192.168.1.50<\/code><\/p>\n\n\n\n<p>Make sure that the IP address in this command matches to that of your ethernet interface.<\/p>\n\n\n\n<p>Coming back to my main PC, I fired up the SDR# and connected to this IP.<\/p>\n\n\n\n<p>What a surprise, I had data coming in live from the RTL SDR running on Zybo!<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"818\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr-1024x818.png\" alt=\"RTL SDR running on Zynq Zybo board\" class=\"wp-image-7207\" srcset=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr-1024x818.png 1024w, https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr-300x240.png 300w, https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr-768x614.png 768w, https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr.png 1483w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">RTL SDR running on Zynq Zybo board<\/figcaption><\/figure>\n\n\n\n<p>Running rtl_tcp will occupy some 30-40Mbps bandwidth depending on the sampling rate. On the other hand, I found that the CPU usage stayed below 6% while streaming data over TCP\/IP. Now, this leaves plentiful computing power left to do any kind of signal processing we may wish to do on the incoming data. Imagine having dedicated demodulation hardware on the FPGA. That would leave the CPU untouched and in turn make signal processing much more efficient.<\/p>\n\n\n\n<p>So that&#8217;s how you interface RTL-SDR with the Zybo Zynq board. Why just limit ourselves to RTL-SDR and Zybo? With this procedure, you could interface any SDR with USB to any Zynq\/Zynq UltraScale system such as the Kria SoM.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The well-known RTL-SDR found itself to become quite popular over the past few years. Even today, RTL-SDR works like a gateway to the world of digital radios. The open-source RTL-SDR setup works with almost&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":7208,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1562],"tags":[1568,1769,1779,1778,1745],"class_list":["post-7205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-amateur-radio","tag-petalinux","tag-rtl-sdr","tag-ubuntu","tag-zynq"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Use RTL-SDR with Zybo Zynq SoC board<\/title>\n<meta name=\"description\" content=\"This article teaches you to interface RTL-SDR with the Zybo Zynq board and possibly even use the FPGA for dedicated DSP hardawre.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use RTL-SDR with Zybo Zynq SoC board\" \/>\n<meta property=\"og:description\" content=\"This article teaches you to interface RTL-SDR with the Zybo Zynq board and possibly even use the FPGA for dedicated DSP hardawre.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\" \/>\n<meta property=\"og:site_name\" content=\"Nuclearrambo\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-22T18:01:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-03T09:36:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"960\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"nuclearrambo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@darkusul\" \/>\n<meta name=\"twitter:site\" content=\"@darkusul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"nuclearrambo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\"},\"author\":{\"name\":\"nuclearrambo\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\"},\"headline\":\"Use RTL-SDR with Zybo Zynq SoC board\",\"datePublished\":\"2022-02-22T18:01:33+00:00\",\"dateModified\":\"2024-10-03T09:36:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\"},\"wordCount\":922,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"keywords\":[\"amateur radio\",\"petalinux\",\"rtl-sdr\",\"ubuntu\",\"zynq\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\",\"name\":\"Use RTL-SDR with Zybo Zynq SoC board\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\"},\"datePublished\":\"2022-02-22T18:01:33+00:00\",\"dateModified\":\"2024-10-03T09:36:46+00:00\",\"description\":\"This article teaches you to interface RTL-SDR with the Zybo Zynq board and possibly even use the FPGA for dedicated DSP hardawre.\",\"breadcrumb\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nuclearrambo.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use RTL-SDR with Zybo Zynq SoC board\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/\",\"name\":\"Nuclearrambo\",\"description\":\"Information is FREE! Progress is MUST! Awakening is inevitable!\",\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nuclearrambo.com\/wordpress\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\",\"name\":\"Nuclearrambo\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png\",\"contentUrl\":\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png\",\"width\":1489,\"height\":1152,\"caption\":\"Nuclearrambo\"},\"image\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/darkusul\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\",\"name\":\"nuclearrambo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g\",\"caption\":\"nuclearrambo\"},\"description\":\"Salil is an electronics enthusiast working on various electronics systems. In his free time he writes on the blog, talks over ham radio or builds circuits. He has Yaesu FT2900R VHF transceiver, FT450D HF transceiver, TYT UV8000E and Quansheng UVK6 Handheld transceivers.\",\"sameAs\":[\"http:\/\/nuclearrambo.com\/wordpress\"],\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Use RTL-SDR with Zybo Zynq SoC board","description":"This article teaches you to interface RTL-SDR with the Zybo Zynq board and possibly even use the FPGA for dedicated DSP hardawre.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/","og_locale":"en_US","og_type":"article","og_title":"Use RTL-SDR with Zybo Zynq SoC board","og_description":"This article teaches you to interface RTL-SDR with the Zybo Zynq board and possibly even use the FPGA for dedicated DSP hardawre.","og_url":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/","og_site_name":"Nuclearrambo","article_published_time":"2022-02-22T18:01:33+00:00","article_modified_time":"2024-10-03T09:36:46+00:00","og_image":[{"width":1280,"height":960,"url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2022\/02\/zynq_rtl_sdr.jpg","type":"image\/jpeg"}],"author":"nuclearrambo","twitter_card":"summary_large_image","twitter_creator":"@darkusul","twitter_site":"@darkusul","twitter_misc":{"Written by":"nuclearrambo","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#article","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/"},"author":{"name":"nuclearrambo","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c"},"headline":"Use RTL-SDR with Zybo Zynq SoC board","datePublished":"2022-02-22T18:01:33+00:00","dateModified":"2024-10-03T09:36:46+00:00","mainEntityOfPage":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/"},"wordCount":922,"commentCount":4,"publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"keywords":["amateur radio","petalinux","rtl-sdr","ubuntu","zynq"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/","url":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/","name":"Use RTL-SDR with Zybo Zynq SoC board","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#website"},"datePublished":"2022-02-22T18:01:33+00:00","dateModified":"2024-10-03T09:36:46+00:00","description":"This article teaches you to interface RTL-SDR with the Zybo Zynq board and possibly even use the FPGA for dedicated DSP hardawre.","breadcrumb":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nuclearrambo.com\/wordpress\/use-rtl-sdr-with-zybo-zynq-soc-board\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nuclearrambo.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Use RTL-SDR with Zybo Zynq SoC board"}]},{"@type":"WebSite","@id":"https:\/\/nuclearrambo.com\/wordpress\/#website","url":"https:\/\/nuclearrambo.com\/wordpress\/","name":"Nuclearrambo","description":"Information is FREE! Progress is MUST! Awakening is inevitable!","publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nuclearrambo.com\/wordpress\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization","name":"Nuclearrambo","url":"https:\/\/nuclearrambo.com\/wordpress\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/","url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png","contentUrl":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png","width":1489,"height":1152,"caption":"Nuclearrambo"},"image":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/darkusul"]},{"@type":"Person","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c","name":"nuclearrambo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g","caption":"nuclearrambo"},"description":"Salil is an electronics enthusiast working on various electronics systems. In his free time he writes on the blog, talks over ham radio or builds circuits. He has Yaesu FT2900R VHF transceiver, FT450D HF transceiver, TYT UV8000E and Quansheng UVK6 Handheld transceivers.","sameAs":["http:\/\/nuclearrambo.com\/wordpress"],"url":"https:\/\/nuclearrambo.com\/wordpress\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/7205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/comments?post=7205"}],"version-history":[{"count":10,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/7205\/revisions"}],"predecessor-version":[{"id":8409,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/7205\/revisions\/8409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media\/7208"}],"wp:attachment":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media?parent=7205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/categories?post=7205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/tags?post=7205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}