Express Receiver

The Express Receiver is a homebrew, high performance HF amateur band receiver covering the 160, 80, 40, 30, 20, 17, 15, 12 and 10m bands. You can see the receiver in operation here.

The name Express Receiver came about as the receiver is constructed entirely using 2.5″ x 3.8″ ExpressPCB MiniBoards. The following boards comprise the Express Receiver.

  1. RF Attenuator, LPF and RF Preamplifier Board
  2. Bandpass Filter Board
  3. 1st and 2nd Mixers and Roofing Filter Board
  4. VFO and LO Board
  5. IF Filter Board
  6. IF Amplifier and Digital AGC Board
  7. Product Detector, BFO and AF Amplifier Board
  8. Display and Control Board
  9. I2C Relay Control Board
  10. Keypad Board
  11. Power Distribution Board

The Express Receiver has been fitted with front and rear panels from Front Panel Express.

Express Receiver Block Diagram
Express Receiver Block Diagram

RF from the antenna is routed to a 0 to -30dB RF attenuator that is followed by a 30-MHz low pass filter. The low pass filter provides image rejection for the 1st Mixer. Nine selectable RF band pass filters follow the 30-MHz low pass filter, one for each HF band, providing additional image rejection and HF selectivity ahead of the 1st mixer. An RF preamplifier follows the RF band pass filters, providing a switchable +10dB gain block.

The 1st mixer up converts the RF signals to a 1st IF frequency of 70.455-MHz. A 6 pole, 70.455-MHz roofing filter provides close in selectivity ahead of the 2nd mixer. The 2nd mixer down converts the 70.455-MHz 1st IF to the 2nd IF at 9-MHz.

The 1st and 2nd mixers use Analog Devices AD831; a low distortion, wide dynamic range, monolithic mixer with a +24 dBm third order intercept (IP3) and a +10dBm 1dB compression point, with an LO drive of -10dBm. The AD831 are configured to provide a net gain of +10dB for each mixer stage. A 2N5109 post mixer amplifier follows the 2nd mixer to provide additional gain and a solid 50Ω termination via a 6dB pad for the 2nd IF crystal filters that follow.

The VFO and LO use Silicon Devices Si570 I2C programmable crystal oscillator / DSPLLs.

The 2nd IF has selectable 8 pole 2100-, 1800-, 500- and 250-Hz filters ahead of the IF amplifier stages.

The net gain from the antenna input through to the output of the 2nd IF filters is ~32 dB on 160m through 12m, and ~31 dB on 10m (2100- and 1800-Hz filters). Gain compression for all bands starts at an antenna input level of -20 dBm (>S9 + 50dB). Express Receiver Front End Gain Compression Characteristics

The 9-MHz 2nd IF amplifier is based on the classic hybrid cascode IF amplifier by Wes Hayward W7ZOI and Jeff Damm WA7MLH, “The Hybrid Cascode — A General Purpose IF Amplifier,” QST, pp. 30-33, DEC, 2007. The AGC detector in the original hybrid cascode design is replaced with an Analog Devices AD8307 logarithmic amplifier. An on-board Microchip dsPIC33F microcontroller replaces the remainder of the classic hybrid cascode AGC circuitry, providing digital AGC control and signal level information for the S meter.

I have included a 2100-Hz noise filter following the broadband 9-MHz 2nd IF amplifier. This is optional.

The product detector uses an Mini Circuits TUF-1 diode ring mixer, the BFO uses an Analog Devices AD9835 DDS. The product detector is followed by an audio preamplifier which drives an audio distribution circuit consisting of NE5532 operational amplifiers. The audio distribution circuit provides two audio streams, both audio streams are routed to a Maxim DS1807 addressable dual taper audio potentiometer. Following the DS1807, one audio stream is routed to a LM386 audio amplifier that drives a speaker, the second audio stream provides an auxiliary audio output to drive a computer sound card / interface. The DS1807 allows independent volume control of the two audio streams.

View of the Upper, Digital Deck
View of the upper, or digital deck
View of the lower, or analog deck
View of the lower, or analog deck

