It's been almost a month since my last post. It's not that I haven't been busy, but because I've been doing some high-intensity noodling and trying, with limited success, to get a handle on coding in Python. But, I'm making progress and finally at the point where I can cut/bend some metal and melt some solder!
In previous posts, I mentioned that I'd be doing a "Software Defined" rig as my next project, but I didn't want to simply regurgitate what others have done. No, I want my stink all over this one.
I started experimenting with SDRs in the mid 2000s when I stumbled across Tony Parks, KB9YIG's early Softrock kits. These are really incredible little radios, and lots of fun to build - so much so that I built way several, including a couple that I never really intended to use, one of which I modified and re-used in this project.
As nice as Tony's kits are, once the novelty wore off, I lost interest in the operating experience, which is, to me, more like operating a computer than a radio. This is by no means a criticism, just that it wasn't for me - I prefer a radio that "feels" like a radio. So, I shelved the SDRs and went back to using more traditional radios at the same time that SDRs started becoming insanely popular with the rest of the amateur fraternity.
Anyway, I started getting ideas for this project earlier this year when I came across a 40m Softrock receiver that I'd forgotten about, hooked it up and marveled at how competent a receiver it is. Then, while rummaging through my desk at work, found one of my "surplus" Softrock transceivers hiding in one of the drawers. That got the wheels turning: Why not build a "real" radio around it? So, here we are...
The Softrock serves as the modulator/demodulator stages in the new rig, and is controlled by an embedded Raspberry PI 3B running N2ADR's Quisk software. The Softrock has been adapted so that it's frequency is controlled by one clock of the venerable Si5351 in much the same way that others and I have used it to provide the BFO signal in conventional rigs. In other words, the Softrock is tuned to the IF signal.
The Si5351 is controlled by an Arduino Pro-Mini, that's also used to select the appropriate band and low-pass filters and handle all of the rig's switching duties. The Arduino and Pi talk to each other via their USB ports: The Pi tells the Arduino when the frequency or band is changed in Quisk, and the Arduino tunes the Si5351 and switches the filters. Conversely, when the frequency is changed using the rotary encoder, the Arduino tells the Pi about it and Quisk updates the operating frequency. Cool! A big "Muchas Gracias" to Pavel, CO2WT, for his fantastic library that makes the Arduino look like an FT-857D, allowing me to use the standard Hamlib libraries to make this all tick.
Referring to the above photo, the pot at the lower left is the AF gain. I'm using an LA4425A amplifier to bump the soundcard's line-level output up to a few watts of glorious, room-filling audio. In the upper left corner is a momentary switch used to power the rig on and shut it down gracefully; I've got the first part working, but need to debug the shut-down code (Damned Python.)
The display is a 7" touch-screen, which is about the perfect size to control Quisk in small-screen mode. The Pi is attached to the rear of the display using a homebrew bracket/enclosure. I found that the Pi would overheat after running for several hours, so I combated that by installing a small cooling fan on the Pi's enclosure. I can now leave it running for days without it going into melt-down.
Left of the display is a 100 PPR encoder that I got ($20) from Marlin P. Jones. I love the resolution of the encoder, but am not wild about the clicky detents and intend to see if I can defeat that feature.
So, at this point, I have a working SDR operating at 9 MHz - which deserves mention: 9 MHz is a good single-conversion IF on all HF bands except 17m, where it's a pain to filter the 2nd harmonic of the BFO from the transmitter's output. But, since there are no fixed IF filters being used and the 2nd LO is programmable, I can change to a 17m friendly frequency with a few lines of code. Excellent!
That's where I'll leave it for now. Until next time,
73 de Steve N8NM
In previous posts, I mentioned that I'd be doing a "Software Defined" rig as my next project, but I didn't want to simply regurgitate what others have done. No, I want my stink all over this one.
I started experimenting with SDRs in the mid 2000s when I stumbled across Tony Parks, KB9YIG's early Softrock kits. These are really incredible little radios, and lots of fun to build - so much so that I built way several, including a couple that I never really intended to use, one of which I modified and re-used in this project.
As nice as Tony's kits are, once the novelty wore off, I lost interest in the operating experience, which is, to me, more like operating a computer than a radio. This is by no means a criticism, just that it wasn't for me - I prefer a radio that "feels" like a radio. So, I shelved the SDRs and went back to using more traditional radios at the same time that SDRs started becoming insanely popular with the rest of the amateur fraternity.
Anyway, I started getting ideas for this project earlier this year when I came across a 40m Softrock receiver that I'd forgotten about, hooked it up and marveled at how competent a receiver it is. Then, while rummaging through my desk at work, found one of my "surplus" Softrock transceivers hiding in one of the drawers. That got the wheels turning: Why not build a "real" radio around it? So, here we are...
The Softrock serves as the modulator/demodulator stages in the new rig, and is controlled by an embedded Raspberry PI 3B running N2ADR's Quisk software. The Softrock has been adapted so that it's frequency is controlled by one clock of the venerable Si5351 in much the same way that others and I have used it to provide the BFO signal in conventional rigs. In other words, the Softrock is tuned to the IF signal.
The Si5351 is controlled by an Arduino Pro-Mini, that's also used to select the appropriate band and low-pass filters and handle all of the rig's switching duties. The Arduino and Pi talk to each other via their USB ports: The Pi tells the Arduino when the frequency or band is changed in Quisk, and the Arduino tunes the Si5351 and switches the filters. Conversely, when the frequency is changed using the rotary encoder, the Arduino tells the Pi about it and Quisk updates the operating frequency. Cool! A big "Muchas Gracias" to Pavel, CO2WT, for his fantastic library that makes the Arduino look like an FT-857D, allowing me to use the standard Hamlib libraries to make this all tick.
Referring to the above photo, the pot at the lower left is the AF gain. I'm using an LA4425A amplifier to bump the soundcard's line-level output up to a few watts of glorious, room-filling audio. In the upper left corner is a momentary switch used to power the rig on and shut it down gracefully; I've got the first part working, but need to debug the shut-down code (Damned Python.)
The display is a 7" touch-screen, which is about the perfect size to control Quisk in small-screen mode. The Pi is attached to the rear of the display using a homebrew bracket/enclosure. I found that the Pi would overheat after running for several hours, so I combated that by installing a small cooling fan on the Pi's enclosure. I can now leave it running for days without it going into melt-down.
Left of the display is a 100 PPR encoder that I got ($20) from Marlin P. Jones. I love the resolution of the encoder, but am not wild about the clicky detents and intend to see if I can defeat that feature.
So, at this point, I have a working SDR operating at 9 MHz - which deserves mention: 9 MHz is a good single-conversion IF on all HF bands except 17m, where it's a pain to filter the 2nd harmonic of the BFO from the transmitter's output. But, since there are no fixed IF filters being used and the 2nd LO is programmable, I can change to a 17m friendly frequency with a few lines of code. Excellent!
That's where I'll leave it for now. Until next time,
73 de Steve N8NM