The personal website of Scott W Harden

A Taste of Culture

This blog has become too much about electronics. Yeah, electronics projects are good but there's more to life than electronics! Right now I'm in dental school and... [pause] oh, yeah I don't want to reflect on that. Let's talk electronics! I keep planning to eventually write what dental school is like from an honest perspective for its archival significance, but the thought of spending time writing about dental school makes my gut churn. There are so many other things to do than to reflect on "that place". My home is my escape, this website is my escape, and when I'm ready to talk, I'll talk. This is a note to myself to, at least once before I graduate, write what it's like to be in dental school. Back to tinkering. I leave you with a selection from Dvorak's Piano Quintet Number 2 (opus 81). It's not a wonderful recording, but I appreciate the performance.

EDIT: link updated in 2020 because original video is down. The referenced portion of the song is this video starting at 27:30.

⚠️ Warning: This article is obsolete.
Articles typically receive this designation when the technology they describe is no longer relevant, code provided is later deemed to be of poor quality, or the topics discussed are better presented in future articles. Articles like this are retained for the sake of preservation, but their content should be critically assessed.

First Homebrew QSO Ever!

Today is a very special day, as it's the day I first made a contact with a radio transmitter I built completely on my own! The plans were copied from no where (although the concepts were obviously learned elsewhere), so it's somewhat of a unique design (likely because it's not very good!). I'll be the first to admit there is MUCH room for improvement, but my goal was to design and build a multi-band transmitter which would produce RF (not necessarily efficiently) at multiple bands by dropping in crystals of different frequencies.

My first QSO was with Bob, KC8MFF in West Virginia at 5pm today on 7MHz. He heard me calling CQ and replied! He gave me a 559 which made my happy. I was sending about 8 watts at the time into a Mosley Pro 67 Yagi at 180FT and receiving from a 40m dipole at 150FT at the W4DFU Gator Amateur Radio Club station in Gainesville, FL. Although he's was about 650 miles away, I hope to make a more significant contact as the band opens up later tonight. It's such an exciting feeling! The aluminum plate gets very hot (even with the fan) and there's a slight smell of smoke whenever I transmit, but it adds to the fun I guess! Here's some information about the build, though I'm confident it's less than optimal.

I'll preface this by stating that my goal was to produce an experimental platform which I could use to investigate construction techniques of small moderate-power transmitters. This is by no means a finished product! Much work (and some math) must be done to calculate the best number of turns on each coil for each band, including the RF choke on the power (resulting in class C amplifier behavior), the RF transformer, and the inductor/capacitor values of the low pass filter - all of which were determined empirically (watching output on an oscilloscope while adding/removing turns on a toroid). At 10W, it's not QRP, but it's easy to tone down to QRP (5W levels).

One of my desires was to create a transmitter which could be built at minimal cost (total value of this is probably about $10). The microcontroller (ATTiny2313) was what I had on hand ($2), the buffer chip acts as a small amplifier ($0.50), and the power amplifiers are IRF510 MOSFETs ($1). The rest of the components are junkbox, and their values aren't really significant! The power supply is a 19V 3.6A power supply from an old laptop - small, convenient, awesome! Hopefully with some tweaking I'll have a nice transmitter which I'm proud to share and have replicated...

The overall schematic represents a crystal clocking a microcontroller at the transmit frequency, where the CKOUT fuse has been set, producing 5PPV square waves. These trigger an inverting buffer which (a) amplifies the current of the signal and (b) provides an easy source of inverted signal. The two (inverse) signals then fire a pair of IRF510s in tandem, each acting as a Class C amplifier producing about 60PPV waves (not quite as square-ish). The output is low-pass filtered with a Pi filter (3 pole Chebyschev), then sent to an antenna. Nothing special has been done to match the output to the antenna, so SWR with a 50ohm load is currently a bit high, but I imagine a variable capacitor on the output LPF would give me something to adjust to improve this. I should probably go back to square 1 and re-do the math from start to finish and follow my impedance values more closely.

Future work will be invested into adding an iambic keyer property to the microcontroller, as well as a button to send CQ at various speeds. It may be interesting to clock this from a Si570 digital synthesizer, allowing me to transmit on any frequency and no longer be crystal-bound. Additionally, using the same oscillator source to power a direct conversion receiver would yield obvious benefit, allowing transmit/receive from a home-brew device at minimal cost. Currently, I'm locked into using a commercial rig as a receiver. We'll see how it goes...

Anyhow, that's that. I wanted to document this because I know I'll look back in the future and laugh at how poorly designed this project is. I'm just amazed it works, and for now this represents a gigantic step step in my learning and growth as an engineer. As poorly designed as it may be, it's something I'm very, very proud of!

Great inspiration has come from Wes Hayward's Experimental Methods in RF Design text. I've been checking it out from the library every few weeks (Interlibrary Loan, from Vanderbilt University to the University of Florida) but I finally got my own copy for Christmas. It's such a great resource! The IRF510 push-pull idea came from figure 2.101.

PS: The image below is of a MOSFET I exploded in the development process. Too much current... oops!

⚠️ Warning: This article is obsolete.
Articles typically receive this designation when the technology they describe is no longer relevant, code provided is later deemed to be of poor quality, or the topics discussed are better presented in future articles. Articles like this are retained for the sake of preservation, but their content should be critically assessed.

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)

