Magnetic Loop Antenna Automated Tuner




Introduction: Magnetic Loop Antenna Automated Tuner

About: I am an electronics engineer working in telecommunications in the UK. Generally I work on chip design for digital radio receivers. I like all things arty and consider chip design a bit arty :) Basically I h…

Hello community - Dave here (radio callsign G7IYK),

I am very pleased to publish details of my latest project which is a magnetic loop (ML) antenna automated tuner. Before we get deep into the project, I intend to outline what a magnetic loop antenna is and why this project came about. I do not intend to go into huge depth regarding magnetic loop antenna design as this article is centered on my automated tuning system and I am making the assumption the reader is already somewhat familiar with magnetic loop antenna construction and operation.

So what is a Magnet Loop antenna ?

I am assuming if you have found this instructable and have taken enough interest to read it, you probably already know what a magnetic loop antenna is. I expect you already know the advantages/disadvantages and the challenges of such an antenna design.

They are termed "magnetic" because they pick up the magnetic component of an electromagnetic field, unlike the traditional antenna designs such as dipoles, yagi and verticals which only respond to the electrical component.

Magnetic loop antennas have the advantage of being relatively compact and are quite narrow-banded. This has the advantage that very few harmonics are radiated while transmitting and when receiving the narrow band, nature acts as a preselector preventing overdrive of the receiver and provides narrow band noise performance. A magnetic loop antenna also has the advantage of performing well when close to or at ground level compared to a traditonal antenna which generally performs poorly unless mounted at a suitable band dependant height.

So if you want a performance antenna to operate mobile or in a small space, the magnetic loop is a very worth while candidate.

So what is the catch .....

The magnetic loop is a resonant tuned loop. RF energy is coupled to the main loop in a variety of possible ways such as a small coupling loop, transformer coupling or a gamma coupler to name but a few. The main loop is not physically connected to the coupling system of choice. The main loop forms an inductor and to tune the loop, a variable capacitor is connected across the inductive loop. At the desired operating frequency, the system is resonant with an operating bandwidth of only a few tens of kilohertz. If the loop is well constructed and at the resonant frequency, the measured VSWR maybe close to 1:1. The VSWR increases rapidly when the loop is no longer resonant.

The challenge and reason for the project

The challenge is to tune the magnetic loop reliably and quickly - the purpose of this project is to provide the magnetic loop operator/enthusiast with an electronic system to achieve this.

How do we tune our magnetic loop ?

As has been mentioned, the magnetic loop needs to be tuned and the tuning device is a variable capacitor. Generally the variable capacitor can either be tuned by hand or in the case of my project from a geared down motor drive system.

Step 1: This Magnetic Loop Tuner - a Concept and Overview

As was previously mentioned, the magnetic loop consists of an inductive loop connected to a variable capacitor. The variable capacitor is used to tune the loop in order to achieve resonance. The variable capacitor is generally driven by a motor. Therefore the tuning is an electromechanical system subject to error and change over time.

There are many homebrew magnetic loop tuning systems out there on the net. I can't claim to have looked at all of them but I have considered a few. In my experience, the tuning systems available generally rely on open loop motor position in order to tune the antenna. Many systems use stepper motors which generally provide a high degree of positional accuracy and repeatability. Such systems calibrate the loop by recording the motor position for various desired frequencies. Once calibrated, returning the motor to a particular position should yield the desired resonant frequency.

However, in my experience, we encounter an issue with positional based systems. As has been mentioned, the magnetic loop is very narrow banded and even very small changes in the physical antenna result in changes in the resonant position of the capacitor. So for example we might calibrate our loop one day but if mounted externally and subject to thermal and physical buffeting the next day, all the calibrated data has drifted. Therefore the loop requires regular and potentially time consuming re-calibration. If the antenna is designed for mobile use, breaking the antenna down and rebuilding will certainly result in the loss of calibration data.

The Magnetic Loop Tuner presented in this instructable

