An Arduino Powered HF Beacon…

LB3RE sent me a link to this awesome HF beacon by Anthony, F4GOH and Christophe, F4GOJ that has many of the same features as my (as yet still in-progress) beacon transmitter does. And, of course, his actually exists, so it’s already infinitely more awesome than my idea.

I was particularly interested in his very simple power amplifier using 4 ganged BS170s. I’m likely to be operating mostly on 30m, so I think I could probably get buy with a single harmonic filter, and I am not imagining that I need all the relay switching, but there is some good information to be mined in there.

Progress Report: Big Box O’ RF

Previously, I wrote about a project I called the Big Box O’ RF. I’ve shifted goals a bit, and done some experimentation, and have changed some of my goals and approach.

First of all, I’ve changed the goal a bit. Instead of being a piece of test equipment, I’m actually more interested in using it to implement a beacon transmitter. It’s been quite some time since I have done any QRSS (slow speed Morse) or WSPR (Weak Signal Propagation Reporter) but I still find it to be a pretty interesting thing to do. What I’ve wanted to have for a while was a dedicated beacon transmitter that didn’t require the cooperation of my laptop and FT-817 to send out a modest signal. It seems to me that this totally doable mostly with parts I have on hand.

Goals:

  • Output power between 250mw and 500mw
  • Controlled by an inexpensive microcontroller. While the Arduino would be an obvious choice, the Teensy LC or Teensy 3.1 are as easy to program, and offer some interesting improvements for similar cost.
  • Able to integrate multiple methods to keep accurate type of time. Initial prototype will probably use the Ultimate GPS I’ve been playing with. Alternatives include clock boards based upon the DS1307 or DS3231, or synchronization via Wifi/SNTP (almost certainly using the ESP8266).
  • Able to support multiple modes: at least WSPR, DFCW, and Slow Feld.
  • LCD panel to display information. Text based interface supplied via USB, allowing you to change message, frequency, timing, etc…
  • RF generated by my AD9850 module.

I’ve been tinkering with most of the modules independently, making sure I can interface with each of them. They all seem to work fairly well. As soon as I find an appropriate box, I’ll start getting them put together. I’ve built a harmonic filter for 30m (where I plan to do most of my operation). I need to work on the amplifier chain, as well as a little transmatch (I don’t want to dedicate one of my antenna tuners to this operation either).

More to come soon.

Teensy LC hooked to an Adafruit Ultimate GPS…

One of the things that I really like about the Teensy LC (besides its low price) is that it has three hardware serial ports. Hardware serial ports are just nicer than the SoftwareSerial ports that you see on the ordinary Arduino platform. While the latest support for SoftwareSerial ports on digital pins work reasonably well at low baud rates, they aren’t especially good or reliable at higher baud rates. The Adafruit UltimateGPS I have supports data output at 10Hz, which requires serial rates of 115200, which isn’t especially reliable.

But I’m still inexperienced with the Teensy. To test my understanding, I wrote this little program for the Teensy LC, after hooking my GPS up to pins 0/1 as RX/TX. Note: the Serial object does not route to any of these three outputs: the Serial object is a distinct USB object that is not mapped directly to digital pins.

This was also an attempt to test the TinyGPS library with the Teensy LC. It worked the very first time I got it to compile.

I’m definitely leaning toward using the Teensy (either the cheaper LC version, or the more expensive but more faster/more capable 3.1, which includes FIFOs for serial ports) on my WSPR project.

//   __                                        
//  / /____ ___ ___  ___ __ _________ ____  ___
// / __/ -_) -_) _ \(_-</ // /___/ _ `/ _ \(_-<
// \__/\__/\__/_//_/___/\_, /    \_, / .__/___/
//                     /___/    /___/_/        
//
// On the Teensy LC, there are three hardware supported serial ports.
//
// Port    Rx  Tx
// -------+--+--+
// Serial1| 0| 1|
// -------+--+--+
// Serial2| 9|10|
// -------+--+--+
// Serial3| 7| 8|
// -------+--+--+
//
// It appears (as yet unverified) that these are distinct from the serial
// port which is connected to the Serial object.  This program is designed
// to test that theory.

#include <TinyGPS.h>

TinyGPS gps;

void
setup()
{
    Serial.begin(9600);
    Serial1.begin(9600);
}

void
loop()
{
    unsigned long date, time, age;
    long lat, lng ;
    for (;;) {
        while (Serial1.available()) {
            char c = Serial1.read();
            if (gps.encode(c)) {
                gps.get_datetime(&date, &time, &age);
                Serial.print("Date: ");
                Serial.println(date);
                Serial.print("Time: ");
                Serial.println(time);
                gps.get_position(&lat, &lng) ;
                Serial.print("LAT: ");
                Serial.println(lat);
                Serial.print("LNG: ");
                Serial.println(lng);
                Serial.println();
            }
        }
    }
}