RF Circuitry Links

PSK-31 receiver - sports a crystal filter front-end and active receiver

Neophyte Receiver - old article based around an NE602 / SA602 / SA612.

602 Primer - old document but very good about SA602, includes method to estimate capacitor values for Colpitts oscillator mode.

Hans' 30m receiver where he used an inverting gate buffer oscillator to generate 5v square waves which he fed into a SA602

Making Friends with the SA602 - an attempt at a write-up of the circuitry behind the Ramsey receiver kits (which only do 1 band each), although the manuals (example for 40m) may be useful

3.5-10MHz receiver - around a few SA602s, uses IF transformers too

30m receiver design - "The Limerick Sudden 30m Receiver Kit" based around a SA602/LM386 very simple and pretty

Sudden Storm Receiver - tuna tun style, check out schem a few pages in... sa602 + LM386 + crystal

Etching PCBs with hydrogen peroxide, vinegar, and table salt (wow!)

Morse.exe - A good way to learn Morse code!

High Altitude Balloon

Oscillator page which has a section mentioning that the 7th overtone can be used in an oscillator. The 7th overtone of 18mhz (17m) is 144mhz (2m) smack dab in the CW region. Nice!

Path prediction - note that UF is 29.642276 latitude and -82.344949 longitude

Icarus - a HAB project run on advertising revenue that seems successful and has launched many balloons with some awesome photos. Robert Harrison knows his stuff!

Project Space Planes - launches paper airplanes from 30km above the earth which glide down and land all over the world!

HALO project - very well documented HAB with pictures/video

JBOT - An SSB linear amplifier made from Just a Bunch of Transistors. It's pretty straightforward, cheap, and converts 1mW input to 5W output.

harmonic oscillator

tuned oscillator example

overtone oscillator

amplifier design walk-through

Lessons in Electric Circuits - A very good (free) textbook. Anyone starting to learn about electronics should start by skimming over relevant chapters of this text!

1W CW transmitter kit - Although I don't own one, I appreciate the kit and love the schematic. This guy uses a buffer chip (a 74HC04n, similar to a 74HC240 often used in QRP too) to act as an oscillator and small amplifier. The output is then further amplified by a 2n3866 transistor.

30M Solar QRSS transmitter - such an inspiring project! This guy uses a buffer chip (74hc245) to amplify the output of CKOUT of a microcontroller clocked at the transmit frequency. The thing is solar powered, and has a unique temperature compensation mechanism which uses the chip's built-in thermosensor to adjust its offset. I haven't seen this technique used anywhere else in a QRP transmitter! - Everything this man does is impressive! His QRSS section is wonderful, and I won't detract from it by trying to describe it here. He also has a simple QRSS receiver circuit based upon a SA602, something I replicated (tuned front-end not shown) to operate my W4DFU QRSS Grabber at the University of Florida.

MOSFET "Switched Mode" Amplifiers - a wonderful document, read it multiple times! Transistors are traditionally used in many QRP circuits as amplifiers, but MOSFETs have some unique qualities which in many ways makes them easier to work with in simple circuits. I found this guide EXTREMELY helpful!

Amplifier design - a cool walk-through of the design of an amplifier with the math described every step of the way

IRF-510 QRP transmitter design which looks pretty interesting... Note that increasing efficiency lets the MOSFET run cool!

Similar IRF-510 transmitter I like as well....

SA602 as an oscillator - clever, clock with tank, mix with nothing, output (mixed?) is clock only!

JFET Rainglasz/Colpitts Oscillator Design which looks interesting


Battery info - useful for calculating life of batteries under load

Battery tests - tests common batteries at different loads to determine real (not optimal) amp hour ratings!

Filter design software I use for low pass filter design

Mini ring and core calculator very convenient for designing inductors with toroids or calculating resonance of LC networks

Knights QRSS Compendium - Live image feeds of QRSS grabbers all around the world, often situated at the QRSS watering hole of 10.140MHz

Knights QRSS Mailing List - Sign up for this mailing list to see who's transmitting what on which frequency. People also often post photos of their transmitters, and interesting captures from grabbers that you may have missed!

Experimental Methods in RF Design - Only $32 on right now, this book is an amazing resource for anyone interested in building RF circuits. It goes from extremely simple transmitters, receivers, and amplifiers all the way through advanced topics, modulation methods, etc. It even describes how to build your own test equipment, and even how to use an oscilloscope and assess various stages of your transmitter designs. Flipping through the pages of this book gives me new ideas every time! I requested it many times from my university library (interlibrary loan, often came from Vanderbilt University) before I broke down and got it. I highly recommend this book!