The upper deck contains the Power Distribution Board and the bulk of the digital circuitry; including, three Display and Control Boards, two I2C Relay Control Boards, and the VFO and LO Board.

The bottom deck contains the analog boards:

The RF chain on the right hand side – from chassis back to front, RF Attenuator Board, three Receiver Bandpass Filter Boards, and RF Preamplifier Board.

The IF chain in the front left – from right to left, 1st and 2nd Mixers and Roofing Filter Board, two IF Filter Boards, and the 2nd IF Amplifier and Digital AGC Board.

The Product Detector, BFO and AF Amplifier Board in the rear left of the chassis.

© 2014 – 2016 Rod Gatehouse AD5GH

40 thoughts on “Express Receiver”

  1. hello
    la construction de ce récepteur me tente est il possible d avoir la documentation complète les firmwares et les pcb format pdf ou expesspcb merci cordialement
    the construction of this receptor is me trying it possible to have complete documentation firmware and pcb pdf or expesspcb thank you
      best regards michel f1chm

    1. Hi Michel,

      Yes, I will be posting the ExpressPCB files and firmware in the coming weeks. In addition, I will share my thoughts on how to successfully approach a project like this.

      Best regards, Rod

  2. Hi,

    Had a few questions about the construction of the receiver. Excellent receiver project I have seen in years.

    1) What are the specs (AWG) of the wire used for the toroids (for both the RF band pass filters and matching transformers).
    2) Can you please post photographs of the matching transformers constructed out of toroids for the IF filters. I am not sure about how to construct these since I am novice.
    3) Is it possible to use standard minicircuits transformers for matching the IF filters instead of the wound toroids.
    4) Is it possible to use standard MMICs as pre-amps instead of the expensive norton amp you have used ?

    1. Hi Rahul,

      Thank you for your interest and questions.

      1) The wire gauge for the RF band pass filters is noted on the schematics in AWG. For the broadband transformers on FT-37 cores, the wire gauge is 28 AWG. I will add this to the schematics.

      2) I will add pictures of each of the boards to the respective posts in the coming weeks.

      3) Minicircuits broadband transformers are typically “transmission-line” transformers with fixed impedance ratios of 4, 9, 16 & etc. characteristic of transmission line transformers. I used a Minicircuits conventional transformer at the input of the IF Amplifier Board where a 1:2 impedance transformation was required, as this device was available. For the IF filters, an impedance transformation ratio of 1:10 is required, as this was not available from Minicircuits I wound conventional transformers on FT-37-43 toroids.

      4) The important characteristic of the pre-amplifier is its large signal handling capability and low noise figure. The Clifton Laboratories amplifier is a Norton amplifier which exhibits high 3rd Order Intermodulation Intercept (+45dB), high 1dB Compression Point (+19dBm), and low noise figure (2.5 dB max across HF bands). MMICs will not typically have the large signal handling capability of a Norton amplifier.

  3. Hi Rod,
    It is great to see such a good receiver design that fits between SDR and the (older) more traditional communications receiver designs with difficult to obtain parts. Just the right mix of digital. Thank you for publishing.
    I will be building this receiver.
    You stated that you will be posting the PCB files, micro firmware and some thoughts on construction, will you be providing the firmware source code?
    The schematics for control, product detector, BFO and audio boards etc don’t seem to be posted yet, I assume they will be posted in the future.
    Can’t wait to see the full design.
    Much appreciated.
    Best regards

    1. Hi Phil,

      Thanks for the positive feedback. I will be adding the remaining schematics and PCB files in the coming weeks, I need to do some tidying up before I post them. I will be posting the source code as well which also needs some tidying up to make it more easily understood.

      The project from concept to getting the receiver on air took just over 12 months (nights & weekends). The first thing I did was layout the front panel, and in the process of doing that, defined all the major receiver functions, information to be displayed on the LCDs, and the controls. I then built the Power Distribution Board, Display and Control Board, and the Keypad Board; and wrote the software for the user interface. This provided the capability to test and exercise the receiver subsystems as they were subsequently built.

      Next I built the 1st and 2nd Mixers and Roofing Filter Board, and the VFO and LO Board. With these boards I was able to test and verify the receiver frequency conversion scheme from RF to the 9-MHz 2nd IF, and perfect software control of the Si570 DSPLLs which I hadn’t worked with before.

      I then built the RF front end consisting of the RF Attenuator & LPF Board, the RF Preamplifier Board, the three RF Bandpass Filter Boards, and two I2C Relay Control Boards. With these boards, I was able to test and align the front end of the receiver.

      Next I built the two IF Filter Boards, and the IF Amplifier and Digital AGC Board. Software was written for the dsPIC33F at this time.

      I had a Product Detector, BFO and AF Amplifier board from an earlier receiver project that I initially used in the Express Receiver; however, I have updated this design in the past few weeks and will post the current version.

      I realize I haven’t posted the subsystem information in this order, however, this is the order in which I would approach construction of the receiver. I will get the Display and Control Board, and Keypad Boards up next.

      I will post a video of the receiver in operation to let you hear how it sounds.

      Best regards,


  4. Looking forward to seeing photos of the completed boxed receiver and operation videos. Also had a concern about the older 2N5109 transistor in the 2nd IF post mixer amplifier. Cant we use a more modern transistor ? Also is it possible to re-design parts of the radio such that we always use off the shelf impedance transformers/inductors from minicircuits/coilcraft ?

    1. Hi Rahul,

      I am now getting back to this as summer winds down here in southern New Hampshire. I am not aware of a modern replacement for the 2N5109. The 2N5109 is available from Digi-Key, Mouser, and RF Parts. I’m sure it’s possible to redesign Express Receiver subsystems to always use off the shelf transformers. I like toroids as they are inexpensive, readily available, and offer flexibility in terms of impedance transformation ratios and inductance.

      Best regards,


  5. Please post a video of the working receiver. We are eagerly waiting to hear the sound of the receiver.

    Please also post the firmware. I wanted to take a look at the AGC loop.

    1. Hi Rahul,

      I have had the receiver in pieces recently and will add the front panel next week; so with that, I will make a video so you can hear how the receiver sounds. I have added a link to the IF Board source code so you can look at the AGC loop.

      Best regards


    2. Hi Rahul,

      A video of the Express Receiver in operation is now posted on You Tube. There is a link on the Express Receiver landing page.

      Best regards,


  6. Couple of requests

    1) What kind of antenna are you using to receive stations ?

    2) Can you please post a video of a local AM/ DX station being received ? How is the DX performance ? Also curious to see if WWVB can be received on 60KHz and WWV on 2.5/5/10 MHz etc.

    1. The antenna information is as follows:

      43-Ft ground mounted vertical with 32 x 65-Ft radials, SG-230 antenna tuner at the base

      The receiver covers the HF amateur bands except 60M (5-MHz). AM mode is not supported, and AM broadcast band and WWV frequencies are not supported.

      I use the Express Receiver extensively for WSPR (Weak Signal Propagation Reporting). Below is an example of the DX stations spotted on 160M last night. You can look this up at using my callsign AD5GH.

      Timestamp Call MHz SNR Drift Grid Pwr Reporter RGrid km az
      2016-01-01 05:22 DF2JP 1.838022 -25 0 JO31hh 1 AD5GH FN42hs 5703 293
      2016-01-01 01:58 DF2JP 1.838030 -23 1 JO31hh 1 AD5GH FN42hs 5703 293
      2016-01-01 05:10 DF2JP 1.838022 -22 0 JO31hh 1 AD5GH FN42hs 5703 293
      2016-01-01 01:40 DF2JP 1.838030 -18 0 JO31hh 1 AD5GH FN42hs 5703 293
      2016-01-01 04:36 DF2JP 1.838023 -24 0 JO31hh 1 AD5GH FN42hs 5703 293
      2015-12-31 22:48 DF2JP 1.838030 -22 -1 JO31hh 1 AD5GH FN42hs 5703 293
      2015-12-31 23:40 F6CNI 1.838018 -17 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 01:58 F6CNI 1.838018 -9 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 05:20 F6CNI 1.838007 -8 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 03:16 F6CNI 1.838018 -8 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 02:00 F6CNI 1.838019 -12 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 06:30 F6CNI 1.838016 -24 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 02:40 F6CNI 1.838017 -14 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 02:56 F6CNI 1.838015 -12 3 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 02:32 F6CNI 1.838019 -15 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 07:32 F6CNI 1.838012 -18 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 03:40 F6CNI 1.838017 -11 0 JN19qb 5 AD5GH FN42hs 5587 293
      2015-12-31 23:14 F6CNI 1.838019 -21 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 02:20 F6CNI 1.838013 -14 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 05:40 F6CNI 1.838006 -14 0 JN19qb 5 AD5GH FN42hs 5587 293
      2015-12-31 23:34 F6CNI 1.838018 -19 -1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 05:52 F6CNI 1.838011 -13 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 06:52 F6CNI 1.838014 -18 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 01:40 F6CNI 1.838019 -5 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 07:00 F6CNI 1.838009 -20 0 JN19qb 5 AD5GH FN42hs 5587 293
      2015-12-31 23:54 F6CNI 1.838015 -21 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 03:56 F6CNI 1.838016 -15 0 JN19qb 5 AD5GH FN42hs 5587 293
      2015-12-31 22:40 F6CNI 1.838019 -14 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 04:54 F6CNI 1.838009 -10 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 04:34 F6CNI 1.838010 -14 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 06:12 F6CNI 1.838016 -14 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 01:34 F6CNI 1.838017 -11 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 04:40 F6CNI 1.838011 -12 -1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 04:00 F6CNI 1.838015 -20 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 06:00 F6CNI 1.838011 -12 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 03:38 F6CNI 1.838017 -11 -1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 06:20 F6CNI 1.838014 -16 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 03:00 F6CNI 1.838017 -12 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 04:18 F6CNI 1.838014 -12 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 04:20 F6CNI 1.838014 -13 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 06:38 F6CNI 1.838016 -19 -1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 01:18 F6CNI 1.838018 -15 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 05:00 F6CNI 1.838010 -12 0 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 03:18 F6CNI 1.838019 -9 1 JN19qb 5 AD5GH FN42hs 5587 293
      2016-01-01 01:58 ON7KO 1.838076 -25 -1 JO21ce 5 AD5GH FN42hs 5552 292
      2015-12-31 22:44 G3UPA 1.838099 -22 0 IO92dm 2 AD5GH FN42hs 5120 287

      I will add a video in the coming weeks showing the operational aspects of the Express Receiver, at that time I will include recordings of DX stations. In general, the Express Receiver shows very good weak signal (MDS) performance; however, work still needs to be done to improve the dynamic range of the AGC / IF in order to better handle strong signals, so this is my focus for the time being.

  7. Hello Rod,

    Wanted let you know of a lower-cost way to have the PC boards fabricated. Copper connection PC software (robotroom is the author/publisher) can intake .PCB files and export Gerber files. From that point, lower-cost fabrication options exist (see

    Best of luck with your project!

  8. Hi Rod,
    This a superb job and a very clean description. Congratulations.
    By the way, what are the considerations you took into account to choose the Si570 instead of a DDS ?
    I used to use the AD9951 as LO but I will be very interested to compare the spurious level of the 2 options.
    On the other hand, your logical part is quite important and I wonder if you had some trouble to achieve a spurious free reception in this environment..?
    Best regards from France.

    1. Hi Gerard,
      Thanks for the feedback!
      I have built DDS/PLL oscillators for past receivers, but wanted to try the Si570 this time. I was interested to see if there was a significant tradeoff of performance for simplicity vs. DDS/PLL, and have not been disappointed at all with the performance. The receiver is very clean in terms of spurious, even with the digital circuitry. I did pay careful attention to PCB layouts, separating much of the digital circuity from analog, and power distribution.
      Best regards from New Hampshire, Rod

    1. Hi John,
      I have included the files to order boards from ExpressPCB. I don’t have a BOM, per se, however, the BOM for each board can be obtained from the schematics and the write up. I don’t plan to offer boards or a kit for the Express Receiver.
      Regards, Rod

  9. Hi Rod,
    I had a look to your AGC system and it seems quite interesting.
    I had already tried to build one but never succeed..!
    I am quite familiar with the AD8307, I used it in a RF generator for filters response.
    If I understand right :
    You send the output from the AD8307 to an analog input of the PIC (ADC input).
    You measure each millisecond the voltage value.
    At this step, I suppose you are using a look-up table to generate the output voltage (through a DAC) toward the IF amp. Am I right ?
    In the past, during my first attemps, I had some trouble with this loop in terms of time constant. I wonder if you had some comments concerning the complexity of this stage.
    Again, my best congratulations for this remarkable job.
    Best regards

    1. Hi Gerard,

      Thanks for the fedback!

      The PIC Timer 1 executes an Interrupt Service Routine once per millisecond that does the following when in either SLOW or FAST AGC mode.

      *** Sample the AD8307 output at ADC1BUF0

      *** Calculate AGC_Error by subtracting ADC1BUF0 from AGC_Set_Point. AGC_Set_Point is the desired output level from the IF Amp stage. AGC_Error = AGC_Set_Point – ADC1BUF0

      *** If AGC_Error > 2, signal is weaker than desired level, so increase AGC_Level_Set at AGC_Recovery_Rate. Keep increasing every 1ms at AGC_Recovery_Rate until AGC_Error < = 2, or max AGC_Level_Set reached.

      *** if AGC_Error < -100, signal is much stronger than desired level, so decrease AGC_Level_Set at fast (6x) AGC_Attack_Rate. Set Decay equal to Hang_Time for SLOW or FAST AGC recovery. Repeat every 1ms until AGC_Error < -100.

      *** if AGC_Error < -20, signal is somewhat stronger than desired level, so decrease AGC_Level_Set at normal (1x) AGC_Attack_Rate. Set Decay equal to Hang_Time for SLOW or FAST AGC recovery. Repeat every 1ms until AGC_Error < -20.

      The 1ms loop seeks to maintain ADC1BUF0 equal to AGC_Set_Point. There is a deadzone between -20 < AGC_Error < 2 that helps keep the loop stable. AGC_Attack_Rate and Hang_Time establish AGC characteristics. Overall the code is pretty simple. The time constants were determined experimentally.

      The lookup table is only used for manual IF Gain setting.

      The code is here:

      Hope this helps.

      Best regards, Rod

  10. Hi Rod,
    Thanks a lot for the quick come-back.
    I understand the process.
    <Just a question concerning the AGC Error : I suppose the values you mentionned (-100, +20….) correspond to the PIC's sampling (10? or 12? bit) ?
    Thanks for the code but I am quite ignorant in C..I'm still working with MPLAB on PIC18…!
    Best regards,

    1. Hi Gerard,

      The AGC Error is the signal level (12-bit ADC reading) subtracted from the desired set point. The 12-bit ADC reading has a range of 0 – 4096 (0 – 3.3V). In the current code the AGC_Set_Point = 1800 (1.45V). The values mentioned (-100, +20…) are the AGC_Set_Point (1800) minus the 12-bit ADC reading (0 – 4096).

      The AGC loop adjusts the 12-bit DAC AGC_Level_Set to hold the signal level equal to the set point.

      Best regards,


  11. Hi Rod,
    very nice project,…
    I’m trying your version if board for my receiver…
    what do you think about putting an ad603 before the ad8307 to increase the dynamics of the if board at
    120 db ..?
    look the web page 3 of dc4ku s-meter 120 db range..

    best regards

    1. Hi Sandro,
      Thanks for the feedback!
      The AGC range of the IF Amp is established by the three hybrid cascode stages which provide 90-100 dB of AGC range. The measurement dynamic range of the AD8307 is 90 dB. This combination works well in my experience.
      The AD8307 datasheet documents the use of an AD603 to extend the AD8307 measurement dynamic range to 120 dB; however, adding an AD603 in this way does not change the AGC range of the IF amplifier. Therefore, I don’t see any advantage to adding the AD603 as you suggest.
      Best regards,

  12. Hi Rod,
    I have another request :
    the value s1 of the s-meter corresponds to input -121 dbm ?
    the value s2 is -115 dbm ?…
    etc. etc ….


    1. Hi Sandro,
      Yes, that’s correct. I calibrated the s-meter per typical values used for HF as you indicated. The s-meter calibration takes place in the S_Meter.c routine of the Main Display & Control board per below.
      Best regards,

      if(Sig_Strength > 199) S_Mtr_Cmnd = S_Mtr_Cmnd+0x00; //S0
      else if(Sig_Strength < = 199 && Sig_Strength > 194) S_Mtr_Cmnd = S_Mtr_Cmnd+0x08; //S1
      else if(Sig_Strength < = 194 && Sig_Strength > 188) S_Mtr_Cmnd = S_Mtr_Cmnd+0x10; //S2
      else if(Sig_Strength < = 188 && Sig_Strength > 172) S_Mtr_Cmnd = S_Mtr_Cmnd+0x18; //S3
      else if(Sig_Strength < = 172 && Sig_Strength > 158) S_Mtr_Cmnd = S_Mtr_Cmnd+0x20; //S4
      else if(Sig_Strength < = 158 && Sig_Strength > 143) S_Mtr_Cmnd = S_Mtr_Cmnd+0x28; //S5
      else if(Sig_Strength < = 143 && Sig_Strength > 130) S_Mtr_Cmnd = S_Mtr_Cmnd+0x30; //S6
      else if(Sig_Strength < = 130 && Sig_Strength > 117) S_Mtr_Cmnd = S_Mtr_Cmnd+0x38; //S7
      else if(Sig_Strength < = 117 && Sig_Strength > 106) S_Mtr_Cmnd = S_Mtr_Cmnd+0x40; //S8
      else if(Sig_Strength < = 106 && Sig_Strength > 88) S_Mtr_Cmnd = S_Mtr_Cmnd+0x48; //S9
      else if(Sig_Strength < = 88 && Sig_Strength > 73) S_Mtr_Cmnd = S_Mtr_Cmnd+0x50; //+10
      else if(Sig_Strength < = 73 && Sig_Strength > 58) S_Mtr_Cmnd = S_Mtr_Cmnd+0x58; //+20
      else if(Sig_Strength < = 58 && Sig_Strength > 45) S_Mtr_Cmnd = S_Mtr_Cmnd+0x60; //+30
      else if(Sig_Strength < = 45 && Sig_Strength > 41) S_Mtr_Cmnd = S_Mtr_Cmnd+0x68; //+40
      else if(Sig_Strength < = 41 && Sig_Strength > 40) S_Mtr_Cmnd = S_Mtr_Cmnd+0x70; //+50
      else if(Sig_Strength < = 40) S_Mtr_Cmnd = S_Mtr_Cmnd+0x78; //+60

  13. Hi Rod,
    what is the reason why you used three microprocessors pic18f45 ?…
    I would like to try the s-meter control board dspic33fj12 … could I have the gerber or pdf file of pcb ?
    I’ve never used express.pcb.

    best regards

    1. Hi Sandro,
      I am currently building a multi-band transmitter to accompany the Express Receiver; as a part of this process, I am replacing the 3 Display and Control Boards with a single Arduino Mega and porting the code from C to C++.

      The original design uses three Display and Control Boards because I had three boards from the expresspcb mini board service, the cost to populate the boards was minimal, it simplified the initial build by not having to worry about multiplexing 3 LCDs to a single board, and avoided other optimizations to get all I/O on a single board.

      There is no reason an LCD could not be interfaced to the dspic33f on the IF Board via I2C and the s-meter code run entirely on the IF Board. AGC and manual IF control could also be accomplished by using I/O pins on the dspic33f making it completely self-contained.

      Unfortunately, I don’t have a gerber or pdf file for the pcb. You might check out expresspcb, their quality and service is good, but there are lower cost alternatives. Expresspcb will provide a gerber file, but they charge for that service. You can print the pcb layout from the Expresspcb software. The board is not that complicated, so I am sure working from the expresspcb layout you could recreate it in one of the pcb layout sw apps that will produce a gerber file.

      Best regards.


    1. Hi Sandro,
      I will continue to use the three 20×4 LCD character displays.
      I prefer the Si570 to the Si5351. However, I have redesigned the VFO and LO Board to add a Si5351 for the BFO, but keeping Si570 for the LO and VFO. I decided to remove the Ad9835 DDS BFO from the Product Detector, BFO and AF Board; in fact, the board was designed with this in mind so easy to de-populate the BFO.

  14. Hi Rod,
    I have simulate the hybrid cascode IF amplifier and the gain seems to be very high (85dB) compared with your results.
    The Sandro’s question is very interesting if more than 90dB of gain variation is considered.
    S1 to S9+60 correspond to 133dB of dynamic range, so the figure of 90dB could be a little bit low..( ?)
    By the way I’m playing with an Arduino board and 3.5 TFT display, using an Si5351 for LO and BFO.
    It is quite easy to manage but the Mega turns to be slow with the TFT so I switch to an Arduino DUE which give more power.
    The 12bit DAC from the DUE will be very useful to process the AD8307 AGC system.
    My best wishes for this end of year.

    1. Hi Gerard,
      Hayward and Damm reported 55 to 60dB gain in the original article.
      I calculate 114dB for S1 to S9 +60db using 6dB/S point: (6 x 9) + 60 = 114. In practice the 90dB linear AGC range works fine with the overall gain distribution in the Express Receiver.
      I have completed replacement of the three Display and Control Boards with a single Arduino Mega, and have the receiver back up with the new VFO, LO and BFO (Si5351) Board. Will be focusing on the companion transmitter in the New Year!
      Happy New Year to you too!

  15. I come back on my previous question considering the AD8307.
    In fact, the output voltage of the AD8307 is hold to 1.45V so there is no need of wide dynamic range at this point.
    The dynamic range only depends on the IF amplifiers.
    Am I right ?

    1. Hi Gerard,
      You are correct, the measurement dynamic range of the AD8307 is independent of the IF Amplifier dynamic range. The AD8307 measurement dynamic range affects the transient response of the AGC loop; in steady state, as you point out, the output of the AD8307 should be held at ~1.45V by the AGC loop.
      Best regards,

  16. Hi Rod,
    I agree about your 114dB calculation. If we consider S9 equal to 50 microvolt, the dynamic range is -121 (S1) to -13dBm (S9+60dB)
    An other point was found during the IF amplifier simulation concerning the gain reduction. When the AGC voltage is closer and closer to zero Volt, the attenuation goes over 100dB (2V on the AGC line = -100dB).
    So the overall dynamic range could be as high 150dB in my understanding.
    So I cant clearly explain from where are coming the 90dB mentionned in the article..?
    Best regards,

    1. Hi Gerard,
      It’s hard for me to comment on the simulation. The Hybrid Cascode IF Amp has been widely used by other amateurs with good repeatability of results. I suggest building the IF Amplifier and measuring the performance. The beauty of a modular receiver such as the Express Receiver is that you can easily experiment with different designs for the various stages.
      Best regards,

  17. Hi Rod,
    I just came back on the cascode amplifier. After many attempts (3 printed circuit boards), finally the amplifier is working properly.
    I was unable to use the J310 FET in the configuration described or any other (btw they are working in grounded gate).
    I am using J309 FET/2N3904 with no bias (diodes removed).The 3 stage overall gain is close to 75dB.
    I put an Xtal filter in the output to reduce the noise. The differential amplifier is located after the filter.
    That was my contribution..!
    Best regards

    1. Hi Gerard,
      Sorry to hear you experienced trouble with the hybrid cascode amplifier. Would you share the schematic of the amplifier you have built?
      Best regards,

  18. Hi Rod,
    I dont find out how to post an attached file…!
    At this time it uses the ugly method in order to adjust the different stages.
    It is working very well and the noise level is very low. I have put an extra filter in the output (7.5 kHz wide) to reduce the noise.
    A 1 microvolt signal level is perfectly heard.
    The AGC is analog for now. The output will drive an ADC to get an accurate reading of the S-Meter.
    The amplifier threshold is around -90dBm.
    Best regards;

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.