The personal website of Scott W Harden
March 14th, 2011

6 Day QRSS Stitch

Has this been done before? I don't know how useful it is, but I did it just for kicks and it turned out pretty cool. I realized that my strong signal (what is that?!) which is desentizing the the receiver is repetitive by day. Perhaps it's something at the hospital! Days are 3/7/2011 through 3/12/2011, separated by black lines.

Higher resolution image here:

Cool stuff. All right, I'm outta here.

Markdown source code last modified on January 18th, 2021
---
title: 6 Day QRSS Stitch
date: 2011-03-14 16:10:10
tags: qrss
---

# 6 Day QRSS Stitch

__Has this been done before?__ I don't know how useful it is, but I did it just for kicks and it turned out pretty cool. I realized that my strong signal (what is that?!) which is desentizing the the receiver is repetitive by day. Perhaps it's something at the hospital! Days are 3/7/2011 through 3/12/2011, separated by black lines.

<dev class="center border">

[![](6-day-sml_thumb.jpg)](6-day-sml.jpg)

</dev>

Higher resolution image here:

<dev class="center border">

[![](6-day-bit_thumb.jpg)](6-day-bit.jpg)

</dev>

Cool stuff.  All right, I'm outta here.
January 10th, 2011

40m Junkbox QRP Transmitter

I decided to sit down and build something last night, and I'm surprised by how functional it is! Nothing about it is extraordinarily complex, and it's extremely flexible, accommodating almost any crystal you want to drop in. Although I doubt I'll use this exact design for a permanent transmitter, it was fun to build and I'll post photos hoping to inspire others to tinker with RF circuitry as well! The final device worked on 7.000MHz and had 3 components: power supply, oscillator/amplifier (making 20mW), and amplifier (making 1.5W).

First, I needed an oscillator. I had an easy source of one because I had a pile of ATTiny25 microcontrollers. Often I run a microcontroller at my transmit frequency with a crystal (applied to XTAL1 and XTAL2 pins) and collect the convenient 5V square wave on the CKOUT pin (after the appropriate fuse setting is applied). However, although the ATTiny25 has both XTAL and CKOUT pins, they overlap! This means that CKOUT cannot be obtained when using a crystal. This complicates things slightly...

I ended-up getting a nice sine wave from the XTAL1 pin, although it was less than 1PPV. I tried having this signal directly switch an N-channel MOSFET as an amplifier, but it didn't work that well (a transformer might help increase PPV, but that complicates things). I instead used a 74HC240 (8 inverting buffers on one chip) to help boost the signal. However, 1PPV wasn't enough to get the buffer oscillating. I therefore added a 2 resisters and a capacitor to the first inverting output, such that a persistent low would slowly raise the voltage of a wire, and I attached that wire to the input of the buffer chip. This way, although 1ppv wasn't enough to start oscillations, a few milliseconds of time allowed the inverting output (high when the input is low) to raise voltage of the input until it was enough to fire the buffers. Once it starts, it starts! I'm trilled, because a voltage divider or a potentiometer would have been a pain, and required specific parts.

The result is about 20mW of power with no tuned circuit! This means it will work on pretty much any crystal you can pop in the micro-controller. This may be suitable for a QRSS transmitter, and since we're not pushing any of the components very little heat is produced, should it should be thermostable and easy to regulate. Modulation is achieved by a reverse-biased LED varactor diode varying crystal capacitance to ground, discussed elsewhere on my site so I won't go there again.

Power supply is one I built a while back and had available. 5V for the microcontroller, and 12V for the amplifier. Simple!

Amplifying the signal was pretty easy as well. The 5V signal output of the buffer goes from 0V to 5V, which was enough to trigger an IRF510 N-channel MOSFET with a convenient packaging that I screwed into a huge heatsink. I push the MOSFET a lot, and a lot of heat is produced, but as long as I keep it separate from the oscillator the heat shouldn't affect frequency too much. Although on my workbench I use exposed wires connecting components, this is prone to getting RFI so obviously use shielded cable of some sort, or use extremely short leads. The MOSFET is arranged as a class C amplifier, with a RFC inductor at the drain.

In retrospect I'm doubting that 5V is enough to fully activate the IRF510. I should probably use some method to bring voltage just below firing threshold, so the 5V can more fully open the gate. I'll try that later! The output is filtered with a PI lowpass filter. I use two 1nF capacitors and a coil which I wind until the output on the scope looks acceptable. I know there are more exacting ways. Anyhow, I had fun, so I thought I'd post. I'm just tinkering at this point!

