{
    "version": "https://jsonfeed.org/version/1",
    "title": "PA3GSB",
    "description": "",
    "home_page_url": "https://pa3gsb.github.io",
    "feed_url": "https://pa3gsb.github.io/feed.json",
    "user_comment": "",
    "author": {
        "name": "pa3gsb"
    },
    "items": [
        {
            "id": "https://pa3gsb.github.io/publications/radioberry-eer-experiments/",
            "url": "https://pa3gsb.github.io/publications/radioberry-eer-experiments/",
            "title": "Radioberry EER Experiments",
            "summary": "Hereby some pictures showing the initial experiments. First QSO gives some positve feedback. Hope the pictures give some idea. 73 Johan PA3GSB",
            "content_html": "<p>Hereby some pictures showing the initial experiments.</p>\n<p>First QSO gives some positve feedback.</p>\n<figure class=\"post__image\"><img loading=\"lazy\"  src=\"https://pa3gsb.github.io/media/posts/4/EER-setup-791x1024.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/EER-setup-791x1024-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/4/responsive/EER-setup-791x1024-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/4/responsive/EER-setup-791x1024-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/EER-setup-791x1024-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/EER-setup-791x1024-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/EER-setup-791x1024-2xl.jpg 1920w\"></figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/4/eer-building-blocks-text-1024x768.jpeg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/eer-building-blocks-text-1024x768-xs.jpeg 640w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-building-blocks-text-1024x768-sm.jpeg 768w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-building-blocks-text-1024x768-md.jpeg 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-building-blocks-text-1024x768-lg.jpeg 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-building-blocks-text-1024x768-xl.jpeg 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-building-blocks-text-1024x768-2xl.jpeg 1920w\">\n<figcaption>Actual setup for first exeriments.</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/4/PWM-Envelope.png\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/PWM-Envelope-xs.png 640w ,https://pa3gsb.github.io/media/posts/4/responsive/PWM-Envelope-sm.png 768w ,https://pa3gsb.github.io/media/posts/4/responsive/PWM-Envelope-md.png 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/PWM-Envelope-lg.png 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/PWM-Envelope-xl.png 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/PWM-Envelope-2xl.png 1920w\">\n<figcaption>PWM / Envelope (using RPI GPIO for test)</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/4/drain-and-gate-signals.png\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/drain-and-gate-signals-xs.png 640w ,https://pa3gsb.github.io/media/posts/4/responsive/drain-and-gate-signals-sm.png 768w ,https://pa3gsb.github.io/media/posts/4/responsive/drain-and-gate-signals-md.png 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/drain-and-gate-signals-lg.png 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/drain-and-gate-signals-xl.png 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/drain-and-gate-signals-2xl.png 1920w\">\n<figcaption>Drain and gate drive signal.</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/4/eer-setup-psdr.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/eer-setup-psdr-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-setup-psdr-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-setup-psdr-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-setup-psdr-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-setup-psdr-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/eer-setup-psdr-2xl.jpg 1920w\">\n<figcaption>Power SDR setup.</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/4/actual-phase-envelope.png\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/actual-phase-envelope-xs.png 640w ,https://pa3gsb.github.io/media/posts/4/responsive/actual-phase-envelope-sm.png 768w ,https://pa3gsb.github.io/media/posts/4/responsive/actual-phase-envelope-md.png 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/actual-phase-envelope-lg.png 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/actual-phase-envelope-xl.png 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/actual-phase-envelope-2xl.png 1920w\">\n<figcaption>Actual output using double tone.</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/4/pwr_out-1024x768.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/4/responsive/pwr_out-1024x768-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/4/responsive/pwr_out-1024x768-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/4/responsive/pwr_out-1024x768-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/4/responsive/pwr_out-1024x768-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/4/responsive/pwr_out-1024x768-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/4/responsive/pwr_out-1024x768-2xl.jpg 1920w\">\n<figcaption>There is power...</figcaption>\n</figure>\n<p>Hope the pictures give some idea.</p>\n<p> </p>\n<p>73 Johan</p>\n<p>PA3GSB</p>",
            "author": {
                "name": "pa3gsb"
            },
            "tags": [
            ],
            "date_published": "2022-06-18T11:57:17+02:00",
            "date_modified": "2026-10-24T16:49:33+02:00"
        },
        {
            "id": "https://pa3gsb.github.io/publications/radioberry-juice-part-2/",
            "url": "https://pa3gsb.github.io/publications/radioberry-juice-part-2/",
            "title": "Radioberry Juice part 2",
            "summary": "Radioberry juice journey continues…. There was still a road ahead for the development of the juice board. One of the things to discover was the i2c connection. As reported in the previous post the juice board using the FT-245 protocol is not able to use&hellip;",
            "content_html": "<p>Radioberry juice journey continues….</p>\n<p>There was still a road ahead for the development of the juice board.</p>\n<h2>I2C supported by radioberry gateware</h2>\n<p>One of the things to discover was the i2c connection.</p>\n<p>As reported in the previous post the juice board using the FT-245 protocol is<br>not able to use the i2c MPPSE mode of the FT2232 FTDI chip. To make use of bus for controlling the radioberry preamp the i2c logic must be build into the gateware.</p>\n<p>During the development of the preamp i added an additional parallel i2c bus.<br>This i2c bus can now be used for the i2c controlled from the FPGA</p>\n<p><a href=\"https://github.com/pa3gsb/Radioberry-2.x/wiki/Radioberry-In-Output\">https://github.com/pa3gsb/Radioberry-2.x/wiki/Radioberry-In-Output</a></p>\n<p>(pin 15 and pin 16 of the radioberry io connector)</p>\n<p>The HL-2 hardware uses 3 i2c busses:</p>\n<pre class=\"wp-block-preformatted\">- Slow 4 channel ADC\n- Programmable clock generator (not used in radioberry)\n- Digital Pot and  N2ADR filter selection</pre>\n<p>All controlled by the gateware.</p>\n<p>Radioberry uses one i2c bus containinng the following devices:</p>\n<div class=\"wp-block-group\">\n<div class=\"wp-block-group__inner-container\">\n<pre class=\"wp-block-preformatted\">- Slow 4 channel ADC\n- Digital Pot\n\nboth i2c devices present at preamp board\n\n- N2ADR filter selection</pre>\n</div>\n</div>\n<p>The slow ADC is used to measure the bias current, temperature of the PA finals, FWD and REV voltages.<br>Setting up the BIAS of the finals is done by the digital pot; the setup is kept in the EEPROM of the digital pot.</p>\n<p>The gateware is modified to make this possible.</p>\n<p>In the change also the RQST functionality; which Steve defined as an addtion to the original openHPSDR protocol-1, is implemented.</p>\n<p>All described in the protocol:</p>\n<p><a href=\" https://github.com/softerhardware/Hermes-Lite2/wiki/Protocol \"> https://github.com/softerhardware/Hermes-Lite2/wiki/Protocol </a></p>\n<p>for the HL-2.</p>\n<p>The gatware must responds within a certain time… quisk and wireshark were very helpfull in testing.</p>\n<p>It took some development effort (at least for me) to get it working properly, without quisk complaining; the quisk code was helping in the process to understand how it all should work!</p>\n<p>The protection of the PA finals is also included in the gateware using the juice board. If the temperature is too high, following the same temperature as defined for the HL-2, the PA is shutdown.</p>\n<p>Also implememted the PWM for a fan; but not yet assigned the pwm to a FPGA output pin!</p>\n<h2>Bandscope</h2>\n<p>Also the bandscope is working. Useable from Quisk and linHPSDR.</p>\n<p> </p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\"  src=\"https://pa3gsb.github.io/media/posts/3/bandscope-1024x344.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/3/responsive/bandscope-1024x344-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/3/responsive/bandscope-1024x344-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/3/responsive/bandscope-1024x344-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/3/responsive/bandscope-1024x344-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/3/responsive/bandscope-1024x344-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/3/responsive/bandscope-1024x344-2xl.jpg 1920w\"></figure>\n<h2>Setup configuration</h2>\n<p>The following overview shows what is possble with the juice board.</p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\"  src=\"https://pa3gsb.github.io/media/posts/3/radioberry-juice-config.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/3/responsive/radioberry-juice-config-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/3/responsive/radioberry-juice-config-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/3/responsive/radioberry-juice-config-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/3/responsive/radioberry-juice-config-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/3/responsive/radioberry-juice-config-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/3/responsive/radioberry-juice-config-2xl.jpg 1920w\"></figure>\n<p>Nice to see that it is possible to use different machines and platforms.</p>\n<p>The firmware provides in:</p>\n<div class=\"wp-block-group\">\n<div class=\"wp-block-group__inner-container\">\n<pre class=\"wp-block-preformatted\">- loading gateware into radioberry FPGA\n- openHPSDR protocol-1 (Discovery, IQ streaming and control)\n\nWhen the firmware is running on a RPI or other SBC the GPIO can be used.</pre>\n</div>\n</div>\n<h2>My Setup</h2>\n<p>I took some time searching for a computer for running the radioberry together with the juice board.</p>\n<p>Decided to go for a Refurbished mini pc</p>\n<p>ThinkCentre M900</p>\n<p>Processor:Intel Core i5<br>Processor type:i5-6500T CPU @ 2.50GHz<br>Internal 8GB</p>\n<p>Dimensions (W x D x H)<br>(inches) : 1.36\" x 7.20\" x 7.05\"<br>(mm) : 34.5 x 182.9 x 179</p>\n<p>6* USB 3.0</p>\n<p>Audio in and out.</p>\n<p>Making the computer dual boot; using W10 and Ubuntu linux.</p>\n<p>Also a big advantage is to make use of a large computer screen; also a screen useable for normal computer work no need of additional (small) screens.</p>\n<p>For controlling the radio i bought an MIDI controller a behringer cmd pl-1; active support to use with pihpsdr and other software!</p>\n<p> </p>\n<p>Have fun</p>\n<p>73 Johan</p>\n<p>PA3GSB</p>",
            "author": {
                "name": "pa3gsb"
            },
            "tags": [
            ],
            "date_published": "2021-07-22T18:41:28+02:00",
            "date_modified": "2026-10-24T16:48:36+02:00"
        },
        {
            "id": "https://pa3gsb.github.io/publications/radioberry-juice/",
            "url": "https://pa3gsb.github.io/publications/radioberry-juice/",
            "title": "Radioberry JUICE",
            "summary": "A development journey … Wishes for the radioberry to improve: But keeping : The radioberry with the high coupling to the RPI must be kept; i want to keep the charm of this radio setup. Some time ago i tried to add an ethernet module;&hellip;",
            "content_html": "<p>A development journey …</p>\n<p>Wishes for the radioberry to improve:</p>\n<ul>\n<li>IQ bandwith increase</li>\n<li>CPU utilization reduction</li>\n<li>Supporting multiple platforms</li>\n<li>Different computer boards</li>\n<li>Easy setup</li>\n</ul>\n<p>But keeping :</p>\n<p>The radioberry with the high coupling to the RPI must be kept; i want to keep the charm of this radio setup.</p>\n<p>Some time ago i tried to add an ethernet module; it worked but the RPI was still needed.</p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/2/ethernet-rb-1-768x1024.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/2/responsive/ethernet-rb-1-768x1024-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/2/responsive/ethernet-rb-1-768x1024-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/2/responsive/ethernet-rb-1-768x1024-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/2/responsive/ethernet-rb-1-768x1024-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/2/responsive/ethernet-rb-1-768x1024-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/2/responsive/ethernet-rb-1-768x1024-2xl.jpg 1920w\">\n<figcaption>Radioberry using ethernet module</figcaption>\n</figure>\n<p>In the search for all these improvemets i made a proposal for an alternative setup.</p>\n<p>The proposal:</p>\n<p>I like to introduce a Radioberry FT2232H extension board; renamed into the radioberry juice board.</p>\n<p>This radioberry can be plugged in to the board (like you connect a RPI).</p>\n<p>This board contains the FTDI FT2232 chip and implements an USB interface.</p>\n<p>The extensionboard communicates with any SBC/PC via USB, making it possible to connect better performing SBC or a PC.</p>\n<p>To allow USB communications between a PC and the FPGA,<br>the extension board uses an FT2232H USB device to create a communications bridge between<br>the PC USB interface and the FPGA.</p>\n<p>This communications bridge splits into two channels: a programming interface<br>channel and a parallel 245 FIFO communications interface channel.</p>\n<p>The programming interface uses channel B of the FT2232H to configure<br>the FPGA using the Intell Cyclone Passive Serial interface.</p>\n<p>The 245 communications interface uses channel A of the FT2232H to transfer data,<br>either synchronously or asynchronously, over the 245 FIFO interface to and from the FPGA.</p>\n<p>The extensionboard utilises the functionality of the Multi-Protocol Synchronous Serial Engine (MPSSE)<br>architecture in channel B of the FT2232H chip to adapt to the Intell Cyclone Passive Serial interface.</p>\n<p>MPSSE is an FTDI function that allows different synchronous protocols to be configured on any available data channel.<br>Once the FPGA has been configured, channel B of FT2232H can be reconfigured, using MPSSE, to operate as general purpose IO pins.</p>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/2/radioberry-juice.png\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/2/responsive/radioberry-juice-xs.png 640w ,https://pa3gsb.github.io/media/posts/2/responsive/radioberry-juice-sm.png 768w ,https://pa3gsb.github.io/media/posts/2/responsive/radioberry-juice-md.png 1024w ,https://pa3gsb.github.io/media/posts/2/responsive/radioberry-juice-lg.png 1366w ,https://pa3gsb.github.io/media/posts/2/responsive/radioberry-juice-xl.png 1600w ,https://pa3gsb.github.io/media/posts/2/responsive/radioberry-juice-2xl.png 1920w\">\n<figcaption>Initial idea of extension board... later called radioberry juice</figcaption>\n</figure>\n<p>The intention was to make an IQ server controlled by a SPI interface!</p>\n<p>During development the IQ stream and SPI control as individual functions were working fine.<br>In the radio setting where both functions should work together i got a problem…..took me some time to figure this out!</p>\n<p>Sometimes it is better to read the datasheet than just doing….</p>\n<p>Quoted from the datasheet;</p>\n<p>'In this mode (FT245 Style Synchronous FIFO Interface) the ‘B’ channel is not available as all resources have been switched onto channel A.'</p>\n<p>So no SPI / I2C; no control using the FT2232H chip.</p>\n<p>So back to the drawing board….</p>\n<p>Can we solve this? and make it even beter as the initial proposed solution?</p>\n<p>One big drawback in the previous solution was that i had a shortage of pins… so the<br>data in the synchronous mode was based on 4 data lines…. already thinking of a hardware upgrade of the<br>radioberry…. but that is not longer required in the next iteration of the design.</p>\n<p>The solution is simple… looking to the HL-2 there is also 1 data channel for getting the iq datat and<br>control data from and to the SDR program….</p>\n<p>i will follow the same principal.</p>\n<p>In the gateware i have only to reimplement the usopenhpsdr1.v and dsopenhpsdr1.v and making<br>a module for the physcial interface.</p>\n<p>Making the phy interface in verilog… i had some problems to solve…</p>\n<p>After sending 510 bytes i lost 2 bytes! Took me sometime to figure this out! Seems that the FTDI is using 2 bytes<br>for controlling the USB bulk stream (which is 512 bytes);</p>\n<p>So i learned when checking for speed you also must look to data integrity…</p>\n<p>The advantage is that the gateware is now implementing the protocol 1 packets… which can be easliy<br>placed, using one line c code in the ethernet package :</p>\n<p>………….<br>read_stream(hpsdrdata); // fetching 1032 bytes of ethernet packet.<br>………….</p>\n<p>in stead of building the p-1 packet in the c code.</p>\n<p>example from the firmware using the radioberry driver running at a RPI:</p>\n<pre class=\"wp-block-code\" style=\"font-size: 10px;\"><code>void fillPacketToSend() {\n\tmemset(hpsdrdata,0,1032);\n\tmemcpy(hpsdrdata, header_hpsdrdata, 4);\n\thpsdrdata[4] = ((last_sequence_number &gt;&gt; 24) &amp; 0xFF);\n\thpsdrdata[5] = ((last_sequence_number &gt;&gt; 16) &amp; 0xFF);\n\thpsdrdata[6] = ((last_sequence_number &gt;&gt; 8) &amp; 0xFF);\n\thpsdrdata[7] = (last_sequence_number &amp; 0xFF);\n\tlast_sequence_number++;\n\tmemcpy(hpsdrdata + 8, sync_hpsdrdata, 8);\n\tmemcpy(hpsdrdata + 520, sync_hpsdrdata, 8);\n\n\tif (lnrx != nrx) usleep(1000);\n\n\tlnrx = nrx;\n\n\tint factor = (lnrx - 1) * 6;\n\tfor (int frame = 0; frame &lt; 2; frame++) {\n\t\tint coarse_pointer = frame * 512; // 512 bytes total in each frame\n\t\t\n\t\tint nr_samples = (nrx == 1)? 63 : (nrx == 2)? 72: (nrx ==3)? 75: 76;\n\t\tread(fd_rb , rx_buffer , nr_samples);\n\t\trb_sample = 0;\n\t\tfor (int i=0; i&lt; (504 / (8 + factor)); i++) {\n\t\t\tint index = 16 + coarse_pointer + (i * (8 + factor));\n\t\t\t//NR must be read from gateware.\n\t\t\tfor (int r = 0; r &lt; MIN(lnrx, NR); r++) {\t\n\t\t\t\tmemcpy(hpsdrdata + index + (r * 6), rx_buffer + rb_sample, 6);\n\t\t\t\trb_sample+=6;\t\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t// inform the SDR about the radioberry control status.\n\t\t// https://github.com/softerhardware/Hermes-Lite2/wiki/Protocol\t\n\t\t\t\t\t\t\t\t\t\n\t\tif ( !i2c_measure_module_active &amp; last_sequence_number % 500 == 0) read_temperature_raspberryPi();\t\t\t\n\n\t\tif ( last_sequence_number % 2 == 0) {\n\t\t\t// if i2c_measure_module_active; the temperature of module is used, otherwise the RPI temp.\t\n\t\t\thpsdrdata[11 + coarse_pointer] = 0x08 | (rb_control &amp; 0x07);\n\t\t\tif (i2c_measure_module_active) {\n\t\t\t\thpsdrdata[12 + coarse_pointer] = ((pa_temp &gt;&gt; 8) &amp; 0xFF); \n\t\t\t\thpsdrdata[13 + coarse_pointer] = (pa_temp &amp; 0xFF); \n\t\t\t} else {\n\t\t\t\thpsdrdata[12 + coarse_pointer] = ((sys_temp &gt;&gt; 8) &amp; 0xFF);\n\t\t\t\thpsdrdata[13 + coarse_pointer] = (sys_temp &amp; 0xFF);\n\t\t\t}\n\t\t} else {\n\t\t\thpsdrdata[11 + coarse_pointer] = 0x10 | (rb_control &amp; 0x07); \n\t\t\thpsdrdata[14 + coarse_pointer] = ((pa_current &gt;&gt; 8) &amp; 0xFF); \n\t\t\thpsdrdata[15 + coarse_pointer] = (pa_current &amp; 0xFF); \n\t\t}\n\t}\n}\n</code></pre>\n<p>Making the firmware very small around 300 lines of code.</p>\n<p>Here we are getting all the ethernet behaviour for 'free' no difficult coding in the FPGA.</p>\n<p>What is done:</p>\n<ul>\n<li>inital version of firmware running at windows and linux.</li>\n<li>initial version of gateware for 6 RX and 1 TX</li>\n</ul>\n<p>Todo:</p>\n<ul>\n<li>no i2c support yet…for the radioberry preamp board</li>\n<li>no i2c support for radioberry extensions\n<ul>\n<li>when running on a SBC it could be possible to add i2c support to the firmware.</li>\n</ul>\n</li>\n<li>adding i2c support to the gateware</li>\n<li>adding bandscope</li>\n</ul>\n<p>What to expect about perfomance:</p>\n<p>Based on a remark by Steve:</p>\n<p>Bandwidth usage can be estimated.<br>Each IQ sample is 24 bits of I and 24 bits of Q data for 48 bits total.</p>\n<p>If you realize 100Mbs, then you have 100e6/48 = 2.083 MHz total IQ bandwidth.<br>This is just over 5 384kHz receivers or 10 192kHz receivers.</p>\n<p>I think you will run into RPi4 limitations processing and demodulating this much data before hitting bandwidth limitations</p>\n<p>I have been testing the setup on a W10 latptop running 6 rx slices with a 384KHz sampling rate:</p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\"  src=\"https://pa3gsb.github.io/media/posts/2/6rx-384-1024x526.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/2/responsive/6rx-384-1024x526-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/2/responsive/6rx-384-1024x526-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/2/responsive/6rx-384-1024x526-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/2/responsive/6rx-384-1024x526-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/2/responsive/6rx-384-1024x526-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/2/responsive/6rx-384-1024x526-2xl.jpg 1920w\"></figure>\n<p> </p>\n<p>The juice board brings indeed some juice to the radioberry!</p>\n<p>JUICE BOARD</p>\n<p>The change of plans… makes it necessary to make a new juice board design.</p>\n<p>Requirements for the board:</p>\n<ul>\n<li>12 V input iso 5 V making supply mistakes (CU2ED Jacinto)</li>\n<li>adding a rpi pico or teensy uC ?\n<ul>\n<li>i2c / spi support?</li>\n</ul>\n</li>\n</ul>\n<p>O yes a last remark:</p>\n<p>It is also well possible to program in python… there is a nice library available for the FTDI chips.</p>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/2/IMG_4055-rotated.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/2/responsive/IMG_4055-rotated-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4055-rotated-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4055-rotated-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4055-rotated-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4055-rotated-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4055-rotated-2xl.jpg 1920w\">\n<figcaption>Radioberry working together with juice board</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/2/IMG_4058-rotated.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/2/responsive/IMG_4058-rotated-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4058-rotated-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4058-rotated-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4058-rotated-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4058-rotated-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4058-rotated-2xl.jpg 1920w\">\n<figcaption>Juice board</figcaption>\n</figure>\n<figure class=\"post__image\"><img loading=\"lazy\"  src=\"https://pa3gsb.github.io/media/posts/2/IMG_4057-rotated.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/2/responsive/IMG_4057-rotated-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4057-rotated-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4057-rotated-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4057-rotated-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4057-rotated-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/2/responsive/IMG_4057-rotated-2xl.jpg 1920w\"></figure>\n<p>No deadlines, all done in leisure time!</p>\n<p>As always have fun.</p>\n<p>73 Johan<br>PA3GSB</p>\n<ul>\n<li>Proposal : https://groups.google.com/g/radioberry/c/yze9Gq0Jgf8</li>\n</ul>",
            "author": {
                "name": "pa3gsb"
            },
            "tags": [
            ],
            "date_published": "2021-05-31T16:27:21+02:00",
            "date_modified": "2026-10-24T16:48:54+02:00"
        },
        {
            "id": "https://pa3gsb.github.io/publications/radioberry-tx-amplifiers/",
            "url": "https://pa3gsb.github.io/publications/radioberry-tx-amplifiers/",
            "title": "Radioberry TX amplifiers.",
            "summary": "20W Amplifier From Deepu, VU3TLD i received a bare PCB board, he designed a PCB based on the developement done by G6ALU. It took some time to collect all the required components. I had a great time building this amplifier. Winding the toroids and assembling&hellip;",
            "content_html": "<p class=\"has-large-font-size\">20W Amplifier</p>\n<p>From Deepu, VU3TLD i received a bare PCB board, he designed a PCB based on the developement done by G6ALU.</p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/1/IMG_3951-768x1024.jpg\" alt=\"\" width=\"472\" height=\"629\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/1/responsive/IMG_3951-768x1024-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_3951-768x1024-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_3951-768x1024-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_3951-768x1024-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_3951-768x1024-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_3951-768x1024-2xl.jpg 1920w\">\n<figcaption>20W PCB design by Deepu VU3TLD</figcaption>\n</figure>\n<p>It took some time to collect all the required components. I had a great time building this amplifier.<br>Winding the toroids and assembling the 1206 SMD components, these 1206 SMD are large…when you are used to 0603 sizes.</p>\n<p>Also doing some mechanical work like tapping the holes for mounting the HF devices.</p>\n<p>A big advantage of these devices used here are in a TO220 package which differ, from switching devices,<br>in that the tab is connected to the source electrode, so in this design are grounded by the PCB and heat sink.<br>No insulating washers are used when bolting the devicesdown to the heat sink and PCB.</p>\n<p>After assembly i attached a 50 ohm resistor at the amp in connecor; setting the bias was going smooth.<br>But when removing the 50 ohm resistor the amplifier started to oscillate… but looking back in some direct mails<br>from Deepu i could have found the warning; i had to ground the HF-in and HF-out connector.</p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/1/IMG_4007-1024x768.jpg\" alt=\"\" width=\"545\" height=\"408\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/1/responsive/IMG_4007-1024x768-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4007-1024x768-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4007-1024x768-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4007-1024x768-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4007-1024x768-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4007-1024x768-2xl.jpg 1920w\">\n<figcaption>Assembled 20W Power Amplifier.</figcaption>\n</figure>\n<p>Detailed information can be found at:</p>\n<p><a href=\"https://github.com/pa3gsb/Radioberry-2.x-extensions/tree/master/Radioberry-PA-20W\">https://github.com/pa3gsb/Radioberry-2.x-extensions/tree/master/Radioberry-PA-20W</a></p>\n<p> </p>\n<p class=\"has-large-font-size\">10W HF linear</p>\n<p>This kit was orderd from QRP - Labs</p>\n<p>Nice to built a kit after long time…. the documentation provided is very good.</p>\n<p> </p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/1/IMG_4003-1024x768.jpg\" alt=\"\" width=\"544\" height=\"408\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/1/responsive/IMG_4003-1024x768-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4003-1024x768-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4003-1024x768-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4003-1024x768-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4003-1024x768-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4003-1024x768-2xl.jpg 1920w\">\n<figcaption>10W amplifier</figcaption>\n</figure>\n<p>The amplifier is working good.</p>\n<p><a href=\"https://www.qrp-labs.com/linear.html\">https://www.qrp-labs.com/linear.html</a></p>\n<p>Besides the amplifier i decided to buy and built the LPF from QRP - Labs.</p>\n<p> </p>\n<p> </p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/1/LPF.jpg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/1/responsive/LPF-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/1/responsive/LPF-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/1/responsive/LPF-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/1/responsive/LPF-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/1/responsive/LPF-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/1/responsive/LPF-2xl.jpg 1920w\">\n<figcaption>LPF</figcaption>\n</figure>\n<p><a href=\"https://www.qrp-labs.com/lpfkit.html\">https://www.qrp-labs.com/lpfkit.html</a></p>\n<p>combining these filters with the Ultimate relay-switched LPF kit from QRP - Labs.</p>\n<p><a href=\"https://www.qrp-labs.com/ultimatelpf\">https://www.qrp-labs.com/ultimatelpf</a></p>\n<p>For switching the relays iam using a PCA9555 board; an IO extender controlled via I2C.</p>\n<p>This controller is supported by radioberry firmware.</p>\n<p> </p>\n<p class=\"has-large-font-size\">5W Radioberry preamp board.</p>\n<p>The preamp board can be clicked on top of the radioberry.</p>\n<p> </p>\n<figure class=\"post__image post__image--center\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/1/IMG_4004-1024x768.jpg\" alt=\"\" width=\"578\" height=\"432\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/1/responsive/IMG_4004-1024x768-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4004-1024x768-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4004-1024x768-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4004-1024x768-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4004-1024x768-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4004-1024x768-2xl.jpg 1920w\">\n<figcaption>Radioberry preamp board</figcaption>\n</figure>\n<p>This results in a nice setup with a long time ago built 100W amplifier</p>\n<p><a href=\"https://github.com/pa3gsb/Radioberry-2.x/wiki/Radioberry-preamp\">https://github.com/pa3gsb/Radioberry-2.x/wiki/Radioberry-preamp</a></p>\n<p> </p>\n<p>Iam using this setup with a amplifier i built some years ago, the amplifier does contain the LPF filters.</p>\n<p> </p>\n<figure class=\"post__image is-resized\"><img loading=\"lazy\" src=\"https://pa3gsb.github.io/media/posts/1/IMG_4010-1024x768.jpg\" alt=\"\" width=\"529\" height=\"396\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https://pa3gsb.github.io/media/posts/1/responsive/IMG_4010-1024x768-xs.jpg 640w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4010-1024x768-sm.jpg 768w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4010-1024x768-md.jpg 1024w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4010-1024x768-lg.jpg 1366w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4010-1024x768-xl.jpg 1600w ,https://pa3gsb.github.io/media/posts/1/responsive/IMG_4010-1024x768-2xl.jpg 1920w\">\n<figcaption>100W PA</figcaption>\n</figure>\n<p>Have fun</p>\n<p>73 Johan</p>\n<p>PA3GSB</p>",
            "author": {
                "name": "pa3gsb"
            },
            "tags": [
            ],
            "date_published": "2021-03-23T17:07:22+01:00",
            "date_modified": "2026-10-24T16:49:15+02:00"
        }
    ]
}