⚠️ Warning: This article is obsolete.
Articles typically receive this designation when the technology they describe is no longer relevant, code provided is later deemed to be of poor quality, or the topics discussed are better presented in future articles. Articles like this are retained for the sake of preservation, but their content should be critically assessed.

Full-Auto Rapidfire Mouse Modification

I did this purely for the fun of it, and am aware there are many ways to accomplish the same thing. I was playing Counter Strike Source (you should buy it and play with me, name "swharden") and my fingers are really cold from the winter weather, and wondered if I could have a button help with the rapid firing of pistols. I mentioned it on the microphone, and one of the players ("{Ẋpli¢it} shadow") said I should go for it. Because it was a fun little project, I documented it so I could share it. Check out the cool photos and video!

There's a summary of the project in video form. Some details of the project are below...

Here you can see the original circuit board in the mouse. The microchip on the bottom right of the image seems to do the data processing, so I investigated it a bit and found the pin that the left-click button goes to.

Here's the underside. It helped me identify good locations to grab +5V and GND solder points.

This is the microcontroller I decided to use for the project. It's an ATTiny25, $1.33 USD (10+ quantity from Mouser), and has a built in 8MHz oscillator (which can run at 1MHz thanks to the DIV/8 clock prescaler.

I slap the chip in the homebrew development board (a glorified AVR-ISP mkII) and it's ready for programming. Code and schematics are at the bottom.

After programming, I glued the microchip upside-down in the mouse case and soldered wires directly to the pins. I used small (about 28AWG) magnet wire because it's a lot easier than stripping wires. Just heat the tip with a soldering iron, the coating melts away, and you can stick it wherever you need to with a dab of solder. Not too many people use this method, but I recommend you try it at least once! It can be very useful at times, and is about as cheap as you can get. (eBay has good prices)

BIG PROBLEM! It didn't work AT ALL. Why? Didn't know... I checked the o-scope and saw everything seemed to be working fine. It turns out that 50 clicks per second was too fast to register, and when I reduced the speed to 25 clicks per second it worked fine. Unfortunately I had to add extra wires to allow myself to program the chip while it was in the mouse - a major pain that complicated the project more than I wished!

Here's a good view of the transistor. Simply put, when the microcontroller sends power to the "base" pin of the 2n2222 transistor, the "collector" is drained through the "emitter", and the transistor acts like a switch. It's shorting the pin, just like would happen if you physically pressed the left click mouse button. When the mouse microchip is positive (+5V), it's "no click", but when it goes to ground (shorted by the click button), a click is detected. I biased the "base" pin toward ground by connecting it to GND through a high value resistor. This makes sure it doesn't accidentally fire when it's not supposed to.

Here you can clearly see the programmer pins I added. This lets me quickly access the chip and reprogram it if I decide to add/modify functionality.

When it's all said and done, it's surprisingly slick and functional. I'm using it right now to write my blog, and the button isn't really in the way. I think it's one of those el-cheapo buttons you get in a pack of 10 from RadioShack, but I would highly recommend eBay as RadioShack is ridiculously overpriced on components.

There's the schematic. Grabbing 5v and GND from a usb mouse is trivial. Heck, most of the circuity/code is trivial! Now that I think about it, this represents are really great starter project for anyone interested in microcontrollers.

Use this diagram of the pin functions for reference.

Remember there's more than one way to skin a cat! For example, if you don't want to program a microcontroller, a 555 timer is a simple method and there are tutorials out there demonstrating how to do this. I chose a microcontroller because I can precisely control the rate of firing and the duration. If you decide to do something similar, send me photos and I'd be happy to share them on the site! I love doing tangible projects, however silly they are.

And finally, the code!

#define F_CPU 1000000UL // frequency (20MHz)
#include <avr/io.h>
#include <util/delay.h>

void on()
    PORTB |= 1 << PB3; //led
    PORTB |= 1 << PB2; //heater
void off()
    PORTB &= ~(1 << PB3); //led
    PORTB &= ~(1 << PB2); //heater

void main()
    DDRB |= (1 << PB3) | (1 << PB2);
    int ticks;

    for (;;)
    { //FOREVER
        while ((PINB & _BV(PB4)) == 0)
        }                                     // NOT PRESSED, DO NOTHING
        for (ticks = 0; ticks < 125; ticks++) // CLICK FOR 5 seconds
        } // CLICK TAKES 1/50'th second
page 1, page 2, page 3, page 4, page 5, page 6, page 7, page 8, page 9, page 10, page 11, page 12, page 13, page 14, page 15, page 16, page 17, page 18, page 19, page 20, page 21, page 22, page 23, page 24, page 25, page 26, page 27, page 28, page 29, page 30, page 31, page 32, page 33, page 34, page 35, page 36, page 37, page 38, page 39, page 40, page 41, page 42, page 43, page 44, page 45, page 46, page 47, page 48, page 49
All Blog Posts