The magnetic loop tuner I present in this instructable does not rely on positional data; the controller has no concept of the variable capacitor or motor position. Instead, the controller tunes the antenna using a programmable frequency source to scan for and locate the resonant point. Once the antenna resonant point has been located, the controller automatically refines its search bandwidth and subsequently tracks the antenna resonant point in real time. Therefore we need not calibrate the controller at all - the user simply enters the desired frequency and the controller moves the antenna to the desired resonant operating point.

From this point we can either move the antenna resonant frequency manually by means of a rotary control, enter a desired frequency in a GoTo mode or pick a desired frequency from a set of presets. In all cases, the current displayed resonant frequency is the actual antenna resonant frequency based on a real time measured minimum reflected power and minimum VSWR.

In the following sections I aim to present the tuner in more detail ....

Step 2: The Magnetic Loop Tuner - a Feature Set Description

I have attempted to made the magnetic loop tuner as simple and intuitive to use as possible. Here is a list of the design's primary features, both physical and functional.

  • Find my loop feature - loop located anywhere from band 80m to 12m
  • Frequency based location and tracking system (no motor positional data required)
  • Manual real time frequency based positioning by means of multi-rate rotary control
  • GoTo frequency positioning
  • Four preset frequencies per band stored (non volatile)
  • Lower and upper frequency limits to prevent physical capacitor under/over drive
  • Automatic VSWR calibration
  • VSWR displayed for indication
  • Motor backlash compensation
  • Information displayed via 20x4 LCD
  • RF inline operation - tuner and radio automatically switched to the antenna
  • PC based GUI appication for rapid update of controller parameters via USB
  • PC bootloader application facilitating controller firmware updates via USB

Step 3: My DIY Magnetic Loop 40m - 20m

The step shows my DIY magnetic loop. The main loop is made from ~5m of 7/8inch Heliax cable and the coupling loop from soft copper tubing. The tuning capacitor is homemade and a butterfly design. However, I am not using the capacitor in true butterfly mode in that I am connecting to the rotator with the stators wired in parallel. This is to give me a range of ~18pF to 160pF in order to be able to cover both 40m and 20m bands. I generally use low power <10W and so am not too concerned about high voltage isolation. The capacitor is driven by a Nema 17 bipolar stepper motor fitted with a 27:1 planetary gearbox. Driven from the loop tuner this equates to about 3rpm and a precision of 5400 steps/revolution. With this mechanical arrangement, the tuner can quite comfortably tune and track the loop to within 5KHz of the target frequency and using the rotary hand control to within 1KHz.

Step 4: Magnetic Loop Simulator

In order to more easily develop the loop tuner firmware/software, I built a magnetic loop simulator. This also uses a Nema 17 stepper motor to drive a small variable capacitor via a worm gear and gives a reduction ratio of 20:1 so similar to the real magnetic loop antenna. The variable capacitor is loaded with an inductor to produce a resonant circuit. Although the Q of the loop simulator is nowhere near as high as the real magnetic loop antenna, the simulator has proved extremely useful in terms of firmware development as it can sit on the desk next to the tuner and I can observe the operation directly.

Step 5: Lets Actually Use the Magnetic Loop Tuner

Before getting into loads of design detail, I think a good place to start is with actually using the magnetic loop tuner. A previously stated, my DIY magnetic loop is designed to cover the 40m and 20 bands so from ~7MHz up to ~14.2MHz. As a result, I have not been able to actually test the loop tuner in bands 17m - 12m. If someone wants to build the loop controller and try these bands or lend/donate me a loop that will cover the higher frequencies, I am more than happy to try/demonstrate.

Through the videos in this section we will look at the operation of the loop tuner, calibration and interaction with the PC application.

Through the power of video (well some West country muppet - me) we shall explore the following :

  • Board overview, looking at the key components at a high level
  • VSWR calibration
  • Initial loop find, track and move to functions
  • PC control software
  • Software frequency presets
  • Software configuration parameters
  • Bootloader operation

Step 6: Magnetic Loop Tuner Hardware Block Diagram

The diagram in this step details the loop design at a high level showing all the main component blocks and the interfaces between said blocks.

Step 7: Video - Magnetic Loop Tuner Board Overview

The video in this step covers the design hardware in an attempt to explain all the main design components for those who maybe not so familiar with electronics and component identification.

Step 8: Video - Magnetic Loop Tuner VSWR Calibration

