As mentioned in the introductory article to this radio the digital components in this transceiver are pre-manufactured modules that have only been put together in a more or less sensible way. ;-). These modules are:
AD9850 as variable frequency oscillator (VFO), China made no-name board,
Si5351 as local oscillator (LO) produced by “Adafruit”,
Arduino Pro Mini w. ATMgea328p as Microcontroller Unit (uC, MCU), no-name
ST7735 colored LCD, no-name,
MCP4725 as digital-analog-converter to preset transmitter gain via MCU, “Sparkfun” clone from China, no-name
All units are able to run on 5V which made it easy to layout the schematic because only one 5V/1A voltage regulator had to bu used.
To watch a high resolution version (4.2MB!) of the wiring scheme, please click here!
a) The lines for ISP (MOSI, MISO, SCK, RESET and GND) have not been drawn but the location to the respective ports is mentioned in the table sited in the right top corner. Reset rquires 10kOhms to +5V and a 0.1uF cap to GND.
b) Certain clones of the MCP4725 DAC module will produce conflicts with the I²C/TWI-address of the Si5351 LO module. Original “Sparkfun” boards come with I²C/TWI-address 0x60, 0x61 or 0x62 (depending on literature/web resource you get this information from).
This address is set by the manufacturer AD inside the hardware on customer’s demand. On the other hand the Chinese made modules I am using have basic address 0xC0 which is the address of the Si5351 also. Thus this leads to conflicts on the I2C/TWI-Bus. One solution is to close a solder bridge to +VDD on the very tiny DAC-board which will set address to 0xC2.
c) For the 4(!) user switches (not 3 like in the photo above!) the pull-up resistor on PORT PC0 is set on. There are is a resistor (in the range between 560 Ohms and 2.2 kOhms) with each switch, that pulls voltage to GND when the respective key is pressed. This leads to a voltage drop at the analog input that will be detected by the ADC channel.
This voltage drop depends on the pull-up resistor and on some other factors so it must be determined for every controller setup individually. To solve this, in the respective functionthat returns the numeric value for the key pressed there is a small commented code that you have to de-comment temporarily:
Restart the software, press every key, put the indicated key value into the code (line 4) and re-comment the orange lines when fnished. Next re-upload the software to the controller.
d) Source code in C is available on my Github repository. Please note that even if an Arduino Pro Mini MCU board is used, the code is not designed for the Arduino “world”. It does not use functions of the Arduino environment and may not function with the Arduino bootloader.
To compile the C source and generate the HEX-File you need the GNU C Compiler either for Windows or Linux.
A compact SSB transmitter/receiver will be presented. This unit covers 5 bands within the amateur radio spectrum (3.5, 7, 14, 21 and 28 MHz). Receiver is a single conversion unit with an interfrequency of 9 MHz. Transmitter uses 5 stages and has got a power level of 10 watts PEP output.
Frequency generation is done by integrated ready made modules, in this project a Si5351 as VFO and LO. Microcontroller is an Arduino Pro mini AtMega328 driving a colored TFT LCD with ST7735 chipset.
The whole device has been constructed in SMD but can also be setup by using “thru hole” techniques or mixed installations.
The unit is built into into a mounting frame of aluminum sheets of standardized width. Size of the whole radio is 17 x 12 x 5 centimeters. It is, to a certain degree, the “Little Brother” of the “Midi6“-Transceiver that had been designed mainly for experimental purposes.
Multiband QRP transceiver projects are challenging for the radioamateur. The even more challenging matter is to build it as neat as possible.
The “Midi6” transceiver has been an interesting step which made me learn a lot of things. But it is a much too bulky for my needs (producing compact and lightweight portable gear for traveling, hiking etc. ) On the other hand I found that I don’t really need 160m installed in the radio (due to antenna problems here at my site) which defined the next multibander having a “classical” (i. e. 70s) layout with 80, 40, 20, 15 and 10 meters.
An important point was to use ready made modules or breakout boards for the major digital and analog circuits:
First I thought about using the Si5351 as VFO and LO because it contains 3 oscillators on one chip. But I gave that idea away very fast because there were to many spurious signals and the thus the receiver had to many “birdies” which I don’t accept. Having had some of the Chinese made AD9850 boards still here on the shelf I gave that one a try and was finally relatively happy with receiver performance.
The microntroller and its application also has been a challenge because for a multiband transceiver an Arduino Pro Mini might be a little bit weak because the number of ports is very limited. But it finally worked out when planning is carefully done and optimizing is brought to its limits. The port usage is as follows:
ISP leads are used for controlling the DDS and for uploading the software to the controller. This is done because the inputs of the DDS are high Z inputs that do not affect the ISP data transfer. On the other hand the programmer goes to high Z if there is no data to be sent to the controller. Thus testing the radio is possible when programming leads are connected.
LCD is an ST7735 TFT colored display because I found the OLEDs with 1306 and 1106 drivers to noisy on the higher bands where band noise is weak and therefore digital noise produced in the radio comes more into the foreground. And, above all, a colored display makes much more impression than an ordinary b/w one. 😉
Mechanical construction and transceiver units
For this radio I ordered aluminum strips holding a width of 5 centimeters via ebay. Thickness is 1.5 mm. From this material a very rugged frame has been constructed that gives the whole rig a very good mechanical stability.
Major units in this construction
The rig is very much unitized, each functional of a module section is soldered to a very small piece of veroboard that has been cut out from a larger piece of material. It is fixed to the aluminum basis by using inserted nuts with M2 screw thread. The main advantage is: If one unit fails it is easy to reconstruct it and put it to the place the predecessor has been mounted and second grounding is excellent because the small single units don’t require long grounding leads because the boards are very small in size and the 4 corners all have ground potential. Particularly for the transmitter I can say that I had never any unwanted oscillations.
The transmitter is 100% stable on all the 5 bands, which was not the way with the first “Gimme 5”-Transceiver that had severe layout problems in the transmitter having the initial BPFs very close to the final rf power stage. But in the end you should be knowing more than in the beginning pf a project. So is true here. 😉
The picture shows a close-up of the receiver section that consists of 5 single units (from the left)
Dual-gate MOSFET preamplifier (in the picture veiled by shielded cables) and rx mixer (SL6440)
interfrequency amplifier (MC1350) and product detector (dual gate MOSFET)
audio preamp (BC547) and main amp (3 transistors, the 2 finals in push-pull circuit)
AGC with OP (LM358) and bipolar transistors as voltage regulators.
The same technique has been used for the transmitter:
Starting from the left you notice an SSM2166 microphone compressor ic by Analog Device which also is the main microphone amplifier. Next is an AN612 mixer as DSB generator, followed by an NE612 serving as transmit mixer.
The second board from the right is a 3 stage unit to bring the transmit signal to a power level of about 150mW (Dual gate MOSFET, 2N2222 and 2SC2314 as active semiconductors in this order). On the right a push-pull stage equipped with 2 2SC2078 and relatively high emitter degeneration (2 Ohms for each transistor) brings the power up to 500mW.
Transmitter gain can be controlled with an MCP4725 DAC that is set for each band individually and helps much to compensate gain increase on the lower bands. This DAC is also connected to the microcontroller’s I²C-bus and data for each band is saved in EEPROM and is being recalled if a certain band is switched.
Tha main amp is centered on the center side of the mainframe:
On the left side of the tx pa unit there are 2 power transistors (2SC1969 by eleflow) mounted to a small strip of 3mm thick aluminum that is connected to another much thicker block of Al. Here a large heatsink can be mounted when the device is under test or finally fixed into the cabinet when using the aluminum cabinet as heatsink. Connected to the aluminum block there is the temperature sensor (KTY 81-110) that allows permanent check of the transistors temperature and that will lead to a warning on the LCD when excess temperature is detected.
The output transformer can be found under the two PA transistors and therefore is not visible here. This “stacked” construction saves very much space. PA transistors are connecting to 2.54 mm socket strips which makes the pair of semiconductors removable and allows access to the power transformer underneath.
On the right of the PA section there are the low pass filters for each band switched by a single relay.
Band filters are shared for transmitter and receiver and are switched to the respective branch by using relays. Left of the BPF unit there is a logical unit (HCF4028 BCD encoder and an ULN 2003 relay driver integrated circuit). This allows switching 5 relays by just using 3 binary coded controller output ports.
Software is written in C for AVR controllers using the GNU C compiler under Linux. The code will be discussed in the respective article that is going to follow this introduction.
I strongly recommend to stay tuned for the next articles covering this transceiver and giving details for each unit! 😉
The well-known mixer NE612 (NXP) will be compared to an AN612 (Matsushita/Panasonic) mixer that has been unsoldered from an old CB-SSB-radio. Comparison will include output voltage level and spectroscopic analysis of a 9MHz SSB signal.
When we talk about about integrated double balanced mixers (DBM) and say the number “612” we usually talk about the NE612 (aka SA/NE/602/612 in free combination of letters and digits). This IC uses a so called “Gilbert Cell” and has been developed by Dutch manufacturer Philips (nowadays NXP) some 30 years ago.
The IC has been intended to be used in cellphone applications, is a low voltage device (6 to 7V VDD approx., 8V DC max.) and has low power consumption . Frequency range is up to 500MHz (input signal) and gain is around 12 to 15dB. It has an integrated oscillator circuit that can be used with crystals connected to PIN6.
The IC has been widely adopted by amateur radio constructors and is still available today mainly in SMD package. When we examine homemade QRP radios published on the internet e. g., in 90% of cases one or more NE602 mixers will be found in the transceivers. One real advantage of the NE612 family is that only a few external components are required for building up a relatively acceptable working rf mixer.
In my radios I usually use the NE602 and its equivalents therefore for the DSB generator circuit and the transmit mixer. For receiving purposes it can be used for the higher bands (f >= 14MHz), on the lower bands the relatively low IMD performance (IMD3 about 15dB) shows severe shortcomings particularly on the 40 meter band where strong off-band broadcaster generate high signal levels and therefore overdriving the mixer’s input stage.
Due to the low IMD performance the IC also has weaknesses when being used as a DSB generator. The following findings occured when I analyzed the spectrum of a simple DSB/SSB generator equipped with an NE602.
NE612 DSB generator circuit under test
The NE612 here has been equipped with an additional resistor network (2x56k and a var. resistor with 10k) to get better carrier suppression features. To enhance output a transformer has been added to use PINs 4 and 5 which are the output stages of the circuit.
When driven with an dual tone audio signal (the 2 frequencies not harmonically related) we get an output voltage of about 50mV pp. and the spectrum shown below:
We can observe some IMD 3 and 5 products about 30dB below peak voltage. This is an outcome a little away from what can be expected from an SSB generator.
AN612 also is a very simple mixer that has been developed by Matsushita (Japan, now Panasonic) and has been used in various types of SSB radios for the 11m-Band (CB). In contrast to NE612 it does not contain an internal oscillator.
The IC comes in a 7 lead IC case (SIP7), please refer to datasheet. The IC is manufactured still today and available from various vendors on the internet. I ordered a package of ten from a Chinese ebay seller and found the ICs worked the same way like an original one from a PRESIDENT CB radio. They actually were no fakes.
The IC has a higher VDD so that it can be connected directly to the 12V rail of a standard battery operated radio. In contrast to the NE612 there is no need for a voltage regulator. Also the whole circuit only needs 7 external components:
Performance is quite interesting. When comparing this circuit to the NE612 DSB generator, we find that the output voltage is 4 times higher than that of its namesake. It equals to 200mV pp. The output spectrum also has slightly improved concerning IMD performance:
We see a little fewer IMD products with slightly decreased signal strength.
The AN612 is a not very well known but so much the better interesting mixer IC for the ambitious radio designer who wants to build hardware defined radios. The main locations in a radio will be the DSB generator and the transmit mixer. The IC is cheap, very well available and reveals a slightly higher performance than the other “612”, the NE612. And, overall, the circuit is very simple.
My transceivers usually don’t use any ready-made cabinets. To save space and have full and easy access to all parts of the radio during construction, adjusting, assessment and repair I prefer an open 2-layer sandwich method.
There usually is one centered frame that is fixed using M3 or M4 bolts to the front panel carrier and the rear wall or carrier (if the rear wall consists of a more complex structure):
The center carrier here consists of 4 aluminum bars that have quadratic cross section (7mm edge length) and are building up a rectangle. This a rugged basis for 2 aluminum sheets (0.8mm thickness). These aluminum sheets are fixed with bolts (M2 winding) fitting into screw threads inside the bars that have been cut in there before.
The single veroboards are bolted with spacers using M2 screw threads onto the aluminum sheets. These spacers are available from Chinese vendors on the internet and have a fairly low price. They have become my favorite mechanical aids when building compact radios. For higher demands concerning force I use the same devices in M3 or even M4.
The front and rear carriers are bolted into this center frame and support the front and rear panel:
At the top of the picture you can see the final LPF and the DC input for the transceiver mounted to the rear of the radio.
The front panel is made of an aluminum sheet metal (again 0.8mm thick) that has cutouts for the LCD, the controls, the push-buttons and the microphone jack.
The front panel light diffuser is made of a part of white translucent plastic bought from a shop that distributes material for architects. 3 strips of LEDs are mounted there also using the M2 spacers (3mm length).
The whole body then is placed into an outer cabinet that is composed of 2 halves of aluminum that have been bent into the correct form to fit the shape of front and rear panel.
The lower one has a height of only 1.5 centimeters. To connect the upper half on each side a strip of aluminum (2mm thickness) is bolted to the aluminum sheet close to the edge that carries screw threads to fix the upper and the lower half together to close the cabinet. These “sidebars” also affect the stability of the relatively thin cabinet in a positive way.
To avoid the interior section slipping out of the closed cabinet the two “sidebars” are cut into an appropriate length so that they “block” the inside from slipping out either to the front or the rear side.
Using aluminum has two major advantages in my point of view: First it is easy to be processed (in contrast for example when using metal sheets made of steel) and it is very lightweight what I prefer because I use my radios on frequent travel activities.
This unit is a very simple one. I did not want to use more relays than necessary. The consequence was to save at least the one commonly used in the transmit-receive switch unit. Here 2 p-channel MOSFETs do the job:
Hint: The “PTT” in the radio here leads to a PIN of the MUC switching the transmitter on. For general purposes a “PTT” has been drawn into the schematic.
Function: When Gate (G) is “hi” (i. e. close to VDD) the S/D channel goes to nearly infinite ohms. Resulting current is 0A apart from some uA leakage current.
When S is pulled to GND, or, to be more exact, some volts lower than VDD the S/D channels switches to a value very close to 0 ohms. Pushing PTT pulls G of the left MOSFET to GND thus switching on the transmitter. G of the right MOSFET is now pulled to VDD (via 10k) which means that the right MOSFET becomes non-conductive and receiver is turned of. A dual-LED (red and green) in the front panel shows the current status.
After having built this respective board with two NE612 ICs (one for DSB generator, one for the TX mixer) I was not satisfied with carrier suppression of the DSB generator. It turned out as only 40dB. Afterwards I constructed a new board with an old SIEMENS Mixer IC (S 042 P) that is still available NOS from various sources. With this one I gained carrier suppression rates of around 55dB. I think this is OK for a homemade transceiver.
The board looks as follows, set up on a 6x4cm 0.1″ veroboard:
The circuit starts with an AF amplifier equipped with a bipolar transistor where also a power supply for Electret microphones has been added. The radio now can handle dynamic and Electret microphones adequately.
Afterwards we see the S042P mixer IC where I have changed the circuit slighty to the one used in my 40-meter-QRO TRX. Audio input signal is now to PIN8 of the IC, Lo input on the rf side of the IC to PIN11 and PIN13. To reduce carrier level and enhance carrier suppression a 5.6pF cap is in series because the relatively high level of signal coming from the LO amp would deteriorate the performance of the DSB generator without countermeasures.
Output from this DSB generator is also symmetric and fairly high. Thus a low valued capacitor has been inserted prior to the SSB filter, sited on the RX board.
After that we see an amplifier with limited gain due to high emitter degeneration and the NE612 as TX mixer. The latter one also with an symmetric output to get more gain from it by using the two inherent output transistors.
TX-power amplifier stages
As I have described in the article of my “Give me 5“-Transceiver some years ago, building a broadband power amplifier is challenging due to one special problem related with the wide range of frequencies that this amplifier must be able to cope with. an extra gain of 5 to 6 dB is commen, when the frequency is divided by the factor of 2. Usually the necessary compensation is done by adding adequate capacitors and inductances using their frequency depending reactance.
With this radio I tried something new. I added an amplifier that is gain controlled by an adjustable voltage. Here a dual-gate MOSFET with gain control to gate 2 sets up the initial stage of the whole amplifier strip. The stage’s gain is set by a simple bipolar driver transistor controlled by a digital-analog-converter (DAC). A numeric value for each individual band is stored with in the EEPROM of the MUC. This numeric value is calculated during adjustment, then stored in the MUC and recalled whenever the radio is switched to a certain band. The DAC is an MCP4725 breakout board, containing a 12-bit device.
After that we see an amplifier that is common solid state technology. Preamp stage and predriver stage are set to A mode which requires a heat sink for the predriver stage. Here a 2N3866 is used as amplifying element.
Driver stage is single ended, operates in AB-mode and also is protected by a heat sink.
After that a somehow uncommon technique has been applied. Instead of using a broadband transformer to reduce the stages output impedance to the some ohms input impedance of the final stage, a set of 6 switchable low-pass-filters is used.
This filter section has been optimized to an output impedance of 50 ohms for each band thus enabling me to test and optimize the transmitter to a maximum with a defined output impedance (remember, this is an experimental radio! 😉 ).
After this filter section the final amplifier stage follows which is able to drive the output power up to 15 to 20 watts on all bands but depending on the DC voltage used for transmitting. The max. power gained during tests was 22 watts pep at 15V DC with two NTE236 transistors. Unfortunately the turned out not to be so rugged and blew in the tests. The eleflow 2SC1969 inserted later showed no problems at all. Thank God! When running on 12.0 V DC the amplifier puts out 12 watts at all bands.
The final part of the transmitter section is the last low-pass filter that is positioned next to antenna relay in the same compartment:
The whole transmitter looks like this:
The various units are:
1: DSB-Generator and TX mixer
2: Amplifier stages 1 to 4
3: MCP4725 transmitter gain controller
4: Intermediate LPF board
5: Power amplifier
6: Final LPF section
7: TX/RX switch board
Here a little bit of analysis to end with the article. First is the output of the SSB-Generator/TX-mixer board with maximum output (Around 500mV pp) set to the 40m band.
Nest we see the carrier suppression when dual tone audio in has been suspended. Carrier is about 55db under the signal peak.
And here an output signal with max. power at 3.5 and 7 MHz:
So, that’s all for today, thanks for watching and 73!
The receiver had to match a lot of requirements that should be described first:
Particularly on the lower bands and with effective long wire antennas the receiver front end will see high signal levels that it has to cope with. IMD always is a serious topic in this case.
Sensitivity particularly on the higher bands, where noise level is ow and signals are weak, is also an issue.
Dynamic range and extensive AGC gain compensation should be as high as possible.
This lead to a circuit that has proven its stability in lots of my radios:
Band filtering for each band with a double and loosely coupled LC circuits
Dual-Gate MOSFET (part of the AGC chain) as the first amplifier
Diode ring mixer (with Schottky diodes)
Post mixer amplifier with Dual-Gate MOSFET (part of the AGC chain)
SSB Filter (now 10.7 MHz) also used for transmitter (relay switched)
Main IF amplifier with MC1350 (part of the AGC chain)
Audio preamp with bipolar transistor
Audio final amp: (once again! 😉 ) LM386
Before describing the receiver itself we will have look at the band pass filter unit, that is shared between receiver and transmitter:
To minimize stray energy traveling from the input to the output of the filter, two SMD relays have been used on each side of the filter per band. And to reduce feedback fromt the transmitter (when the BPF is used to filter the TX signal after the TX mixer) the filter has been placed far away from the TX amplifier section.With an overwhelming result: The transmitter is nearly unconditionally stable now (compared to the TX section used in the “Give me 5”-Transceiver that had severe shortcoming in this aspect.
Control leads for the relays follow a designated coding scheme:
The receiver’s circuit
VFO signal is coupled into the DBM via a 10nF capacitor. The same is valid for the amplified RF signal from the output of the first amplifier stage using a Dual-Gate MOSFET (40676, BF900 or equ.).
Another Dual-Gate MOSFET is used as the post-mixer amplifier. All Dual-Gate MOSFETs so far are part of the AGC-Chain. This maximizes the possible gain swing to about 40 to 50 db. and enhances the receiver’s capability to handle even the strongest signal levels without distorting the output signal and the end of the audio chain.
Next is the SSB-Filter. Due to this is an “experimental” transceiver, the filter has not been soldered to the circuit board. Instead it is fixed with an aluminum clamp into two parts of header strips. Thus I can compare numerous SSB-Filters (9-, 10.695-, 10.7-MHz off-the-shelf ones, various home made ladder filters etc.). Here the different performance is very interesting to be explored.
The filter is accompanied by a special rf relay (manufacturer “Teledyne” with excellent performance concerning separation for the two channels) so that it can be used as the SSB filter for the transmitter section.
After the filter section the IF amplifier follows. This one uses an MC1350 video amp (old but good and still available, even in SMD!) and this IC also is controlled by AGC. The input is unbalanced (PIN6 to GND) the output is balanced and terminated with a tuned circuit.
Demodulator is an SA602 mixer IC.
After that the signal is handed over to the audio chain. But before the signal is processed in the next stage the frequency range is limited by a low-pass filter to reduce hiss. This filter also has two switched capacitors (controlled by MCU via NPN-driver stages) to adapt the sound to the preferred settings of the user. The software contains a respective function.
The audio amplifier consists of two sections: A preamp with a bipolar transistor and the inevitable and well-know LM386.
The full circuit on a 6×8 cm veroboard:
Starting from left top corner there is a 1:4 input transformer (not in the schematic), the preamp, the DBM, post mixer amp, SSB filter, relay, MC1350 as IF amp, demodulator and 2 stages of audio amp.
Performance is excellent. The circuit has no problem with high signal levels (in-band and out-of-band) especially on 40 meters. No IMD problems are noticeable even when used with high gain antennas like a 2×25 meter doublet with a tuner. On the higher bands noise figure is pretty OK what I think is based on the usage of Dual-Gate MOSFETs in 2 of the 3 amplifier stages. The MC1350 deteriorates this to a certain degree but is still very much acceptable for a shortwave radio.
This short article will describe the adapter board that is connected to analog data sources and that is converting the respective voltage data into suitable voltage levels for the ADC inputs PA0:PA4 at the microcontroller:
The following data will be converted and later shown on the display:
User keys (Key1:Key3)
TX power measurement
PA temperature (Sensor: KTY81-210 switched against GND)
AGC output (DC) from receiver => S-Meter
This article covers the remaining digital (or “analog to digital”) stuff, next on the agenda will be the receiver.
This 6-band transceiver has several stages where band switching will occur:
The band pass filter section (shared by transmitter and receiver)
A first section of low pass filters (LPF) between the driver stage and the final amplifier
A second section of LPFs at the end of the rf power amplifier chain.
To keep the circuit simple and to save controller output ports I have decided to code the band number (0 for 160m up to 5 for 10m) in binary and send this pattern to pins PA0:PA2 of the MUC. This is pattern is lead to a BCD to Decimal Decoder integrated circuit (HCF4028) that converts the binary pattern to a set of individual output lines. The respective part of the truth table used is:
The 6 lines are fed into an ULN2003 integrated circuit, which is a relay and motor driver.
The outputs of this driver are switched against GND thus the relay coils have to be supplied with VDD (+12V in this case). The IC also contains a clamp diode for each output. That makes the circuit fairly simple. The full circuit of this unit:
The heart of this transceiver is an ATmega128 microcontroller (MCU). It controls the vast majority of functions within the radio. E. g.: Frequency generation of the 2 DDS systems, audio tone and AGC decay time, T/R-switching, the presets for transmitter gain on the 6 bands independently, display and panel lights etc. etc.
And, due to usage of a parallel interface for the LCD (8 data lines and 4 control lines) an MCU with sufficient ports had to be used.
First I started with the SPI version of the LCD (ILI9341). This LCD has a high resolution of 240×320 dots. Driven by a relatively slow 8-bit controller like an AVR and the LCD driven in serial mode the performance was inferior.
Next I found that the same LCD is also available with a parallel interface. Then called CP11003. This one uses 12 lines (8 data and 4 control lines minimum), which made it mandatory to use an ATMega128 controller. To enhance speed and performance this one is clocked by a 16 MHz crystal. A touchpad is also integrated, but not used in my application.
Source code in C programming language can be downloaded from Github.