It's putting out about a watt and a half into 50 ohms. How cool? Adding a code key is trivial, as the 74hc240 has "gate enable" pins for easy on/off control - even from a microcontroller! Food for thought... 73!

UPDATE - I decided to slap a 10.140MHz (QRSS window) crystal in there and see what happened. I saw my signal locally (AJ4VD/W4DFU grabber), but not elsewhere, so I left it up for about a day. [Vince Adams, N9VN]() spotted it in IL (about 1,000 miles away) and made a post on a mailing list asking who it was. Awesome! Note that for QRSS I used a lower-current power supply, so I don't actually know what power output was, but I'd estimate it to be about 500mW.

(It's the "V-shape" at the bottom)

Markdown source code last modified on January 18th, 2021
---
title: 40m Junkbox QRP Transmitter
date: 2011-01-10 09:01:20
tags: qrss, amateur radio, circuit, old
---

# 40m Junkbox QRP Transmitter

__I decided to sit down and build something last night__, and I'm surprised by how functional it is!  Nothing about it is extraordinarily complex, and it's extremely flexible, accommodating almost any crystal you want to drop in.  Although I doubt I'll use this exact design for a permanent transmitter, it was fun to build and I'll post photos hoping to inspire others to tinker with RF circuitry as well! The final device worked on 7.000MHz and had 3 components: power supply, oscillator/amplifier (making 20mW), and amplifier (making 1.5W). 

<div class="text-center img-border">

[![](IMG_4916_thumb.jpg)](IMG_4916.jpg)

</div>

__First, I needed an oscillator.__ I had an easy source of one because I had a pile of ATTiny25 microcontrollers.  Often I run a microcontroller at my transmit frequency with a crystal (applied to XTAL1 and XTAL2 pins) and collect the convenient 5V square wave on the CKOUT pin (after the appropriate fuse setting is applied).  However, although the ATTiny25 has both XTAL and CKOUT pins, they overlap! This means that CKOUT cannot be obtained when using a crystal. This complicates things slightly... 

<div class="text-center img-border">

[![](IMG_4906_thumb.jpg)](IMG_4906.jpg)

</div>

__I ended-up getting a nice sine wave from the XTAL1 pin__, although it was less than 1PPV.  I tried having this signal directly switch an N-channel MOSFET as an amplifier, but it didn't work that well (a transformer might help increase PPV, but that complicates things).  I instead used a 74HC240 (8 inverting buffers on one chip) to help boost the signal. However, 1PPV wasn't enough to get the buffer oscillating.  I therefore added a 2 resisters and a capacitor to the first inverting output, such that a persistent low would slowly raise the voltage of a wire, and I attached that wire to the input of the buffer chip.  This way, although 1ppv wasn't enough to start oscillations, a few milliseconds of time allowed the inverting output (high when the input is low) to raise voltage of the input until it was enough to fire the buffers.  Once it starts, it starts!  I'm trilled, because a voltage divider or a potentiometer would have been a pain, and required specific parts. 

<div class="text-center img-border">

[![](IMG_4908_thumb.jpg)](IMG_4908.jpg)

</div>

__The result is about 20mW of power with no tuned circuit!__ This means it will work on pretty much any crystal you can pop in the micro-controller. This may be suitable for a QRSS transmitter, and since we're not pushing any of the components very little heat is produced, should it should be thermostable and easy to regulate.  Modulation is achieved by a reverse-biased LED varactor diode varying crystal capacitance to ground, discussed elsewhere on my site so I won't go there again. 

<div class="text-center img-border">

[![](IMG_4910_thumb.jpg)](IMG_4910.jpg)

</div>

__Power supply__ is one I built a while back and had available.  5V for the microcontroller, and 12V for the amplifier.  Simple!

__Amplifying the signal was pretty easy as well.__ The 5V signal output of the buffer goes from 0V to 5V, which was enough to trigger an IRF510 N-channel MOSFET with a convenient packaging that I screwed into a huge heatsink. I push the MOSFET a lot, and a lot of heat is produced, but as long as I keep it separate from the oscillator the heat shouldn't affect frequency too much. Although on my workbench I use exposed wires connecting components, this is prone to getting RFI so obviously use shielded cable of some sort, or use extremely short leads. The MOSFET is arranged as a class C amplifier, with a RFC inductor at the drain.

<div class="text-center img-border">

[![](IMG_4911_thumb.jpg)](IMG_4911.jpg)

</div>

__In retrospect__ I'm doubting that 5V is enough to fully activate the IRF510. I should probably use some method to bring voltage just below firing threshold, so the 5V can more fully open the gate. I'll try that later!  The output is filtered with a PI lowpass filter. I use two 1nF capacitors and a coil which I wind until the output on the scope looks acceptable.  I know there are more exacting ways.  Anyhow, I had fun, so I thought I'd post. I'm just tinkering at this point!

<div class="text-center img-border">

[![](IMG_4917_thumb.jpg)](IMG_4917.jpg)

</div>

It's putting out about a watt and a half into 50 ohms. How cool? Adding a code key is trivial, as the 74hc240 has "gate enable" pins for easy on/off control - even from a microcontroller! Food for thought... 73!

`` UPDATE `` - I decided to slap a 10.140MHz (QRSS window) crystal in there and see what happened. I saw my signal locally (AJ4VD/W4DFU grabber), but not elsewhere, so I left it up for about a day. [Vince Adams, N9VN]() spotted it in IL (about 1,000 miles away) and made a post on a mailing list asking who it was. Awesome! Note that for QRSS I used a lower-current power supply, so I don't actually know what power output was, but I'd estimate it to be about 500mW.

<div class="text-center img-border">

[![](n9vn_thumb.jpg)](n9vn.jpg)

</div>

(It's the "V-shape" at the bottom)
November 14th, 2010

Improved MEPT Enclosure

I've been pretty busy lately, but I drip to the hardware store with the XYL produced a PVC enclosure that looked perfect for my ongoing MEPT (manned experimental propagation transmitter) projects. I didn't want to buy it (it was a little pricey by my standards, at $6 USD, which is about the total cost of the transmitter!) but the wife convinced me and I'm glad she did! I intended it to replace the styrofoam enclosure I had been using, but I wasn't thinking clearly and drilled holes in the box and mounted screws through them. While electrically this is a wonderful way to add antenna connections, thermally it was a bad idea. The main point of the enclosure was to be temperature stable! Oh well. I put the whole thing in the Styrofoam and as a test, I'm leaving it outside tonight. I can't wait to see how it goes! Here are some photos of the project.

Update: Even when being housed outdoors when temperature fluctuations vary greatly between day and night, this MEPT is surprisingly stable! When I open the box, it's very warm inside, so I am thinking that the voltage regulators and the MOSTFETs of the PA are heating the device nicely. Here's a capture spanning about 2 hours. The vertical height of each "V" is about 10Hz, so I estimate that for this span of time, drift is <1Hz. However, I do believe that long term (day to day) frequency stability is still not optimal, but only time will tell.

Signal report: briefly, this is my signal in Alaska courtesy of KL7UK. My signal is the V-shaped one near the bottom:

Markdown source code last modified on January 18th, 2021
---
title: Improved MEPT Enclosure
date: 2010-11-14 20:22:38
tags: qrss, amateur radio, circuit
---

# Improved MEPT Enclosure

__I've been pretty busy lately__, but I drip to the hardware store with the XYL produced a PVC enclosure that looked perfect for my ongoing MEPT (manned experimental propagation transmitter) projects. I didn't want to buy it (it was a little pricey by my standards, at $6 USD, which is about the total cost of the transmitter!) but the wife convinced me and I'm glad she did!  I intended it to replace the styrofoam enclosure I had been using, but I wasn't thinking clearly and drilled holes in the box and mounted screws through them.  While electrically this is a wonderful way to add antenna connections, thermally it was a bad idea.  The main point of the enclosure was to be temperature stable! Oh well. I put the whole thing in the Styrofoam and as a test, I'm leaving it outside tonight. I can't wait to see how it goes!  Here are some photos of the project.

<div class="text-center img-border">

[![](IMG_4526_thumb.jpg)](IMG_4526.jpg)
[![](IMG_4534_thumb.jpg)](IMG_4534.jpg)
[![](IMG_4547_thumb.jpg)](IMG_4547.jpg)
[![](IMG_4548_thumb.jpg)](IMG_4548.jpg)

</div>

__Update:__ Even when being housed outdoors when temperature fluctuations vary greatly between day and night, this MEPT is surprisingly stable! When I open the box, it's very warm inside, so I am thinking that the voltage regulators and the MOSTFETs of the PA are heating the device nicely.  Here's a capture spanning about 2 hours. The vertical height of each "V" is about 10Hz, so I estimate that for this span of time, drift is <1Hz.  However, I do believe that long term (day to day) frequency stability is still not optimal, but only time will tell.

<div class="text-center img-border">

[![](qrss_stable_thumb.jpg)](qrss_stable.jpg)

</div>

__Signal report__: briefly, this is my signal in Alaska courtesy of KL7UK. My signal is the V-shaped one near the bottom: 

<div class="text-center img-border">

[![](KL7UK_alaska_thumb.jpg)](KL7UK_alaska.jpg)

</div>
November 11th, 2010

Deciphering QR Code from Radio Spectrogram

Although I've been ridiculously busy the last few weeks, I've been eying some posts circulating around the Knights QRSS mailing list regarding mysterious signals in the 40m band. They recognized it as a QR Code and tried decoding it with phones and such, but the signal wasn't strong enough above the noise to be automatically deciphered.

That's the original spectrograph as captured by ON5EX in Belgium. It's a pretty good capture, it's just not great enough to be automatically decoded. The first thing I did was pop it open in ImageJ, separate the channels, and use the most useful one (red, I believe). When adjusted for brightness and contrast, I was already at a pretty good starting point.

I tried using an automated decoder at this point (http://zxing.org/w/decode.jspx) but it wasn't able to recognize the QR code. I don't blame it! It was pretty rough. I decided to manually recreate one, so I slapped the image into InkScape, add a grid, and align the image with the grid. From there, it was as easy as drawing a single grid-square-sized rectangle and copy/pasting it in all the right places.

However problems came when working on those last few rows. The static was pretty serious, so I tried a lot of different filters / adjustments. One of the greatest benefits was when I stretched the image super-wide and performed a "rolling ball" background subtraction, then revered it to its original size. That greatly helped reduce the effect of the vertical striping, and let me visually determine where to place the last few squares by squinting a bit.

Once it was all done, I saved the output as orange, then later converted it to black and white for web-detection via the ZXing Decoder.

The final result:

which when decoded reads:

WELL DONE / F4GKA QSL PSE 73

Yay! I did it. Although my call sign is AJ4VD, I'm spending the afternoon at the University of Florida Gator Amateur Radio Club station and am using their computers, so I might QSL as W4DFU. Also, there's a lot to be said for ON5EX for capturing/reporting the QR code in the first place. After a bit of research, it turns out that F4GKA is one of the Knights! I should have known it =o)

Thanks for the fun challenge!

Markdown source code last modified on January 18th, 2021
---
title: Deciphering QR Code from Radio Spectrogram
date: 2010-11-11 15:13:29
tags: qrss, amateur radio
---

# Deciphering QR Code from Radio Spectrogram

__Although I've been ridiculously busy the last few weeks,__ I've been eying some posts circulating around the [Knights QRSS mailing list](http://cnts.be/mailman/listinfo/knightsqrss_cnts.be) regarding mysterious signals in the 40m band.  They recognized it as a [QR Code](http://en.wikipedia.org/wiki/QR_Code) and tried decoding it with phones and such, but the signal wasn't strong enough above the noise to be automatically deciphered.

<dev class="center border medium">

[![](on5ex-odd_thumb.jpg)](on5ex-odd.jpg)

</dev>

__That's the original spectrograph__ as captured by ON5EX in Belgium. It's a pretty good capture, it's just not great enough to be automatically decoded.  The first thing I did was pop it open in ImageJ, separate the channels, and use the most useful one (red, I believe).  When adjusted for brightness and contrast, I was already at a pretty good starting point.

<dev class="center border medium">

![](better.jpg)

</dev>

__I tried using an automated decoder__ at this point (<http://zxing.org/w/decode.jspx>) but it wasn't able to recognize the QR code. I don't blame it! It was pretty rough.  I decided to manually recreate one, so I slapped the image into [InkScape](http://inkscape.org/), add a grid, and align the image with the grid.  From there, it was as easy as drawing a single grid-square-sized rectangle and copy/pasting it in all the right places.

<dev class="center border medium">

[![](building_thumb.jpg)](building.jpg)

</dev>

__However problems came__ when working on those last few rows.  The static was pretty serious, so I tried a lot of different filters / adjustments.  One of the greatest benefits was when I stretched the image super-wide and performed a "rolling ball" background subtraction, then revered it to its original size. That greatly helped reduce the effect of the vertical striping, and let me visually determine where to place the last few squares by squinting a bit.

<dev class="center border medium">

[![](building3_thumb.jpg)](building3.jpg)

</dev>

__Once it was all done,__ I saved the output as orange, then later converted it to black and white for web-detection via [the ZXing Decoder](http://zxing.org/w/decode.jspx).

<dev class="center border medium">

[![](building2_thumb.jpg)](building2.jpg)

</dev>

__The final result:__

<dev class="center">

![](finished.jpg)

</dev>

__which when decoded reads:__

`WELL DONE / F4GKA QSL PSE 73`

__Yay!__ I did it.  Although my call sign is AJ4VD, I'm spending the afternoon at the University of Florida Gator Amateur Radio Club station and am using their computers, so I might QSL as W4DFU.  Also, there's a lot to be said for ON5EX for capturing/reporting the QR code in the first place. After a bit of research, it turns out that F4GKA is one of the Knights! I should have known it =o)

Thanks for the fun challenge!
September 4th, 2010

VD Labs

The VD Labs web page has been published! I hope that the new VD Labs page will be a single location where I can link to descriptions and downloads of useful radio, audio analysis, and QRSS-related software. It will eventually be the home of the next (recorded-from-scratch) version of QRSS VD, but let's not get too far ahead of ourselves!

Since I ran out of steam from working so much on QRSS VD, I didn't think I'd be publishing mush more "useful" software, but this one blind-sighted me. People on the Knights QRSS mailing list were talking about dividing QRSS transmissions into images which line up with the period of the transmitters repeated messages and projecting the images together in an attempt to average-out the noise, and boost the signal. It's a simple idea, and it's the basis behind how a lot of poor imaging devices can improve their output clarity by software (MRI anyone?). I was overwhelmed by dental school obligations the last few weeks, and it pained me so much to read what people were doing (or at least trying to do) and having to sit it out. Now that I have a free day (yay for weekends!) I sat down and wrote some code. I introduce VD Labs QRSS Stitcher and QRSS Stacker!

Converting Argo captures into continuous images:

example output:

Doing the same thing, with ultra-narrow images:

File produced:

Using QRSS Stacker to project images:

Another example output:

Screenshots:

Markdown source code last modified on January 18th, 2021
---
title: VD Labs
date: 2010-09-04 22:36:51
tags: qrss, old
---

# VD Labs

__The VD Labs web page has been published!__ I hope that the new VD Labs page will be a single location where I can link to descriptions and downloads of useful radio, audio analysis, and QRSS-related software. It will eventually be the home of the next (recorded-from-scratch) version of QRSS VD, but let's not get too far ahead of ourselves!

<div class="text-center img-medium">

[![](vd-labs-flyer_thumb.jpg)](vd-labs-flyer.jpg)

</div>

__Since I ran out of steam__ from working so much on [QRSS VD](http://www.swharden.com/blog/qrss_vd/), I didn't think I'd be publishing mush more "useful" software, but this one blind-sighted me. People on the Knights QRSS mailing list were talking about dividing QRSS transmissions into images which line up with the period of the transmitters repeated messages and projecting the images together in an attempt to average-out the noise, and boost the signal. It's a simple idea, and it's the basis behind how a lot of poor imaging devices can improve their output clarity by software (MRI anyone?). I was overwhelmed by dental school obligations the last few weeks, and it pained me so much to read what people were doing (or at least trying to do) and having to sit it out. Now that I have a free day (yay for weekends!) I sat down and wrote some code. I introduce VD Labs QRSS Stitcher and QRSS Stacker!

### Converting Argo captures into continuous images:

![](https://www.youtube.com/embed/Xyo10SyHtfU)


### example output:

<div class="text-center img-border large">

[![](stitched_thumb.jpg)](stitched.jpg)

</div>

### Doing the same thing, with ultra-narrow images:

![](https://www.youtube.com/embed/5jcZzIMtR-0)

### File produced:

<div class="text-center img-border">

[![](stacked_narrow_thumb.jpg)](stacked_narrow.jpg)

</div>

### Using QRSS Stacker to project images:

![](https://www.youtube.com/embed/-hiezkSFd4k)

### Another example output:

<div class="text-center img-border">

[![](stacked_stitched_thumb.jpg)](stacked_stitched.jpg)

</div>

### Screenshots:

<div class="text-center img-border">

![](vd-labs-qrss-stacker.jpg)

</div>

<div class="text-center img-border">

![](vd-labs-qrss-stitcher.jpg)

</div>
Pages