Testing the DS3231 module… I’m impressed!

I hooked up my new DS3231 clock module to an Arduino that was being fed with the one pulse per second input from a locked GPS, and counted the number of pulses from each. In 3170 seconds, the clock module generated 103874565 pulses, for an average pulse per second of 32768.0015773 pulses per second. That’s really good, only about 2 seconds per year. Of course this was a short term test, under relatively stable temperature conditions, but still, I’m highly impressed. I’m thinking that using this to drive my WSPR radio beacon is likely to work out very well.

Weekend Update: Maker Faire, new gadgets, and I ground myself…

Greetings readers. I’m hopefully wishing there is still more than one.

This weekend was the Bay Area Maker Faire 2015, the 10th incarnation of an event which has become increasingly (even frighteningly) popular. I’m tempted to channel Yogi Berra, who said “Nobody goes there. It’s way too crowded.” Anyway, I got out of my house around 9:00AM, with the plan of parking at one of the offsite parking lots and shuttling in. It took me about an hour to get to the Oracle lot on 10 Twin Dolphin Drive, and there were already probably six or eight busses lined up, but probably a thousand people lined up as well. As it happens, it took slightly more than an hour to make it onto a shuttle, drive in and enter the gates. Bleh. Not the most fun, but I had a good nights sleep the night before, so I was mostly in good spirits as I entered the park.

It was very crowded. I was by myself, so I just started wandering. When I go to these things, I am mainly looking for three things:

  • Projects that inspire new projects.
  • Cool new products, especially inexpensive dev boards and gadgets for future projects.
  • Cool artwork that I haven’t seen before.

Sadly, I didn’t see a ton of projects that made me think of new projects, but there were a couple. I had a nice chat with Ben Krasnow who brought some low-tech versions of his excellent rheoscopic coffee table, which were just plastic cells that rotated on a lazy susan. You’ve probably seen identical gadgets in science museums. Fluid flow is always interesting. He said the instructions were already on the Make Magazine site, but I forgot to copy the url, and didn’t find it. He also said it would be in the print edition sometime soon.

I had a nice chat with Erin Tomson of Modulo Labs LLC. She’s a former Pixar colleague, who has gone off and created Modulo, a set of pluggable programmable modules that can be used to assemble modules in a tiny, secure network, without the hassle of routing jumper wires on breadboards. (In fact, a system like this would have prevented a lost hour of my time tonight, I’ll tell that story below.) It’s a very slick little system, and I’d like to see something like this take off. I can particularly see this as useful in education.

Check out her Kickstarter video.

I particularly like optical gadgets like telescopes and microscopes. My buddies Rich and Dave from the Chabot Telescope Makers Workshop were there, grinding away and answering questions about telescopes. Nice to catch up with them. They said that quite a few people came up to them and asked “So, you guys sell telescopes?” Sigh. This is the Maker Faire. If you are in the North Bay and want to learn how to build a telescope, click on the link above, and think about attending one of their free workshops (every Friday!).