Step 9: Video - Magnetic Loop Tuner - Initial Loop Find, Track and Move Demo

Step 10: Video - Magnetic Loop Tuner PC Control Application GUI

Step 11: Video - Magnetic Loop Tuner - Presets Demo

Step 12: Video - Magnetic Loop Antenna - Configuration Menus

Step 13: Magnet Loop Tuner Firmware Overview

The firmware comprises mainly a menu state machine which is driven from interrupt service routines ISR. The low level ISR is handling the user input from buttons and rotary encoder. There is also a 100ms low level ISR tick used for anything that tends to flash - LED's, LCD cursor etc.

The high level ISR is dedicated to servicing the USB 2.0 interface.

Hanging off the menu state machine are drivers for the LCD, the DDS, serial interface and IIC interface.

Step 14: Resistive Bridge and Signal Processing Design

In this step we look more closely at the resistive bridge and signal processing stage. From a hardware point of view, this detector has been the lion's share of the work. The design we see in this instructable is actually the second iteration of the detector. The first iteration used a different design incorporating rectification and capacitive sample and hold stages within the bridge itself. However, this design approach proved problematic. Due to the reactive elements in the first bridge design, I found the act of connecting the bridge to the magnetic loop antenna subtly changed the resonant point of the antenna by about 5-20KHz and this shift in resonant frequency was dependent on the target frequency of interest. As I was trying to tune the loop to within 5KHz of target frequency this proved a big problem. I attempted to correct the shift in firmware using a calibration routine and got quite close to ironing out the issue but I was never completely happy with the outcome. My first detector design used a signal generator based around the Analog devices AD9850 DDS chip. This device generates a single sinusoidal output frequency and will cover the HF bands.

My second approach at the detector uses a very different architecture. I confess my design is in part based on the work detailed by Professor Dr Thomas Baier (DG8SAQ) in his excellent paper "A Low Budget Vector Network Analyzer for AF to UHF". This technique (in part) has been adopted in the design of the truly excellent NanoVNA mini vector network analyzer. I have adopted a similar resistive bridge front end in my loop tuner design but after that, my design diverges from that of the NanoVNA.

Current detector design approach

The current detector design uses a completely resistive balanced bridge. As there are no reactive elements in the bridge, the resonant frequency of the magnetic loop antenna is not altered with the detector connected - happy days ! However, this poses another question - how do we process the bridge output when it is at a target frequency of between 3.5MHz and 29MHz ? The microprocessor is certainly not capable of analysing those kind of frequencies directly !

The NE612N low-power monolithic double-balanced mixer and oscillator

The answer is the amazing NE612N double balanced mixer ! This device seems to be targeted at cordless mobile telephone technology and has everything one needs (including an LO) to recover signals in low cost cordless phones and has a frequency range up to 500MHz. Because of the huge target market these devices are really cheap - I bought a pair in DIL packages for only £6.50.

In a nutshell, the mixer has two inputs and one output - we input the wanted received signal and a reference local oscillator input. The output is known as the Intermediate Frequency or IF result.

So say our wanted signal reflected back from the loop resistive bridge is Fbridge and our local oscillator frequency is LO the mixer generates the following :

Fbridge X LO = (Fbridge+LO) and (Fbridge-LO)

Now consider what happens if we arrange our LO frequency to be ALWAYS say 100KHz lower than our target frequency Fbridge

Fbridge X (Fbridge-100KHz) = (Fbridge+Fbridge-100KHz) and (Fbridge-Fbridge+100KHz)

So the first output term we get double the target frequency plus the LO - we don't need this !

However the second term is the key because the target frequency element Fbridge is removed and we are left with a FIXED IF of 100KHz. So what we have done is mixed down our target frequency Fbridge to a much more useful and manageable IF of 100KHz.

After mixing down we want to rectify and average the IF signal using capacitive reactive elements but critically these frequency dependant elements are now only ever presented with a fixed IF of 100KHz and so their response does not change with frequency because the IF is fixed and unchanging irrespective of the target frequency we are analyzing.

A important secondary benefit of the NE612N

Another design benefit of the NE612N is that it is a double balanced mixer. This means its RF input and output are differential. The resistive antenna bridge works (in the reflected path) by generating a signal across the bridge proportional to the level of reflected signal. So by connecting the differential mixer input across the bridge we subsequently generate and IF output level proportional to the signal reflected by the antenna.

Following the double balanced mixer

Following the double balanced mixer we first have a 150KHz low pass filter. The next stage is a perfect half wave rectifier. By wrapping an operational amplifier around the diode we can all but eliminate the forward diode drop restriction. Once rectified we envelope track the signal before finally adding an adjustable gain output stage. The final forward and reflected analogue signals are input directly to the PIC for processing.

Consider the two Spectrum Analyzer screen shots attached.

The screen shots show the mixed down 100KHz signal after the low pass filter.

The first screen shot shows the antenna port open circuit and therefore almost all the power is reflected. We can see a signal with a level of about -24dBm.

The second screen shot shows the antenna port terminated at 50ohms and so almost no power is reflected. We can see a signal with a level of about -48dBm

This corresponds to a return loss of about -24dBm corresponding to a VSWR of about 1.1 : 1

Calculating VSWR from Forward and Reflected signal paths

Considering the detector block diagram we note that in addition to the reflected path a second chain is used to measure the forward signal path - this is termed the reference path. In order to calculate VSWR we need both the reflected path and forward (reference) paths.

VSWR = (forward path + reflected path) / (forward path - reflected path)

So by example if the antenna is a perfect match the reflected path signal is zero and so :

VSWR = (forward path) / (forward path) = 1.0

By contrast if the antenna is a very poor match or even open circuit the reflected signal = forward signal and so :

VSWR = (forward path + reflected path) / 0 = infinate (or at least quite a large number)

The problem with measuring VSWR when close to 1:1 is that we must measure very small levels of reflected signal tending to zero or just noise. This makes trying to resolve low levels of VSWR difficult and error prone.

Step 15: NE612 LTSpice Simulation

In this step I present a LTSpice simulation of the NE612

In the LTSpice circuit the NE612 is being driven by a 250mV 9.9MHz clock and a 3.162mV (-40dBm) sine wave presented to the mixer as a single ended input.

In the first plot we see the output of the NE612 mixer with no output low pass filtering. In this case we can clearly see the 100KHz mixed down wanted signal at a level of ~20dBm demonstrating the mixer gain. We can also see the unwanted mixer products and harmonics out at 10MHz+. The unwanted signals are relatively high in level similar to the wanted signal.

In the second plot we again see the 100KHz wanted signal at ~20dBm. However in this simulation the low pass filter is included and as a result the unwanted signals are significantly attenuated.

The 100KHz wanted signal goes on to be rectified and envelope tracked before a final gain stage.

Step 16: Resistive Bridge and Signal Processing Spice Model

In this step I present the LTSpice model of the resistive bridge and signal processing.

LTSpice is modelling the antenna as a simple LCR resonant circuit much like the magnetic loop simulator. The model sweeps the frequency from 3MHz to 11MHz over a 3ms time period. LTSpice uses a model of the NE602 double balanced mixer and the subsequent analogue processing. The LO is generated by a second signal generator sweeping the frequency from 2.9MHz to 10.9MHz over the same 3ms period so 100KHz lower than the target RF.

The output plot shows the voltage output from the final gain stage which is subsequently presented to the microprocessor A to D input.

Step 17: Magnetic Loop Tuner Bootloader

Step 18: Magnetic Loop Tuner Hardware Schematic

Step 19: Magnetic Loop Tuner Parts List

Here is a list of the parts used to build the magnetic loop tune

Active, non passive components

  • PIC18F25K50 microcontroller x1 (I was originally using the PIC18F2550) but have changed the PIC
  • 7805 1A voltage regulator x1
  • IN4001 rectifier diode
  • IN5819 Schottky diode
  • PCF8754 IIC GPIO expander x1
  • A4988 bipolar stepper motor driver x1
  • NE612N double balanced mixer x2
  • MCP6002 operational amplifier x2
  • 20x4 LCD + IIC adapter x1
  • Si5351 DDS module (25MHz XTAL) x1
  • Opto Isolator 4N32 x1


  • USB connector of choice x1
  • Power connector of choice x1
  • Motor connector of choice 4 way x1
  • IC chip sockets and headers

