Firstly, thank you to all those who have emailed me with questions and suggestions of how I may change or improve my design. I do need to say, however, that this is a one-man project. The impact of making changes to this design (other than just component value changes to the existing PCB and schematic) is significant, as it will render my stock of PCBs redundant and more importantly, create major problems for me in terms of tracking all the build variants that will (eventually) exist, along with all the corresponding software variants. For this reason, I intend to keep the design fixed until such time that I embark on a 'Mk2' design. Exceptions to this are of course improvements to the PCB component values and improvements to the software. If you want a full-blown SDR transceiver then you're better off looking at one of the other published designs.
I built this radio for my own purposes and enjoy using it every day. I am making this design available to others purely because I think it is easily replicated and will hopefully be a fun project to build.
About me: I am a professional electronic engineer who has worked for many years(!) in communications, with experience in analogue and digital circuit design, embedded software and in particular digital signal and radio base-band processing.
Is this project open source? No, at least not yet. I may release the source code at some point but until then I am only making binary releases of the code.
Can you release the code as a library? Yes possibly and time-permitting. A library would allow me to protect my DSP and GUI code whilst allowing people to alter code that drives the interfaces (such as the DDS) for use with other or modified hardware. However, if you stick to this design there is no need for this.
Do you plan to make this into a transceiver? No, mainly due to my lack of time and the fact that the 32F429 on the ST Discovery board has insufficient spare I/O pins. Making a digital upconverter for transmitting is harder than making a zero-IF receiver. It is generally not a good idea to simply complex-mix up from baseband as there will be spurious signals very close to the carrier. It is better done with a digital upconversion process (with filtering) and a high speed DAC. The AD9856/7 (£19 UK) or AD9957 (£23 UK) would be my choice here, otherwise an FPGA will be needed for the upconversion, taking this design to a whole new level.
Can you add a larger LCD? Yes and no (and why do you need to?). The GUI design is for a 240x320 portrait-mode LCD used in landscape-mode. You are free to add an LCD panel with a larger screen size but it will have to be functionally identical, otherwise the GUI will need re-coding and we are back into the 'software variants' game. Do not under estimate how much time and effort it takes to make a nice GUI (that is also fast).
There is a slim chance that I will do a future version for the STM32F746G-DISCO board that has a 4.3" LCD, however, like all of the ST Discovery boards, the CPU is incredibly I/O bound and much effort must be put into unpinning Discovery peripherals that are not required. (This may also necessitate unsoldering devices.) Basically, there are no boards with nice large LCD displays that do not bring other problems with them.
Why is there an op-amp in the front end? It surprises me how many people suggest changes or improvements to this design before they have even tried it out. Yes the front end is an op-amp and this does not provide a state-of-the-art Noise Figure. However, it does provide a totally broadband solution with totally predictable gain, flat 50R input (and output) impedances and incredible linearity. This radio handles strong, nearby signals very well. HF is very noisy, so Noise Figure is not everything. (That said, I have changed component values in the V1.2b design to increase the the front end amplifier gain and improve the NF, as my original NF measurement was erroneous.)
Why do you not use the SI570 or SI53xx? I planned to use a DDS from the outset, to get fine tuning steps but primarily to get very smooth tuning. The Si5x devices use a fractional-N synthesiser which whilst offering fine step sizes is going to offer inferior tuning 'smoothness'. I accept that I may be overlooking the SI53x and I must evaluate one before passing judgement. There is a community-modification to the mcHF transceiver design that actually removes the Silabs LO and replaces it with an Analog Devices DDS; what does that tell you? Also see this article. Besides the odd problem with spurs, DDS wins on tuning smoothness, low frequency coverage and phase noise.
Do you plan to make a single PCB design? When I first launched this web page I suggested that if the level of interest were to become really high, there was the possibility of me developing an all-in-one PCB comprising ALL parts, including the display and CPU (similar to but much simpler than the mcHF transceiver by M0NKA). This would remove any dependancy on ST Discovery boards and would allow for easier mounting behind the front panel. Given the amount of time I have available this is looking unlikely. (I need to complete the multi-band preselector filter board first!)
If your Discovery board will run when the USB connector is connected to your PC but will not run when +5V is supplied to pin 1 of header P1, this is most probably caused by a firmware bug in the STLINK module that is part of the Discovery board. (Note I have only ever encountered this with the newer DISC1 variant, PCB revision MB1075C.) The solution is to update the firmware in the STLINK processor. This can be easily achieved through the 'update firmware' option within ST's STLINK Utility program for Windows. The firmware can also be updated from a Linux machine using a Java app supplied by ST. For more information see http://www.st.com/en/development-tools/stsw-link004.html and http://www.st.com/en/development-tools/stsw-link007.html
Signal Generator Test: If you have access to a signal generator, I highly recommend feeding a CW into the unit at -50dBm at, for example 14MHz, set the Rx to CW-W mode and the display to FFT mode. When you do this, you should be able to see a single strong signal and a small image of this signal. The signal should read very close to -50dBm on the radio display, otherwise there is most likely an error on your radio board. Similarly, if the small image signal does not read less than -90dBm there is possibly a balance issue on the radio board. In both cases, check the component values carefully. Under no circumstances should the image signal be the same size as the wanted signal!
The following features and modifications are planned: Improvements to impulse noise rejection in CW mode, more robust operation of the battery-backed CMOS RAM, a convenient method to offset the RSSI to allow for either a front end attenuator or preamp, notch filters that track when tuning and of course, the multi-band front-end filter.