I like projects which reuse camera phones, and this microscope project seemed pretty cool. They had a little gadget that allowed you to swap out three different lenses to get different magnifications. Their system seemed pretty cool, but the basic idea is pretty simple (in fact, it’s basically a version of Antonie van Leeuwenhoek’s first microscopes, but instead of holding it close to your eye, it’s held close to your cell phone, which can use nifty features like zoom and exposure adjustments, and can of course record video and stills. I should design such a gadget myself.

I also had a nice chat with Alan Yates who was demonstrating some “Lighthouse” technology that he’s been working on at Valve. The basic idea is to create a set of “beacons” that can be scattered around an environment, and a sensor that can (for instance) be mounted on a VR headset and can be used to figure out the position and orientation of the headset with high accuracy and low latency. I don’t have a link for this work yet (did I miss it, Alan?) but when I do, I’ll try to update it.

That was kind of it. I did poke my nose into various people experimenting with aquaponics, which I find interesting. I had a brief chat with the creators of Chip, the $9 computer currently on Kickstarter (I hope to have more information on that soon, stay tuned.) I didn’t spend much time in the “Dark Room”, the noise and flashing gives me a headache. I did spend some time looking at the various gardening and bee keeping exhibits.

And, I did pick up some new gadgets. Here’s a short video of my purchases, along with some links to the various items mentioned.

And that’s about it. If anyone thinks I missed something super cool, drop me a comment below and I’ll check it out.

Today, I had a bunch of chores to do, but I did start to play around with my AD9850 project a bit more. Since I spent so much time driving around yesterday, I had lots of time to think, and realized that the code the determined the tuning word (the 32 bit value used to select the frequency of the oscillator) was probably going to not work properly, since it used floating point arithmetic, and that probably didn’t have sufficient precision to do the calculation the way that I had coded. Indeed, when I got home, I hooked up and Arduino and found that I was not getting the sub-Hz spacing that I requested. I played around with the math a little bit, and got it working better, and then set it up and started it going. I had the output of the AD9850 going into my oscilloscope, so I could monitor the waveform.

And it was glitchy. Intermittent. Not working properly. Had I made a programming mistake?

I spent the better part of 45 minutes trying to understand how I had broken the program. Nothing made sense. I was cranky. I decided to step back and go buy some cat litter than I had forgotten, and give it a rest.

And of course when I got back, I stared at the board again. And it was immediately obvious. I had the AD9850 module on a breadboard, with all the RESET/CLOCK/LOAD/DATA lines going to the Arduino. And… that was it…

There was no common GND. I had somehow tugged out that little jumper wire. Without a common ground, it was surprising that there was any communications between the module and the Arduino.

Plugged it back in and voila. All works. Sigh. An hour of my life, wasted.

Suddenly, Erin’s Modulo setup seems pretty nifty. 🙂

Time from the ESP8266…

Yesterday, I mentioned the idea of using the cheap ESP8266 as a clock source for a WSPR beacon transmitter. My initial idea was to basically write code for the Arduino that connected to a remote NTP server, formulate UDP packages… sounds like a pain. But then I found that there was alternative software I could upload to the ESP8266 that would implement the NTP client on the ESP8266 module, and then simply fetch it with an “AT” style command.

So, I downloaded the firmware, and gave it a shot.

esptool.py write_flash 0x0000 eagle.app.v6.flash.bin 0x40000 eagle.app.v6.irom0text.bin

I rebooted, and then told it to connect to my local wifi network, and then told it to start the NTP client with the following commands…

AT+CWJAP="ssid","password"
OK

AT+CIPNTP=0

And it works! I can get this connected to the Arduino and write up a simple sketch, and it should be able to update the time really easily. This is cheaper and probably easier than using a GPS as a time source. Very cool.

Screen Shot 2015-05-14 at 9.23.10 PM

It’s about time… (with some WSPR updates)

Yesterday I finally found a copy of the code that I wrote years ago to figure out the tone sequence for messages used by the Weak Signal Propation Reporter system. To avoid losing it again, I decided to put both the C versions and the Python versions on my github page so that even if my servers go down I’ll have the code archived somewhere. If you have need of the code, feel free to use it (it would be nice if you gave an attribution in any derivative works that you distribute, but I won’t go so far as to insist).

When I got home, I found myself thinking about using the AD9850 as a WSPR beacon, using an Arduino (or similar) to generate the tone sequence, telling the AD9850 to switch to those frequencies, and generate the appropriate RF. This was basically a meld of two programs: the genwspr.c code that I listed above, and a simple sketch that can be used to set the AD9850 to different frequencies. It seemed very simple, so I sat down and started tinkering.

I began by copying the genwspr.c program into a new wspr.ino sketch. It pretty much would compile as is (after I added the necessary dummy setup() and loop() entry points needed by the Arduino) but it did not generate the same code sequence as the code did when I ran it on my desktop. A moment’s thought revealed the likely cause: “int” values are only 16 bits on the AVR. It actually took me a bit of time to get the types sorted out (maybe 30 minutes), mostly because I didn’t remember that I should use (1UL< <n) instead of just (1<<n) to get the needed 32 bit values.

Once I got that sorted out, I extracted the needed “setFrequency” routines from an AD9850 sketch, and created a loop that would send the different frequencies at the right time. The four tones needed by WSPR are 12000/8192 (or about 1.465 Hz) apart and are 8192 / 12000 seconds in duration. My initial code simply calculated the frequency for the the given message entry, sent the appropriate tuning word to the AD9850, and then called delay(8192/12) (delay uses microseconds). Because that didn’t take into account the time spent calculating and setting the tuning word, the overall message was a bit long (actually only 22ms long) so instead I did a delay(8192/12-1), and then a delayMicroseconds(22000/162). That put it right at the 110.592 seconds that are specified. (I know it’s silly, the clock in the Arduino could easily be off, but I thought it would be good to be tidy. If you had source to an accurate 1PPS source, you could do a better job of this).

I was a tiny bit concerned that the tuning resolution of the AD9850 was insufficient, but consulting the datasheet, the nominal resolution is about 0.029 Hz. That should be fine. I’ll dig out my SDR-IQ this weekend and try to do some workbench reception tests over the next few days.

The next bit you need to make a functioning beacon is to ensure that the transmissions start one second after even minutes. That requires some accurate time keeping. My initial idea was to hook up an old Parallax PMB-648 GPS module that I had lying around. During slots where it wasn’t transmitting, it could use the time signal from the GPS to ensure that the clock had not drifted. I hadn’t played with this module in a while (it’s listed as obsolete on the Parallax page) so I hooked it up to the Arduino, wrote a simple sketch to read data from it, and let it run.

Frown. It’s just not sensitive enough to get a lock while inside my house. I thought about alternatives for mounting it. Grumble. Didn’t like that idea. External antenna? Newer module? Grumble.

Perhaps a different approach was needed. I considered the various wireless modules that I had lying around. Perhaps I could use the esp8266 modules (which are really cheap) to fetch the time with NTP, and then the Arduino could use that to trigger the transmissions.

Hooking the ESP8266 to the Arduino is not quite as straightforward as the GPS because the Arduino that I use is 5V, and the ESP8266 is a 3.3v device. I have some Sparkfun level converter boards around, but it turns out that you really only need to be careful about the TX from the Arduino. The circuit below uses a little 3.3V Zener diode to drop the voltage to avoid blowing the URXD on the ESP8266. I think I have some 3.3V zeners in my box somewhere. The circuit shows a separate 3.3V low drop out regulator because the ESP8266 can be quite power hungry, and the regulator on your traditional Uno can only supply about 50ma. I believe the Redboard has a better regulator, the MICREL MIC5205 LDO can supply 150ma, so that should be fine. If I can find the Zeners, it should be easy to breadboard.

esp8266_conn

My idea was to use the ESP8266 to send out NTP packets, parse the results… but a little googling revealed a better way. There is
alternative firmware for the ESP8266 that adds support for NTP directly via AT commands. If you send the AT command below, you’ll get the time back:

AT+CIPNTP?
Time: 22:22:42 12/02/2014 GMT+02

That seems awesome. The idea will be that when the Arduino is reset, it will bring up the network and try to get the time and will figure out when the next time slot begins for transmission. When that slots begins, it can decide to either transmit, or wait until the next slot. Easy-peasy.

When I get the completed sketch up, I’ll add it to my github respository.

JT65 vs JT9 (vs WSPR?)

For the last several days, I’ve been running the latest version of wsjtx using my RFSPACE SDRIQ software defined radio, and just logging the results. Previously, for most of my JT65 needs, I used JT65-HF, but I was interested in trying out the JT9 mode as recommended to me by numerous hams. JT9 uses a similar (the same?) encoding as JT65, but in a much narrower bandwidth. The current usage seems to be that for JT65, JT9 signals are 2Khz (or 2.5khz) higher in the band. What’s cool about using my SDRIQ as a monitor is that I can set it up to pull in 4Khz, and WSJT-X will decode both JT65 and JT9 signals at the same time. Because JT9 isn’t quite as popular (yet) that is rather convenient: you get twice the modes/signals for the price of one!

But this has led me to wonder: JT9 sends the same information in the same time, but with drastically reduced bandwidth (less than 10%). Why use JT65 on HF at all? Joe Taylor (Nobel Laureate, and author of WSJT-X) says that JT9 was optimized for “MF and LF”, but doesn’t really hint at why it wouldn’t be better more universally. Does anyone have any ideas where JT65 might be better? If not, then shouldn’t we all be good citizens and move towards JT9?

Just curious.

Lesson learned… Check your coax!

Okay, I knew that my radio was acting deaf, and I thought I’d know what was wrong. I use a low doublet antenna made from speaker wire, and it has been outside, weathering the elements for quite some time. Sure enough, when I went outside, I saw that one of the connections feeding my balun looked a bit iffy. I stripped it back a bit, rehooked it up, and figured that was it. But when I went back inside, no dice.

I then whipped out my trusty MFJ antenna analyzer. A quick probe from the inside connection indicated nothing dramatically wrong, by itself the SWR on 30m would be something like 2.5, well within what my tuner should pull. Then, I realized I hadn’t checked the piece of coax that I used to bridge the gap to my transceiver. Bingo! SWR over 8 across the entire frequency band. Not good! But easy to replace. I had a shorter length, and with a little rearrangement, I was back on the air.

And, in a previous day where I had only 15 spots of three stations all day, I had lots of reports this time. Here are my overnight WSPR spots.

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2013-06-25 07:14   K6HX   10.140195   -22   0   CM87ux   10   VK7TW   QE37pc   12791   234 
 2013-06-25 08:18   K6HX   10.140204   -20   -1   CM87ux   10   VK2AWD   QF56ng   11966   241 
 2013-06-25 07:02   VK4ZBV   10.140171   -23   0   QG62ml   0.2   K6HX   CM87ux   11417   54 
 2013-06-25 09:38   K6HX   10.140192   -22   0   CM87ux   10   JA2GRC   PM74uu   8613   305 
 2013-06-25 09:30   JA2GRC   10.140235   -24   0   PM74uu   5   K6HX   CM87ux   8613   52 
 2013-06-24 14:36   JQ2WDO   10.140282   -18   0   PM95gi   5   K6HX   CM87ux   8374   54 
 2013-06-25 04:18   K6HX   10.140163   -14   -1   CM87ux   10   K3GEN   FM19ke   3887   74 
 2013-06-25 04:26   K3GEN   10.140157   -3   0   FM19ke   5   K6HX   CM87ux   3887   283 
 2013-06-25 04:22   VE3NFK   10.140184   -12   1   FN14tk   1   K6HX   CM87ux   3856   276 
 2013-06-25 06:04   NA4U   10.140147   -5   0   FM03ac   5   K6HX   CM87ux   3835   290 
 2013-06-25 05:36   K6HX   10.140197   -11   -1   CM87ux   10   NA4U   FM03ac   3835   85 
 2013-06-25 04:14   W3HH   10.140289   -15   1   EL89vb   1   K6HX   CM87ux   3814   296 
 2013-06-25 04:18   K6HX   10.140158   -14   -1   CM87ux   10   W3HH   EL89vb   3814   93 
 2013-06-25 04:14   WD4LHT   10.140234   -19   1   EL89tp   1   K6HX   CM87ux   3772   295 
 2013-06-25 04:18   K6HX   10.140193   -16   -1   CM87ux   10   WD4LHT   EL89tp   3772   92 
 2013-06-25 04:18   K6HX   10.140164   -12   -1   CM87ux   10   K1VBM   EM74xh   3434   85 
 2013-06-25 06:44   K4EH   10.140190   -20   0   EM73sk   5   K6HX   CM87ux   3429   289 
 2013-06-24 15:12   K6HX   10.140256   -25   0   CM87ux   10   AJ8S   EM89bt   3305   74 
 2013-06-25 04:32   K8CT   10.140125   -10   0   EN83ce   2   K6HX   CM87ux   3273   273 
 2013-06-25 06:02   N4WXB   10.140204   -14   0   EM64   0.1   K6HX   CM87ux   3167   287 
 2013-06-25 04:28   K9AN   10.140282   -9   0   EN50wc   5   K6HX   CM87ux   2942   277 
 2013-06-25 04:12   KG0DP   10.140197   -15   1   EN42da   2   K6HX   CM87ux   2629   270 
 2013-06-25 04:18   K6HX   10.140163   -16   -1   CM87ux   10   KG0DP   EN42da   2629   70 
 2013-06-25 07:06   KT5TK/A   10.140196   -24   0   EL29fr   5   K6HX   CM87ux   2624   298 
 2013-06-25 04:30   KC5MO   10.140245   +1   0   EM10bf   1   K6HX   CM87ux   2399   298 
 2013-06-25 05:36   K6HX   10.140199   -15   0   CM87ux   10   VE6PDQ/1   DO33fl   1849   18 
 2013-06-25 06:12   VE6PDQ/1   10.140143   -4   1   DO33fl   5   K6HX   CM87ux   1849   205 
 2013-06-25 04:18   K6HX   10.140187   -21   -1   CM87ux   10   AC0XR   DM79nx   1519   76 
 2013-06-24 15:12   K6HX   10.140263   -17   0   CM87ux   10   W5OLF   DM78hb   1480   84 
 2013-06-25 04:36   K6HX   10.140160   +2   -1   CM87ux   10   W1TX   CN88ln   1178   357 
 2013-06-25 04:28   W1TX   10.140205   -11   0   CN88ln   0.5   K6HX   CM87ux   1178   177 
 2013-06-25 06:54   K6HX   10.140202   -16   0   CM87ux   10   KF7O   DN06tb   955   19 
 2013-06-24 15:22   K6HX   10.140262   -21   0   CM87ux   10   K7UEB   DN06tb   955   19 
 2013-06-24 15:12   K6HX   10.140243   -27   0   CM87ux   10   K7TSV/30   CN85   836   356 
 2013-06-24 14:44   NM7J   10.140195   -11   -1   DM26   1   K6HX   CM87ux   663   287 
 2013-06-25 06:22   NG6K   10.140241   -5   0   DM13el   5   K6HX   CM87ux   654   321 
 2013-06-25 04:14   KC6KGE   10.140264   -20   1   DM05gd   2   K6HX   CM87ux   404   322 
 2013-06-25 04:16   N7SCQ   10.140117   -18   0   CM98ck   1   K6HX   CM87ux   67   221 
 2013-06-25 04:18   K6HX   10.140159   -28   -1   CM87ux   10   N7SCQ/R   CM98ck   67   40 

Or, presented graphically:

Screen Shot 2013-06-25 at 7.47.23 AM

Glad to see that debugged. I think over the next week I’m going to restart my aborted attempt to work all states via the JT-65 mode, at last count I had 42 states. I also think that antenna upgrades are in order: my doublet is simply too low and ridiculous to continue. I also want to do a receive only antenna, and get a dedicated QRSS grabber back online pretty soon. Stay tuned, and hope to work some of you on the air.

A taste of Field Day audio…

I haven’t been doing much work on ham radio lately. In fact, I haven’t even had my IC-735 hooked up since before Thanksgiving. But today, I decided to try to dust off the old equipment and see if I could get it powered up. After much digging around for all the right cabling, I got it mostly together, and started tuning around.

I’m not a contester, and in fact have never really worked Field Day: I prefer a more leisurely approach to ham radio. But I do like tuning around. I started out by testing my rig out with 10w of output power on JT65 on 20m. It took me a bit of work to get it sorted, but finally I started showing up on the PSK Reporter map, indicating that at least my signal was radiating. I didn’t have much luck getting anyone to call back though: it was already after dark, and propagation seemed to be waning. So, I went down to 30m and tried chirping out some WSPR. While doing that, I noticed a WSPR signal, and fired up ARGO to capture this nice grab of K5CO:

argo0001

But 30m was fading for me too, and I wasn’t entirely happy with my setup. So, I decided just to tune around listening to SSB signals on 40m. Down around 7.271Mhz, I caught KH6RS working a bit of a mini-pileup from Hawaii. I turned on Audacity and recorded a bit of the audio, which demonstrates the kind of reception I get with my current, quite limited antennas. Still, if you guys didn’t get a chance to tune around today, it might be vaguely comforting. 🙂

KH6RS on 40m from Maui…
Hope you all had a fun field day.

Ultimate QRSS kit arrives…

I have an on-again, off-again love affair with beacons. I spent many a day monitoring QRSS beacons on 30m, and have built a series of different beacon transmitters. Most of my work has been inspired by Hans Summers, G0UPL, so when I found he was selling something called the Ultimate QRSS kit for a mere $20 U.S., I decided I had to have one. I ordered it a bit back, and was beginning to wonder if I should shoot him an email, but yesterday some overseas mail was on my doorstep, and it had arrived!

The Ultimate QRSS kit is cool for a couple of reasons: first, it includes an LCD display and two button interface. It supports a wide variety of modes, including QRSS, Hellschrieber and WSPR. And, from my perspective the most cool feature: it can time and frequency lock with a GPS source to stay on frequency and will autosynchronize time and gridsquare. For this purpose, not all GPSes are considered equal: you’d like to have one with a 1PPS (one pulse per second) output. Luckily, I have an old Garmin 18 LVC lying around, which will fit the bill nicely.

The kit is very simple, it’s basically his tried and true “LED as varicap” design, driving a power amplifier which consists of a 2N7000, generating perhaps 180mw. It should take me just an hour or two to assemble. Stay tuned.

24 hours, 73 unique stations on WSPR

For the last couple of days, I’ve let my FT-817 and the WSPR software monitor 40m, 30m, and 20m (shifted as time permits, and as propagation shifts). Last night I managed to set a new distance record by hearing ZS6BIM in South Africa, at a distance of 16,941km. I also picked up a couple of other entities that I haven’t seen before: Austria, Guatemala, Vietnam and Thailand. Very cool.

73 spots:

Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
 2012-03-21 16:24   ZS6BIM   10.140114   -24   0   KG44df   1   K6HX   CM87ux   16941   303 
 2012-03-21 14:00   HS0ZBS   10.140216   -27   0   OK03ss   5   K6HX   CM87ux   12669   37 
 2012-03-20 17:28   VK2UX   14.097091   -17   0   QF56hf   5   K6HX   CM87ux   12007   56 
 2012-03-21 05:54   ZL3XX   7.040101   -25   -1   RE78kr   5   K6HX   CM87ux   10873   45 
 2012-03-21 16:34   ZL2FT   10.140146   -26   0   RF70mb   5   K6HX   CM87ux   10758   45 
 2012-03-21 06:12   OE3WGW   10.140174   -24   -2   JN88cj   5   K6HX   CM87ux   9573   328 
 2012-03-21 05:26   EA1URO   7.040090   -26   0   IN62bh   5   K6HX   CM87ux   8898   313 
 2012-03-21 16:34   JA2GRC   10.140211   -27   0   PM74uu   5   K6HX   CM87ux   8613   52 
 2012-03-21 16:34   JQ2WDO   10.140190   -18   0   PM95gi   5   K6HX   CM87ux   8374   54 
 2012-03-20 19:04   WA2YUN   14.097123   -9   0   RK39hh   5   K6HX   CM87ux   7072   56 
 2012-03-21 06:08   W1BW   10.140231   -25   0   FN42hl   0.1   K6HX   CM87ux   4286   281 
 2012-03-20 20:50   W2RON   14.097098   -10   0   FN34kp   5   K6HX   CM87ux   4109   277 
 2012-03-20 18:56   WA3DNM   14.097119   -16   0   FM29fw   5   K6HX   CM87ux   4002   282 
 2012-03-21 02:38   TG8AMX   7.040087   -14   0   EK44fu   5   K6HX   CM87ux   3965   316 
 2012-03-20 20:52   W4AC   14.097113   -24   0   EL86ux   5   K6HX   CM87ux   3913   298 
 2012-03-20 21:30   W3GXT   14.097099   -21   0   FM19ol   5   K6HX   CM87ux   3908   282 
 2012-03-21 12:08   KB3VR   10.140176   -25   -1   FM19la   1   K6HX   CM87ux   3898   283 
 2012-03-20 18:40   W3CSW   14.097161   -29   0   FM19kd   2   K6HX   CM87ux   3888   283 
 2012-03-20 19:04   K3GEN   14.097026   -25   0   FM19ke   1   K6HX   CM87ux   3887   283 
 2012-03-20 20:08   W2LNX   14.097094   -16   0   FM19jb   50   K6HX   CM87ux   3883   283 
 2012-03-20 18:54   NH7SR   14.097110   -8   0   BL11ch   5   K6HX   CM87ux   3866   53 
 2012-03-21 01:26   AI4WV   14.097047   -9   1   FM05pv   2   K6HX   CM87ux   3845   287 
 2012-03-20 18:42   NA4U   14.097120   -20   0   FM03ac   5   K6HX   CM87ux   3835   290 
 2012-03-21 06:30   WA8KNE   10.140177   -16   0   EM90gg   5   K6HX   CM87ux   3823   294 
 2012-03-21 07:30   W3HH   10.140141   -17   0   EL89vb   1   K6HX   CM87ux   3814   296 
 2012-03-21 04:02   W2XC   7.040118   -11   -1   FN02qw   5   K6HX   CM87ux   3693   277 
 2012-03-20 21:30   KC2UK   14.097091   -11   0   FN03mb   5   K6HX   CM87ux   3665   276 
 2012-03-21 02:10   VA3SK   7.040028   -18   0   FN06   5   K6HX   CM87ux   3635   271 
 2012-03-21 02:20   VA3MW   7.040146   -12   0   FN03hu   5   K6HX   CM87ux   3623   275 
 2012-03-20 19:10   W4DJW   14.097024   -18   0   EM84ux   5   K6HX   CM87ux   3564   287 
 2012-03-21 12:30   WT4C   10.140156   -18   1   EM84ps   5   K6HX   CM87ux   3535   288 
 2012-03-20 20:30   VE3KYK   14.097015   -10   0   EN96ol   5   K6HX   CM87ux   3501   270 
 2012-03-20 17:30   VE3ELX   14.097091   -18   -2   EN92gv   5   K6HX   CM87ux   3464   275 
 2012-03-20 20:40   K4COD   14.097151   -6   0   EM73sc   5   K6HX   CM87ux   3442   290 
 2012-03-21 00:14   AK4T   14.097137   -26   0   EM74vb   2   K6HX   CM87ux   3429   288 
 2012-03-21 05:36   KE3PL   7.040065   -12   0   EM74xx   5   K6HX   CM87ux   3412   287 
 2012-03-20 17:20   W8SJV   14.097172   -22   0   EN80mg   1   K6HX   CM87ux   3375   279 
 2012-03-20 17:26   KC8WJD   14.097011   -27   0   EN72dx   5   K6HX   CM87ux   3118   272 
 2012-03-21 02:08   K8CYV   7.040112   -4   0   EN63ve   5   K6HX   CM87ux   3077   272 
 2012-03-21 09:36   KC9NBV   10.140196   -13   0   EM69oe   1   K6HX   CM87ux   3069   279 
 2012-03-21 00:30   K9AN   14.097161   -11   0   EN50wc   0.5   K6HX   CM87ux   2942   277 
 2012-03-20 23:24   KC9OJV   14.097064   -27   -1   EN51wu   1   K6HX   CM87ux   2926   273 
 2012-03-20 18:56   KB9AMG   14.097030   -22   0   EN52tx   5   K6HX   CM87ux   2902   271 
 2012-03-20 17:14   K0VM   14.097091   -13   0   EN42db   2   K6HX   CM87ux   2629   270 
 2012-03-20 22:48   K0AZ   14.097027   -14   0   EM37cd   1   K6HX   CM87ux   2504   281 
 2012-03-20 18:40   WA5VRO   14.097061   -12   0   EM10cf   5   K6HX   CM87ux   2406   298 
 2012-03-21 02:42   VE4KE   7.040095   -11   0   EO01te   5   K6HX   CM87ux   2378   241 
 2012-03-20 18:56   K5XL   14.097141   -16   0   EM12kp   1   K6HX   CM87ux   2351   292 
 2012-03-20 19:30   KE7A   14.097132   -10   -1   EM12kx   5   K6HX   CM87ux   2338   291 
 2012-03-20 21:42   K5FRD   14.097011   +10   0   EM12gm   10   K6HX   CM87ux   2327   292 
 2012-03-20 17:46   K7FB   14.097017   -19   0   EM13   1   K6HX   CM87ux   2326   290 
 2012-03-20 21:20   WA5ETV   14.097090   -22   0   EM15jm   5   K6HX   CM87ux   2245   284 
 2012-03-20 20:50   VE6PDQ   14.097117   -17   0   DO34ir   5   K6HX   CM87ux   1983   204 
 2012-03-20 20:40   VE6OG   14.097167   -2   0   DO33fn   5   K6HX   CM87ux   1858   205 
 2012-03-21 02:56   K5USF   7.040053   -9   0   DM62pi   1   K6HX   CM87ux   1546   298 
 2012-03-21 14:12   W5OLF   10.140171   -28   0   DM79   0.01   K6HX   CM87ux   1503   269 
 2012-03-20 20:40   WF7M   14.097088   -13   0   CN87nw   1   K6HX   CM87ux   1108   177 
 2012-03-21 15:40   W8ZU   10.140193   +2   0   DM33   5   K6HX   CM87ux   973   304 
 2012-03-21 02:06   KF7O   7.040101   -7   0   DN06tb   1   K6HX   CM87ux   955   201 
 2012-03-20 18:32   W7QL   14.097096   +10   -1   DN40bo   5   K6HX   CM87ux   942   255 
 2012-03-20 18:52   WA7KGX   14.097118   +2   0   CN85no   5   K6HX   CM87ux   849   177 
 2012-03-21 03:04   W6II   7.040011   -4   0   CN85mn   5   K6HX   CM87ux   845   176 
 2012-03-21 03:44   K7FET   7.040069   -25   0   CN85mm   1   K6HX   CM87ux   840   176 
 2012-03-20 18:40   AC0NM   14.097019   -27   0   DM12jt   1   K6HX   CM87ux   736   323 
 2012-03-21 16:36   N6ETE   10.140147   +2   0   DM12kw   1   K6HX   CM87ux   730   322 
 2012-03-21 02:38   WD6DOD   7.040143   +3   0   DM13ao   5   K6HX   CM87ux   624   322 
 2012-03-21 16:30   K7LG   10.140200   -4   -1   DM04se   1   K6HX   CM87ux   544   322 
 2012-03-21 16:36   KC6KGE   10.140243   -17   0   DM05gd   5   K6HX   CM87ux   404   322 
 2012-03-21 01:50   KP4MD   14.097054   -18   0   CM98iq   5   K6HX   CM87ux   118   228 
 2012-03-20 19:00   N6GN   14.097091   -19   0   CM88ok   5   K6HX   CM87ux   67   139 
 2012-03-20 18:56   K6SRO   14.097188   -16   0   CM88ql   5   K6HX   CM87ux   63   152 
 2012-03-20 18:54   W6/LA4ZCA   14.097047   -16   0   CM87wk   5   K6HX   CM87ux   62   346 
 2012-03-21 04:38   NN6RF   7.040012   -14   0   CM87uw   2   K6HX   CM87ux   5   0 

Listening to WSPR-ing…

I was interested in the WSPR (Weak Signal Propagation Reporter) system for quite a while, but have not recently been running it from my home QTH. Yesterday, I decided to give it a whirl, and set it up to run on 30m (the classic frequency) to see what I could get. In the past, I’ve logged some interesting places, such as 4Z4TI (Israel), WA2YUM (Wake Island) and DP1POL, operating from Antartica and setting my distance record of nearly 15,000 km. But overnight tonight I added VK4TMH, the kiwi ZL2FT, and a DXCC entitity I hadn’t seen before: XV4Y from Vietnam. Very nice. Today, I’ve shifted up in frequency to 20m, and am currently listening there. So far I’ve caught two Aussies (VK2UX and VK4XDB) as well as HB9EFK from Switzerland. I was hoping for some more European stations, but it appears the window for that has passed already. I’ll leave it running for the next 24, and then maybe shift to a different frequency set.