In this Instructable I'll show you how I built a low-cost antenna analyser which can measure an antenna and display its VSWR over any or all of the HF frequency bands. It will find the minimum VSWR and corresponding frequency for each band but also will display a realtime VSWR for a user-selected frequency to facilitate antenna adjustment. It also has a USB port on the back for outputting frequency and VSWR data, to allow graph-plotting on a PC. The USB port can also be used to reflash the firmware if needed.

I recently got into amateur radio (because I liked the idea of peer-to-peer communication over huge distances without infrastructure) and rapidly made the following observations:

1. All of the worldwide communications that interested me take place on the HF bands (3-30 MHz)

2. HF transceivers are very expensive and will break if you don't drive them into a reasonably well-matched antenna

3. You are generally expected to rig up your own HF antenna from bits of wire strung across the garden (unless you want to spend even more money than you spent in 2).

4. Your antenna might be a bad match but you won't know till you try it.

Now a purist would probably say that one should first test the antenna on very low power at the frequency of interest and check the VSWR on the rig's meter to assess the quality of the match. I don't really have the time to muck about with that sort of thing for every frequency I might want to use. What I really wanted was an antenna analyser. These devices can test the quality of the antenna match at any frequency over the HF bands. Unfortunately they are also very expensive, so I set about considering whether I could make my own. I stumbled upon the excellent work carried out by K6BEZ (see http://www.hamstack.com/project_antenna_analyzer.html), who investigated the use of an Arduino to control a cheap direct digital synthesiser module (DDS). He soon abandoned the Arduino on cost grounds, preferring to use a PIC. Well, in 2017 you can buy an Arduino Nano for about £3.50, so I thought it was time to revisit his work, pick up where he left off and see what I could come up with.

Update - as several people have asked about schematics, the fundamental Arduino / DDS / VSWR bridge circuit is largely unaltered from K6BEZ's original work. Please check out the above URL for his original schematic on which I based this project. I've added an encoder, an OLED screen and fully developed firmware to make for an effortless user experience.

Step 1: Buy Your Stuff

You will need the following items. Most of them can be obtained cheaply from Ebay. The most expensive single item was the box, at close on £10! It might be possible to substitute some items (I used 47 Rs instead of 50 Rs, for example). The diodes were rather unusual (I had to buy 5 off from Italy) and would be worth substituting for more readily available items if you know what you are doing.

  • Arduino Nano
  • DDS module (DDS AD9850 Signal Generator Module HC-SR08 Signal Sine Square Wave 0-40MHz)
  • 1.3" i2c OLED display
  • MCP6002 op-amp (8 pin)
  • 2 off AA143 diode
  • Ceramic capacitors: 2 off 100 nF, 3 off 10 nF
  • 1 uF electrolytic capacitor
  • Resistors: 3 off 50 R, 2 off 10 K, 2 off 100 K, 2 off 5 K, 2 off 648 R
  • 2.54 mm pitch screw terminal blocks: 3 off 2-pin, 2 off 4-pin
  • Single-core hook-up wire
  • 702 or similar hook-up wire
  • Stripboard
  • Square header strip (female) for plugging the Arduino and DDS into - don't buy the round socket stuff by mistake!
  • SO-239 chassis-mount socket
  • Rotary encoder (15 position, 30 detent) with push switch and knob
  • Cheap rotary encoder 'module' (optional)
  • Project box
  • Toggle switch
  • Right-angle micro-usb to USB B bulkhead mount lead (50 cm)
  • PP3 and battery clip / holder
  • Self-adhesive PCB mounting posts / standoffs

You'll also need a soldering iron and electronics tools. A 3D printer and a pillar drill are helpful for the enclosure, although if you wanted you could probably assemble the whole thing on the stripboard and not bother with a box.

Naturally you undertake this work and exploit the results generated at your own risk.

<p>Hi, <br></p><p>thanks for the reply on the veru useful analyzer project.</p><p>The applicable schematics is the one reported on page 7 of 8 on the follwing link:</p><p><a href="https://www.instructables.com/you/backtalk/?action=reply&commentId=CSGLCWEJ0IEBCSC" rel="nofollow">https://www.instructables.com/you/backtalk/?action=reply&amp;commentId=CSGLCWEJ0IEBCSC</a>.</p><p>Is it correct ?<br></p><p>Where do I have to connect the encoder( 2 pins ) , the encoder push_button (1pin ) and the Oled_display (2 pins ) please ?</p><p>Does your program .ino send data to the LCD and to the USB for PC diplaying please ?</p><p>Thanks for the assistance.</p><p>iw2fvo,</p><p>Ambrogio</p>
<p>Hi Ambroigo,</p><p>I've put additional information on Steps 2 &amp; 3 which shows where to connect the screen and encoder to the Arduino. D2, D3, A4 &amp; A5 must not be changed (because they provide hardware interrupts &amp; I2C support). The other digital pins to interface with the DDS etc. are optional and can be changed in the sketch.</p><p>The sketch (.ino) automatically interfaces with the OLED and encoder. When performing a single or multi-band scan, frequency and VSWR values are sent out of the serial port on the back of the unit. The easiest way to get these is to connect up your USB Arduino Uno-style programming lead and start up a 9600 baud serial monitor via the Arduino IDE. Then copy and paste the results into a spreadsheet.</p>
<p>sorry there is a correction about the link:</p><p>http://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf</p><p>Bye</p>
<p>I will like to build up this good project soon.</p><p>Could you please post the schematics diagram ?</p><p>My e_mail is: iw2fvo@yahoo.com</p><p>Thanks </p><p>Regards</p><p>Could any body help me in sending the schematics diagram please ?</p>
<p>Hi. You can find the schematic for the basic VSWR capability via the link on Step 3. Look on Page 7. This doesn't include the encoder and the screen. </p><p>I didn't expect this project to create such interest so I will have a look at creating a comprehensive schematic for the whole system. It will take a little while though...</p>
<p>er, sorry - Step 2!</p>
<p>Very nice job! I've been facing difficulties to compare your job to K6BEZ's. Mainly with respect of I2C and rotary encoder. Can't you show how you have connected them? I'm a beginner with Arduino.</p>
<p>Hi and thanks. I will look at producing a schematic as there is a lot of unexpected interest. Nevertheless all the detail is in the instructable if you look carefully.</p>
<p>Yes a very nice job . Myself I have always cut a dipole for what I want using standard tables .Then connect it to low power HF rig and sweep the band watching where it takes the most power. Not what you are supposed to do but most of us do. If I want a yagi or quad or something like that I use the cut dipole driven element as the driven element for the bigger ant , after all everything else is grounded . Verticals give me more trouble though so this might be useful there. Interesting post though and I must have a close look . Got a DDS yesterday and have to make a power supply specially for it +5,+12 , GND and -12, so have to start with a 24V supply . Thats a bit of a pain and it uses an ATMEGA chip.</p>
<p>Thank you. Sounds like you have way more experience than me in the field (that's not hard, mind you!). I'm usually really pushed for time and the finer points of antenna design and tuning are beyond me at the moment. I spent out a load on a new rig and didn't want to trash it with my inexperience! Hence the analyser, which gives me peace of mind and saves me time if and when I change the antenna.</p><p>Your DDS seems has demanding supply requirements. The one I used cost about &pound;6.30 and uses a 5 V rail. It will go up to about 40 MHz. Good luck with the project though.</p>
<p>For fun I suggest you set your tranceiver at very low power and transmit a CW signal into the antenna while sweeping the VFO if you have one .Watch the power meter and look for where it takes the most power out. I think you will still see a difference in sweet spots from what your device is telling you . You may be surprised at the difference. When the antenna draws its maximum power that is where the energy is getting off it best and you tune the antenna to move that spot to where you want it by lengthening or shortening your antenna.wite On site capacitance and signal reflections change the resonant frequency .</p>
<p>Transmit and sweep at the same time? Don't let the FCC RDF you...</p>
The Fcc won't bother you if you are just tweaking the hotspot for your antenna. You won't be on the band long enough. And at low power you won't really be causing much, if any, interference with anyone. Just make sure the band is clear around where you're doing it. Its not like you're sweeping hundreds and hundreds of KHz up or down the whole band. The point is to find the sweet-spot in your tuning. Usually the dip is pretty close to where your analyzer finds it.
<p>Hi again. Thanks for the tip; it certainly sounds very easy (once you know how). In my defence I don't have a key. I'm working on learning CW but haven't got far enough with Koch to justify buying one yet.</p>
Um, that actually would be the tune button to the right of your vfo knob in your photo! :-)
<p>Thanks for the kind words and the very useful tip! Now where's that 450D manual?...</p>
<p>Hey dr phil,</p><p>Nice project!</p><p>You wont need a key. There should be a mode on your rig called &quot;tune&quot;. This will create and transmit a cw (continous wave carrier, not morse) signal the whole time it is turned on. This will let you tune the antenna to the rig and look for that dip. And remember, just tune for minimum smoke.</p><p>Dannlh</p>
<p>KD0RVY Here - I had done a similar project for VHF/UHF and I think I like this one better, especially since it has a read-out with easy to read info. Could this be easily converted over for VHF/UHF use, and if so, what would need to be done?</p>
<p>Yeah, I just love those OLED displays - small but very clear and easy to read.</p><p>You could probably convert this if you a) had an appropriate DDS module covering the relevant ranges; b) your resistive bridge (see comments above),and associated circuitry and wiring were appropriate to the higher frequency. If all that's okay (and I've no idea whether it is), you just need to change the contents of the array that stores the HF band information.</p><p>If you do it, please publish!</p>
<p>I'll have to look into that. I do have a DDS module that's appropriate for the relevant ranges since it's currently used for the last analyzer I did. It's actually still on my breadboard all hooked up and everything. The one thing I like about this one vs. my current one, is that this one looks like there's quite a few less connections needed, doesn't require a computer to hook up to in order to use, and it has the OLED. Once I have some time to sit down and look at everything, I'll be sure to share my findings with you. :)</p>
<p>VE6CMM here. I would like to see a schematic as I can't really follow your breadboard layout. Would it be possible to add one??</p><p>It's a nice looking project and I think that you have done an excellent job with it.</p>
<p>Thank you. If you want the schematic, check out K6BEZ's website for his original circuit, which I've borrowed largely unchanged. I have however added the rotary encoder and the screen etc. which hopefully any Arduino fan should be able to follow or adapt to their own specification. If not I'll try to answer specific questions. </p><p>For what it's worth, it usually takes me ages to transfer a schematic onto stripboard and I'd love it if someone did that job for me; it's interesting to see so many people wanting it the other way round. :-)</p>
<p>Hi, WA2SKO here... looking at the photos you published, I'm not understanding how you are obtaining VSWR data. Is there some sort of directional coupler that I'm missing? I just started playing around with a few different DDS and PLL breakout boards (ultimately planning to build a universal function generator) but a &quot;scanning antenna analyzer&quot; would be a MUCH more useful thing for me (considering that my one and only antenna is a 66 foot (40 meters) dipole strung across the yard (and not a very straight run). I have no idea if the antenna is any good (it works, but is it working it's best? I bet not). Please fill me in on how that circuit actually works (just the VSWR data - which I assume ends up being a variable voltage DC signal?). Thanks!</p>
<p>Hi. See http://www.hamstack.com/hs_projects/k6bez_antenna_analyzer.pdf. Page 11 refers to a simple resistive bridge. I think the implementation on the board is more complex as Page 11 only shows a single diode. I haven't gone through it in detail, but I'm glad it seems to work!</p>
<p>A nice arduino project, but...sigh...like almost every other arduino project everyone does wiring diagrams and NOT schematics. I guess it is the mindset of the community - we just wire boards together, we don't design circuits...</p>
<p>Thanks. I didn't present the schematic because a) the fundamental VSWR part is K6BEZ's work and is documented extensively on his site; b) the idea is to tell you how to make one of these, not go into the detailed function of the system. Hope that makes sense :-). </p>
Hello Kevin here in Las Vegas Can i purchase one from you ? KC7ZOH
<p>Hi &amp; thanks for your interest. I'm really sorry but I couldn't face making another one. It took me several months (off and on), but in fairness most of that was getting the code right (and making the rotary encoder work properly). The good news is that bit has now been done for you. It's really easy to build a bare-bones version (two or three hours work) and you just need to put my sketch onto it.</p><p>Alternatively you may wish to consider one of the very cheap Chinese units from Ebay? </p>
Nice! Would you do anything different if you built another one?
<p>Thanks. Erm, seriously I would probably buy the cheap Chinese analyser for about &pound;45. Getting my basic system working was pretty easy, but making it work well and look nice took ages. What's your time worth? Like all these things, it's economically usually a bad idea but you learn loads and get lots of satisfaction.</p><p>The encoder is really nice but honestly, it would have been much cheaper and quicker to use push-buttons.</p><p>For a future build it might be nice to try to incorporate resistance and reactance measurements, but at the time it was all about not blowing up my finals!</p>

About This Instructable




More by dr_phil:HF Antenna Analyser With Arduino and DDS Module Coat-hanger hook for hotels Wood pile "book end" supports from pallet 
Add instructable to: