Microwave Transmitter

30 - 6000 MHz synthesizer with power amplifier

Similar projects worth following
For a long time I wanted to crown my work in RFwith a self made synthesizer. I have picked Henrik Forsten's home made VNA design with MAX2871 as a reference, modified the schematics and routed to my needs. I use Teensy 3.2 for all digital control.

Circuit design

The microwave transmitter consists of following blocks:

Read more »


Top Layer (L1)

image/png - 253.94 kB - 03/30/2017 at 13:52



Inner Layer 2 (L3)

image/png - 181.86 kB - 03/30/2017 at 13:52



Bottom Layer (L4)

image/png - 166.58 kB - 03/30/2017 at 13:52



Inner Layer 1 (L2)

image/png - 161.47 kB - 03/30/2017 at 13:52




Adobe Portable Document Format - 229.54 kB - 03/28/2017 at 13:06


  • Testing with a Spectrum Analyzer

    Pero08/14/2017 at 14:36 1 comment

    It's kinda shame to be RF engineer and not own a decent spectrum analyzer... Well, it's on my Christmas wishlist since I was 10, but noone bothered to buy me one so far. RTL-SDR was interesting tryout, but definitely not satisfying enough. Luckily, my local hackerspace has a nice little Agilent E4411B, 9kHz-1.5GHz spectrum analyzer, so I decided to give it a try.


    I wanted to see how the signal looks like after every block of the cascade. That's why I used a standard oscilloscope probe instead of SMA cable. Of course, it's a very unprofessional approach in RF engineering, but I needed quick-and-dirty way to investigate my board. Hopefully, if I reduce the frequency low enough, the RF black magic will spare me some meaningful insight. 

    And here's the spectrum of my signal, directly at the MAX2871 output. It doesn't look bad at all! It's very narrow banded and stable over the time. It's only weakness is that it' It peaks to -25 dBm, while the datasheet specifies it should be minimum -5 dBm. What could make it this small? Bad soldering? Some capacitive leakage that I'm not aware of?

    The following table shows the signal power after each element in the circuit:

    MAX2871-25 dBm
    1st switch-29 dBm
    2nd switch-32 dBm
    PE43711 (set to 0 dB att)-32 dBm
    Power amp-43 dBm
    Coupler and connector-43 dBm

    And we have a winner! The biggest damper is, ironically, power amplifier. I assume it's only one more bad soldering job, as many others on board. 

    So, the next task is, obviously, to rework the power amp. And for the future testing, stay out of RTL-SDR based spectrum analyzers.

  • Basic functionality example

    Pero08/11/2017 at 11:01 2 comments

    Verifying that all components are working properly enables me to run the first functional test of the MW transmitter - frequency synthesis. In the repo, there is "Basic" example that configures MAX2871, attenuation, filter and ADC for RSSI detectors (even though the latter ones do not work, presumably). 

    The configuration is set as follows:

    • reference frequency (XTAL input): 19.2 MHz
    • phase detector: R = 1, DBR = 0, RDIV2 = 0, meaning fPFD = 19.2MHz
    • integer mode with N = 120, resulting fVCO = 19.2*120 = 2304 MHz
    • DIVA = 0b101, meaning that fRFOUT = fVCO/32 = 72 MHz.
    • RF power 5dBm.

    I intentionally set the DIVA so high so that I can measure the output frequency with my RTL-SDR dongle. With 5 dBm there should be no problem detecting some signal. 

    The "Basic" example makes user choose register content readout and turning on/off the RFOUT. 

    However, things didn't go as planed. Good things first: there was some output, and I could control it (turn it on/off) with my program. Bad things: The signal was very low, way below the expected 5dBm level. And it was also very wideband and filled with spurious content. Here's an example screenshot from RTL-SDR that runs  "spectrum analyzer" program. 

    I cannot say that the basic functionality test has been passed, so the further investigations and debugging must take place. I'm just not sure where to start looking from. Is the MAX chip configured poorly (it shouldn't be, I used configuration from datasheet example) or do I get some terrible damping from my circuit?

  • Testing other components

    Pero08/09/2017 at 22:59 0 comments

    After verifying the main chip, MAX2871, it would be nice to see if other components work as well.

    First, I tested 4PST switch SKY13322-375LF. The switch is controlled with 4 parallel inputs that switch RF input to one of four outputs. I wrote a simple code that allows user to chose (and change) desired output and measured the connection between input and corresponding output. I was hoping to hear that lovely "beep" when I send certain character on the serial terminal. Guess what, it didn't work. There was short circuit to the GND from all outputs. Bad soldering job with my reflow oven. After the rework, everything worked fine.

    Second thing was the attenuation chip PE43711. It is controlled over SPI and attenuation can be set in steps of 0.25 dB with more or less precision over the frequency range. The attenuation is calculated as an 8-bit word/4. Since the chip doesn't provide any data output, I only could test it with a multimeter. I measured input and output resistance as well as resistance from input to output with various settings. My observations are in the table below:

    Attenuation, dBR inR outR 1-2

    So, the resistance changes when different setting is chosen. I guess this suggests that SPI and chip work. 

    Power amplifier doesn't provide any meaningful testing options - I can only hope it works when it is powered on. 

    RSSI detectors are weird. I can measure detected signal using the ADC on Teensy. However, measured voltage is somewhere around 0.3 - 0.5V, even though there is signal at the input. Interestingly, the measured value drops to 0 when I put the voltmeter on the output pins. I have no explanation at the moment. My only guess is that troublesome soldering of BGA chips resulted in bad joints and ADC input measures any picked up voltage. Voltmeter probably than acts as a pull-down resistor and sets the measured value to 0. 

    Overall, since synthesizer, switches, filters, attenuation and power amp work, I can hope to see generated signal with a spectrum analyzer.  When I get one. 

  • Finally got SPI working with MAX2871

    Pero07/22/2017 at 21:14 2 comments

    It really took a long time to get the damn MAX chip working. Although I made it set MUX line high or low, I couldn't make it talk to me via SPI. On the scope, this line looked like nonsense:

    In the process of investigating, I managed to burn 3 Teensy boards and 2 MAX chips. Don't ask how. I consulted tech support of Maxim Integrated as well. They were really friendly and prompt reacting (thanks Mohammed). But, before I got the answer from them, I decided to try one thing. 

    MUX bits are distributed in two registers. MUX[3] is in reg 5 while MUX[2:0] in reg 2. My initial code was writing reg2 first and reg5 later. For no clever reason, I decided to switch the order of writing. Guess what? Problem solved. 


    I'm using SPI read to get some data out of MAX2871. These are for chip temperature, VCO tuning voltage, and autoselected VCO number. During the development I found out that ADC that reads VCO voltage and temperature must be set and reset after each readout. Otherwise, it won't read properly. 

  • Testing SPI with MAX2871

    Pero06/11/2017 at 21:30 3 comments

    Synthesizer MAX2871 can be configured using SPI on one of its six 32-bit registers. To test if everything works fine, I wrote a prompt Arduino program that runs the SPI bus and configures these registers in very simple way: setting pin MUX of the MAX2871 high or low. This is done by setting adequate bits of registers 0x5 and 0x2. this pin can also be configures as SPI data out (MISO) pin that reads out the contend of the only read register, 0x6. The read data is chip ID, ADC code and VCO status.

    The program initializes the chip (programing all registers twice) and toggles MUX pin high and low every two seconds. After user input on serial port, the program displays read data from the above mentioned register. However, while the pin toggles fine, what led me to believe that SPI works as it should, read out makes troubles. It reads code that makes no sense. Still to be checked.

    Read more »

  • HW fixes

    Pero06/09/2017 at 08:25 2 comments

    After my honeymoon trip and triathlon race, I finally found the time to fix those bugs. Broken LDO was replaced by some similar 3V3 LDO in SOT 32-5 package from an older project. It did the job well, and 3V3 as well as other voltage, were present at their places.

    RF detector on the other hand was a bit more difficult thing to find. Log detector LMH2110 that I lost was available only from Digikey, that would charge me additional $20 for shipping on $1 of chips. The retailer that has lower shipping costs in my country, RS components, only offers another chip in the same package with the same pinout: LMH2120. Thing is, this is a linear detector. But, since it was cheaper solution, I decided to give it a try. I'll worry about log/lin issues later.

    It was the same pain soldering it as before. However, I didn't use hot plate, although I planned to do so. I've put a bit of solder on those tiny BGA pads and covered them with flux. Then, I placed the chips, carefully under the microscope. And finally, I soldered them using the hot air gun, high temperature but very low air speed. I usually don't use microscope when working with SMT, but for chips this size, it was detremental. In any case, chips got soldered, though I'm not 100% sure if they're placed in the right way.

  • HW Bugs

    Pero05/12/2017 at 09:04 3 comments

    The soldering process went on mostly well, no tombstones, no misplaced components and no excesive solder...however, some bugs were found and caused me a couple of hours of annoyance:

    • 3V6 and 5V voltages missing. For some reasong the switching power supply L7980 didn't deliver the said voltage. After some time of examination, I found the root cause, and it couldn't have been more stupid than it was - feedback resistors R60/R61 and R62/R63 were converesely set. So, instead of 5 or 3V6 volts at the output, the voltage divider was set to 0.75V. The reason of this folly is that in my Assembly Drawing the resistor designators were misplaced. Replacing the said resistors solved the problem.
    • Short circuit at 3V3 RF. After I got SMPS to work, I noticed increased heating of the chips. Soon, I realize that 3V3 at the PLL of MAX2871 is shorted. To find out the location of the short, I lifted the U8 chip (LP5907) and broke it by accident. But at least, I've found the cause of short circuit. Under the MAX2871 chip there is a ground pad and 3V3 trace very close to it. For some reason, solder mask doesn't cover it completely. So, during the soldering, some paste went over it and made a short. Reworking the MAX2871 solved the problem. However, I've lost LDO chip and have to replace it now.
    • 6-ball BGA didn't solder. This one was really anoying. The small RF logarithmic detectors LMH2110 didn't solder to their place, so I needed to do it manually. First, they are increadibly small (IC size smaller than 0603) and it was Sisyphus work to put them on their place. I managed to loose two of them just by clasping them a bit too hard with my tweezers. Second, I couldn't solder them easily because, I assume, the solder balls are lead-free. I wasn't able to heat them up with my hot air gun (nor reflow oven) because the air flow was set too low because any higher air flow would blow them away :/. I plan to use hot plate next time when I solder them, that is, when the new batch arrives because I lost all those that I had :(
    • Filter lost. Simple as that, I lost the filter LP0603A1880ANTR.

    These are all bugs I found so far. I examined the board and believe that it main parts should work properly. I could test out the VCO, attenuator and switches, but I cant solder the Teensy on board before all my reworking is done. So, when new detectors arrive, I'll give it a test try.

  • Day of solder

    Pero05/07/2017 at 16:21 0 comments

      Friday evening is fun evening for some, but soldering evening for me. In the coworking space with my beer and curious passerby I patiently sat and manually placed every single component, ruining my eyes and hurting my back. This is how the process went:

      1. Placing the stencil:
        Positioning stencil above the pcb manually is probably the most tedious work there. It is never positioned perfectly and if one side seems right, the other is most certainly wrong. In this job your best weapon is patience.
      2. Applying solder paste
        At the same time carefully, like holding a panda shaped snowflake and yet firmly, like holding the door against the horde of Orcs, you have to apply the paste. Be sure to wear the clothes you like the least.
      3. Pick'n'Place
        Meditation and life contemplation. Wining imaginary quarrels. Best jokes you'll ever think of.

      4. Burn it all
        very slowly. In my homemade solder oven. Solder process went OK, no tombstones were created but I still wasnt't really happy with the quality of the solder joints. It seems like there was not enough solder paste applied and I'm worried about quality of connections.

  • Everything arrived!

    Pero05/02/2017 at 21:06 0 comments

    So, today I received the PCBs from OSH park, the last thing I was waiting. It has been a month since the order. What to say about it? DigiKey parts arrived within two days, OSH Stencils arrived within a week and pcbs within a month. See the geometrical progression there? I assume they would arrive sooner had I payed for a priority shipping, but this is a hobby project, therefore no rush. Now, to the lab and get on with soldering!

  • Everything ordered

    Pero04/03/2017 at 20:57 0 comments

    Today, I've completed all orders: PCBs (OSH Park), stencils (OSH Stencils) and components (Digikey). These are the total costs:

    PCB (4 layers, 3.5"x1.4")€44.20
    Stencils (3mil kepton, 1" margins) + shipping€14.50
    Components (ICs, some inductors)€55.50

    Not a cheap hobby. Still, it's in the price range of cheaper RF synthesizers obtainable on Alibaba or Ebay. However, this synthesizer offers on board power meters that can be used for level control as well as scalar network analysis.

View all 13 project logs

Enjoy this project?



TegwynTwmffat wrote 6 days ago point

I've just completely re-read your project and it's inspired me to build my own RF signal generator to test my own 4G repeater with. I'm going to use the ADF4351 + LCD keypad shield + some resisters + Arduino Uno as documented here:

... And hope to save myself $600 on buying a second hand signal generator for up to 1000 MHz.

  Are you sure? yes | no

Gregor wrote 7 days ago point

Hey, cool project! I've had similar trouble while using RTL-SDR as a spectrum analyser, so I'm glad I'm not the only one :)

  Are you sure? yes | no

TegwynTwmffat wrote 6 days ago point

I wonder why the RTL-SDR failed? I've also got the LimeSDR so maybe that will work better with this type of signal generator?

  Are you sure? yes | no

TegwynTwmffat wrote 05/03/2017 at 09:29 point

This looks like a very interesting project for me. I'm wondering why you've not got an LNA (low noise amplifier) in the circuit?

I'm using this one myself, but it only goes up to 3.8GHz:

Mouser Part No: 772-QPL9065SR
Manufacturer Part No:
Qorvo Qorvo
RF Amplifier .45-3.8GHz NF .55dB Gain 37.5dB

  Are you sure? yes | no

Pero wrote 05/07/2017 at 16:16 point

I was thinking of placing an LNA on the detector side, but seeing that detectors are good enough to detect really low power levels on their own, I said, nah, don't wanna bother with additional components. It's already anoying enough for manual soldering :)

  Are you sure? yes | no

TegwynTwmffat wrote 05/07/2017 at 17:27 point

Great! Hey, I don't suppose you could have a quick look at my repeater project:

 any comments / feedback would be useful. I'm kind of struggling with it at the moment. Thanks!

  Are you sure? yes | no

Pero wrote 05/08/2017 at 08:33 point

I did take a look at your project, and boy does it seem cool! Great job, man! Keep up the good work. I however, have not much to say about it, since I have no experience with LimeSDR nor did I ever do anything with GSM/LTE systems... I could only drop by if you have some HW design problems to look after.

  Are you sure? yes | no

TegwynTwmffat wrote 05/08/2017 at 08:56 point

Actually the project is comprised of two parallel solutions - one using the LimeSDR and the other using hardware only. The LimeSDR is fairly difficult to set up although I have had some help from the engineers that built it, by bribing them with homemade hot chilli sauce!

The hardware solution is being done in 'simple' blocks, each one on it's own PCB and connected by U.FL cables. Currently I have blocks for duplex (bandpass) filters, low noise amps, variable gain amps, fixed gain amps and am using the LimeSDR as a spectrum analyser. I'm not trying to process the signal in any way at the moment - just filter it and amplify it. It should be simple if I really knew what I was doing! Some of the blocks are working and others are not and there are a couple more to assemble when I have time.

Please feel free to join the project :) HW input would be really useful.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates