The Sweeperino a very useful Arduino based test instrument. It is the following:
  • A very stable, low noise signal generator from 4 MHz to 160 MHz without any spurs
  • A high precision power meter with 90 db with 0.2db resolution
  • A sweeper that can be your antenna analyzer, plot your crystal or band pass filter through the PC
  • It fits in your jacket
  • It can be assembled in an evening.
  • Costs about $50 in new parts.

Circuit Description

The circuit consists of three very simple blocks
  1. An Arduino. I used Arduino Nano board though any Arduino board will do. If you don't know what an Arduino is, look around the Internet. The Arduino is connected to a commonly available 16 characters by 2 line LCD display and a tuning knob to tune the frequency
  2. The Si570. The Si570 is a spurs free, low noise programmable IC from Silicon Labs. Though slightly more expensive than the DDS, it is easily soldered by hand. We use the excellent Si570 library written by Thomas Sarlandie from Github (
  3. W7ZOI power meter. The W7ZOI designed power meter based on AD8307 that is read by the Arduino.
Here is the entire circuit diagram from my notebook:

The picture below shows how I made it in a small tin-box of in-flight cashew nuts . The box is twice the size of an Altoids box. Note that the power meter circuit is shielded using copper sheeting. 

The coil at the input of the detector is just on turn of slightly less than 1/4 inch of a small gauge wire.


There are two software that are required along with the Sweeperino.

A. The software to be loaded into Sweeperino. Download it from Programming the Arduino is very simple. Just follow the instructions on to load it up. It is a good idea to first load the software into Arduino and then add the LCD display, Si570, the tuning pot and the power meter in that order. The software checks that the hardware is working well. If you want high accuracy you will want to tweak the WB_POWER_CALIBERATION constant in the sweeperino_lcd.ino sketch for accurate readings.

B.  specan.exe to use to the Sweeperino from the PC. This is a common software that runs on Microsoft Windows as well as under WINE on Linux. You can download the source code or the exe from

Using the Sweeperino

The Sweeperino can be used independent of a PC. This is very useful for doing on the fly measurements or antenna tuning on the roof and field. The tuning is a little unusual. The tuning knob behaves like a regular tuning control with steps of 100 Hz. However as you tune to the very edge of the tuning range, the frequency starts drifting up or down (depending on which edge of the band you are on). It takes a little patience to get to your frequency but it works very well.

Using the Sweeperino with the PC is very easy, Start the specan.exe and choose the correct port.

When using the it under WINE, there is a little trick : start specan.exe and then exit it. It will create a file sweeperino.caliberation in the same folder. Edit this file's line that reads like port:=COM1 
to whatever port the Arduino is connected to .

When using it under Windows, choose from Action menu, set the port to the correct port of your Arduino.

The PC software is self explanatory.  From the panle on the right, you can set the center frequency of the sweep and the range. Click on the SWEEP button to start the sweep.


  • When using the mouse, as you move it over the plot it displays the power vs frequency reading under the mouse on the right panel.
  • To start a new sweep around a particular frequency, move the mouse to that frequency on the plot, left click and choose a new smaller range. 
  • To make comparisions (like 6 skirts of a ladder filter), left click and point and choose MARK from the popup menu. Now, in addition to the readings under the mouse, the difference in dbms and the current plot location under mouse are readable. 
  • Press the PrtScr key to save the plot to the clipboard and paste it into your favourite picture editor.

Danger : Here be Dragons

You must be aware of certain limitations of the Sweeperino
1. The Si570 doesn't work below 4 MHz. Unfortunate, but live with it.
2. The Si570 doesn't have spurs, instead it has odd harmonics. So beware if you see your 15 MHz bandpass filter shows a peak at 5 MHz (It would be the third harmonic of 5 MHz passing through your 15 MHz filter)
3. The power meter is quite sensitive. Keep your circuits well shielded or it might pick up the local broadcast stations. It can sense upto 500 MHz.


Sweeperino has been one of my most useful test instruments. It is versatile, easy to build and it aligns crystal filters, measures gain of amplifiers, acts as a signal source or an antenna analyzer. It will take a whole series of articles to actually document everything that this little one can do. I highly recommend one for your lab.

With the Sweeperino in your hand, you will be able to tackle filters, amplifiers with confidence. All the Sweeperino software is under GPL v2. You can add many more features. Head over to github and help us build a nicer version!


  1. Thanks for sharing this Farhan, it looks like a great tool. KF5NWC

  2. This comment has been removed by the author.

  3. Thanks for sharing. Soon will build one. VU3CKP

  4. This comment has been removed by the author.

  5. Hello Farhan,resistors on i2c (sda and Scl) is 1k or something else ? Thanks in advance,9a3xz,Mikele

  6. This comment has been removed by the author.


Note: Only a member of this blog may post a comment.