I have always used PIC micro-controller but never really enjoyed programming them. They have always been a necessary and boring task needed by some transmitter project, usually to produce the QRSS modulation. Many times in the past, I was told that Arduino may be a better choice for a hobbyist, but I ignored all those suggestions, being lazy and relatively happy with the PIC approach.
This all changed when my friend Hitesh gave me an Arduino Uno as a gift, a few months ago. When I received the Arduino, I immediately thought that I can make a little DDS VFO using an AD9850 DDS from eBay. It seems that eBay is full of A$5 DDS boards which allow easy interface to a computer or micro controller without SMD soldering. So I bought a couple of DDS modules, placed them in the Arduino box and they all stayed there for a few months (a common fate for most of my projects)...
This all changed last week. I took the bits out of the box, bought an Arduino prototype board from Jaycar, soldered the DDS on it and wrote some simple code, inspired from NR8O's DDS code[3]. The result was interesting. In half an hour, I had a very basic, 100% duty cycle, hard-coded, WSPR beacon. I attached a small wire on the sine wave output of the DDS and presto, I had a tiny WSPR beacon!
Of course, in order for the WSPR transmitter to be any useful on MF, I had to increase the power to a few watts. The DDS board has a square wave output (direct from the on-chip comparator) which is TTL level. Hmm, a square wave TTL output, what can one do with that? A class-E PA of course! The IRL510 FET (a cousin of the IRF510, well known QRP PA FET) will quite happily switch on with a 5 V signal at the gate. So, a quick PA was designed and implemented on a blank PCB, to produce a useful power level.
This page describes the assembly of this simple and autonomous WSPR transmitter. It is intended to be a source of inspiration to other micro controller/DDS/MF beginners, to get on air. In order to prove that one does not need a huge antenna to produce a detectable WSPR signal on MF, I used a simple 5 m vertical antenna with no top loading. This antenna, also described in this article, is something that almost every amateur can afford to build and install. If this works, then there are really no excuses not to experiment on our newest band!
To be completed
Arduino Uno has one hardware serial port on pins 1 and 2, but I decided to use a "SoftwareSerial" port on pin 2 (and 3, but I don't need to transmit to the GPS, so it's not connected). The reason for selecting to use a software serial port is the fact that the hardware serial is used by the computer to communicate with the arduino. If the GPS is left connected on the hardware serial, you won't be able to upload anything to the arduino!
The problem that I faced initially is RS232 level incompatibility: Arduino uses TTL level RS232 but the GPS had a proper, plus/minus voltage serial port. I measured the voltage swing on the GPS output is -6 V to +6 V. In order to translate (and invert) the signal, I used the simple circuit below:
A 2N7000, 2N7002 or any other similar FET will work just fine.
The GPS I selected to use is a Byonics GPS2. This is a standard SIRF StarIII GPS unit sold by Byonics to be used together with their APRS products. I already have this GPS, so it makes sense to use it. The long cable is convenient for placing the GPS module near a window, for a better view of the sky.
One of the GPS sentences produced by default by this unit is the RMC sentence . This sentence contains the time for the fix, and given we don't need a synchonisation in the order of msec, it is suitable for the WSPR timing.
The power amplifier consists of a stock standard class-E design using an IRL510 FET. The IRL510 FET is very similar to the popular IRF510, used in many QRP HF transmitters. The difference between the IRF510 and the IRL510 is that the latter can be controlled directly with a 5 V TTL signal, which results in lower number of parts needed. The PA is followed by a simple, 3-pole Chebyshev filter.
In this schematic, L1 is made with a T50-43 toroid, L2 and L5 on T94-2, and L3/L4 is an impedance transformer on a ferrite toroid of unknown origin. You may experiment with this using whatever ferrite toroid can be found in the junk box.
The schematic shows an IRF510 as I don't have an IRL510 model on LTSpice, however, the IRL510 is very similar to the IRF510 in terms of input/outpu capacitances.
The capacitors in the PA output and LPF sections are polypropylene type. I used a combination of WIMA FKP1 capacitors to get the capacitance required.
The voltage source feeding the gate of the FET is replaced by the DDS square wave output...
The final result can be seen below.
To be completed.
[1] The WSPR protocol explained:
http://physics.princeton.edu/pulsar/K1JT/WSPR_Instructions.TXT
[2] Arduino: www.arduino.cc
[3] Arduino + eBay DDS by NR8O:
http://nr8o.dhlpilotcentral.com/?p=83
[4] VK2ZAY's Class-E calculator: PUT LINK HERE