Passive components

  • 4.7K resistor array common mode x1
  • 1.8K resistor array isolated mode x1
  • 1.8K resistor x1
  • 10K resistor x1
  • LEDs x5
  • 4MHz XTAL x1
  • 33pf capacitors x2
  • 100nF capacitor x3
  • 47uF 16V capacitor x2
  • 220uF 16V capacitor x1

Bridge and FWD/REF detector

  • 100R resistor x6
  • 200R resistor x1
  • 56R resistor x1
  • 470R resistor x1
  • 27R resistor x1
  • 300R resistor x4
  • 51R resistor x2
  • 10K resistor x1
  • 1K resistor x2
  • 100K resistor x4
  • 10K resistor x6
  • 648R Rresistor x2
  • 10K multi turn trimmer x2
  • 100nF capacitor x8
  • 100pF capacitor x1
  • 1nF capacitor x2
  • 22nF capacitor x2
  • 4.7uH inductor x1

Buttons and switches

  • Two bit gray code rotary encoder x1
  • Small push to make switches x3

Step 20: PIC18F2550 Feature List From Datasheet

Step 21: Silicon Labs Si5351 DDS Block Diagram

Step 22: Conclusions and Further Work

If you have read my instructable I very much hope you enjoyed it and I thank you for your time !

This project has been hugely enjoyable and I have learned a great deal in the process. At times the project has been frustrating and once or twice I almost gave up. However, it is the obstacles that one learns from, all the things that don't quite go to plan and maybe don't quite work first time - there were plenty of those !

I am pleased with the design as it stands and it does actually work. I would not say it is totally complete and I am sure there are many things that could be improved. However, I am happy to publish the project to date and hopefully I will recieve constructive criticism such that I am able to improve the design going forward.

If anyone would like to have a crack at building my magnetic loop tuner design (crazy people) I am more than happy to support them as I have done with other projects on my Instructable site. In terms of software, I prefer to supply pre-programmed tested PIC microprocessors rather than simply release code. I have had so much trouble in the past supporting the microprocessor side of designs it is easier to supply a known good and working part - I make no money from this; parts are supplied at cost price + postage.

I have recently taken a further step and had a batch of PCB's made (see image attached). So again if anyone wants to have a go at making the tuner on the understanding it is still a prototype I can supply a PCB for cost plus postage.

If anybody has any questions regarding this project or any other electronics type topic, please feel free to message me and I will do my best to answer.

Again, I hope you enjoyed my project :)

Cheers and 73's,

Dave G7IYK IO81

Be the First to Share


    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge
    • Backyard Contest

      Backyard Contest
    • First Time Author Contest

      First Time Author Contest



    21 days ago

    Hi Dave,
    Excellent project. I've sent you an email as a friend and myself would like to build this.




    Question 8 weeks ago on Step 1

    Hi Dave
    can you share loop simulator circuits....I want to design a similat tuning circuit...
    73 de TA1DR


    Answer 8 weeks ago

    Hello Ahmet,
    Thanks for getting in touch. I am not quite sure I understand what you mean by "loop simuator circuits" ? Pleae could you clarify what you mean ? Do you mean the hardware I built in step 4 of the instructable ?
    Regards & 73's,


    Reply 7 weeks ago

    Thanks for answer
    yes I am talking about step 4


    Reply 7 weeks ago

    ok Dave thanks loop inductance 2.66uH and I used T50-2 troid and 23 turns copper wire it is approximately 2.66uH and homemade butterfly varible on my table but how can I connect coaxial cable ? (I see two resistors on circuits) I'm curious about this aim is to work at the table like you first and design the very simple one of your project for myself, then I will move on to the real antenna. I hope all clear I used Goggle Traslate...:-)
    73 de TA1DR


    Reply 6 weeks ago

    Hello sorry for the delay,
    The circuit is very simple and consists of the tuning capacitor in series with a 6.8uH inductor in series with a 50ohm resistor. The center of the coax feeds the capacitor and the coax shield is connected to the resistor. So it is just a LRC resonant circuit


    Reply 6 weeks ago

    No problem for delay,
    thanks for answer...
    73 de TA1DR


    Question 9 months ago on Step 14


    what are you asking for a board and pic?



    Answer 9 months ago

    Hello Thomas,
    Thanks for your comment - for more information on the Magnetic Loop Tuner it is much easier to converse via email. Please get in touch on :
    Best regards,
    Dave G7IYK


    9 months ago

    Just a quick update, I received the Board and PIC from Dave. The build was super easy, there were a couple of issues due to my having got some slightly different component variations from the ones Dave had used. However discussions with Dave quickly resolved those issues. The tuner works very well, and support from Dave is fantastic.

    Barry VA3WI


    Question 10 months ago on Step 22

    Hi Dave,
    I am very impressed with the design and performance of your magnetic loop auto matcher and I would like to build one. Can you please advise the price of the programmed PIC micro controller and the PC software?

    Many thanks

    Stuart Hughes (VK7ES)


    Answer 10 months ago

    Hello Stuart,
    Many thanks for the feedback - very pleased you like the project !
    Sure please email me on : and we can get
    you sorted with the parts you need.
    Cheers & 73's,
    Dave G7IYK


    10 months ago

    PCB and PIC arrived today, thanks. Now got to workout what sort of enclosure I want before I start soldering!


    Question 12 months ago

    Hi Dave,
    Any news on the availability of the PCB and PIC?
    Daryl de VK3AWA


    Answer 12 months ago

    Hi Daryl,
    Yes, making good progress - please contact me via email : and I will give you more detail
    Cheers, Dave


    Question 1 year ago on Introduction

    G'day Dave,

    I find this project very exciting as this is the missing link to successful operation of a mag loop antenna. Its a pain to have to constantly retune with every frequency change. I have just built a stepper motor controller for tuning via WiFi but its not that satisfactory. I'm sort of interested to undertake your project but the process overwhelms me a bit. (I'm an old bloke and not as clever now as I thought I used to be :-( ) Anyway, my thoughts are, if I purchase a programmed PIC from you I'm off to a flying start. Can you please advise how I can do this? THANKS. 73 de VK3AWA (Daryl)


    Answer 1 year ago

    Hi Daryl,
    Apologies for the delay in gettng back ....
    Yeh I get it might look a bit overwhelming. I am currently in the process of laying out a printed circuit board (PCB) for the design and will probably get x10 made. This should make it much easier to build if you wanna have a go. So I plan for the PCB to have everything onboard except the LEDs, buttons, rotary encoder and LCD but to have pin headers to attach the aforementioned. That way you can make up the tuner and then put it in a case and wire the LCD, controls and indicators whereever you wish. So if you are ok to hang on for a bit I will let you know when I have boards and have tested one.
    Cheers & 73's Dave G7IYK


    Reply 1 year ago

    Hi Dave, a great write up and video compilation! If you're taking reservations for the PCB please put me on the list. I was going to give the protoboard method a go, but I think my old eyes would start crossing very quickly!! On a different tack, is the source code for the project (and bootloader) going to be available, or just the hex files? I have used Pickit3 quite a bit for my own programming, unfortunately my controller is way back in the Stone Age compared with yours. I noticed you have a backslash setting on the GUI, is this value calculated by the firmware or is it a manual entry? I believe the 8255 is pin compatible with the 4988, any idea whether it can be used? So many questions..... Sorry!!
    73 Barry VA3WI


    Reply 1 year ago

    Hi Barry,
    Thanks for the feedback !
    I am laying out the PCB as we speak - looks like they will end up about £10. I was not planning on supplying the source code but can supply either a pre-programmed PIC or HEX files.
    Looking at the 8255 module versus the 4988 they are very similar. The main difference I can see is the VDD +5V supply. On the 4988 module pin10 is VDD for the +5V logic however on the 8255 module pin 10 is labeled FAULT and is an output. My guess is the 8255 has an onboard regulator whereas the 4988 needs an external +5V supply. So it may be possible to use the 8255 but a track might need cutting or I could put a wire link onto the PCB.