|Why doesn't my Radio work?||
This is a frequent question that cannot be answered without more data and information. Most likely when we receive such a question the builder has ignored the "process" where the modules are built individually and tested so that what is built becomes a part of the test system. We have also found that because much of the information regarding Part II is on the webpage that many builders have short circuited the process and did not build Part I and went straight to Part II. The LBS is a learning tool and there is more than ample infromation to have a successful build. The project is a build in progress which requires that Part I be built first with the sequence that starts with the audio amplifier and works its way forward.
We received an email where the builder is using the N3ZI DDS which is a kit and uses the Analog Devices DDS in the 9850 Family and PIC for the microcontroller The builder also has an RF Signal Generator. Here is our response when we got the email. The input to us was that the audio amplifier was the only board working and no signals could be heard:
The whole idea is to use the radio modules to test the radio itself. This is not new and if anyone has ever built a Heathkit this was the standard process.
NOTE: For those who do not have a signal generator we mention in Part II the use of a Test Oscillator and use that to feed the DBM. An ideal frequency would be 7.030 MHz which is the CW QRP watering hole and thus many crystals abound. The same test procedure would apply. A Test Oscillator in the 40M range would be required to peak/adjust the Band Pass Filter.
|What is the N6QW Troubleshooting Process?||
There is no magic to troubleshooting which starts before applying any power. This portion of the troubleshooting process, if not observed, frequently results in smoked parts. Start first (before applying power) by checking the wiring. Look for any wrong connections or shorts. Next take a look at all of the components to see if they are connected properly and are the proper components . It is very easy to mistake values of resistors and capacitors. The same applies to the transistors. A simple diode connected in the plus lead can help save you radio if you reverse the power leads.
|Why doesn't the Si5351 Arduino Software compile?||
The issue here deals with the libraries and the fact that they may not be present. Step 1 is to visit the Arduino website and spend some time with the tutorials on what are libraries, what functions do they perform and where should they be resident. The special Si5351 .cpp and .h files are on the resource page and should be downloaded, placed in the Adruino IDE and included in the folder used for the project.
|Why doesn't my LCD work with this software?||
The sad fact of life is that not all LCD's are created equal. The LBS project intent is to use the I2C capability resident on most of the Arduino's. Simply stated the I2C enable operating the LCD with only 4 wires essentially converting a parallel type LCD into a serial device. So in addition to the LCD an I2C backpack device is required. This backpack plugs into the LCD and then has the 4 wire connection port that goes to the Arduino. In one of the earlier projects from the authors the whole subject of LCD's and that different libraries, and different I2C addresses most likely are required is discussed. Link here.
|Why doesn't my XXX board not work?||
This is a frequent question and relates back to the troubleshooting process. We received such a question regarding the audio stage and fortunately the person submitting the question included some voltage readings. At two points in the circuit which were directly connected by a wire one reading was several volts and the other was Zero "0". Well if they are connected that is an impossibility. A photo sent with the data revealed they were not physically connected. So there are two points here: 1) the importance of collecting data and 2) interpreting the data. Connecting those two points resulted in a working amplifier.
|Why isn't there a parts list or circuit boards available?||
The design purposefully chose to use no IC's and relies heavily on common readily available parts. These parts would normally be stock items in a homebrewer's junk box. There is another reason as well and that is so that the prospective builder in looking at the schematic to develop the MTO (material take off) will become more familiar with the circuits. The MePads enables the builder to make his own high quality circuit boards. The many photographs give good documentation on how to make the boards. Yes, N6QW does have a CNC mill and can route out boards but they are just as easily built with the MePads.
|What do you use to interconnect all of the Modules?||
One comment about the LBS form an individual who reviewed one of the videos was that there appeared to be a lack of grounding. All of the boards are interconnected with RG-174/U coaxial cable and that is what should be used. There is no evidence of ground loops or lack of proper grounding. The only connections without the coax is the twisted pair of wires going from the product detector to the audio amplifier. The output of the microphone amp is a short connection from one board to the Balanced Modulator input. The input from the microphone jack is via a short pair of twisted wires, a total of about 2 inches. All other connections are via the small diameter coax.
|What is the setting for the IRF510 Bias Level?||
This is where one resists making the maximum smoke possible and sets the IRF510 for a reasonable value that delivers a modest amount of power without distrortion, overheating of the device, unwanted mixing products, and/or self-oscillation. A good starting value is in the range of 80 to 100 Ma of "idling bias". There will be those who ask what voltage level is that ? It is not so much the bias voltgae as the bias current that is important! IRF510's vary and thus placing an milliamp meter in the IRF510 drain supply line enables a more precise setting for that particular device. The IRF510 was not designed as a true RF device --it was found to work and has been used ever since. The cost is low in comparison to a true RF device and thus its enduring power.
|Why do I see or hear a small amount of residual carrier present on the output?||
There are many possibilities and this FAQ will attempt to answer that question. The prior question regarding bias level setting plays a part in the answer. If the IRF510 is biased too high then any small amount of carrier will be amplified. Start first with the bias setting. Next adjust the carrier balance pot (100 Ohm) for a deep null as described in Part II. A futher reduction may result from adjustng the drive level coming from the BFO Booster Amp. These all interact and thus may require repeated adjustments. While not a part of the design a small additional amount of carrier phase balance can be achieved by installing a 20 PF trimmer capacitor on the arm of the 100 Ohm pot opposite the 39 Ohm resistor used for tune up (tied to the other arm of the pot). The 100 Ohm pot provides for a carrier balance and the 20 PF capacitor provides a measure of phase balance. Keep in mind this is a homebrew Double Balanced Mixer and while quite good it is difficult to match the preformance of a commercial DBM such as the SBL-1, TUF-1 or ADE1-L.
Where do I find the Sketch for the AD9850 Signal Generator used for testing Part II. Second question where is the wiring diagram for the Arduino connections?
The sketch for turning the Part I Local Oscialltor is founr on a link on the main LBS Reference Page. The Signal Genetator will tune form 100 KHz to 40 MHz. Although the 40MHz may tend to be a bit flaky based on the limitations of the inexpensive AD9850 board. The same Arduino wiring diagram as found in Part I is used for the Signal Generator.
|If I want to build the LBS using a commercial Crystal Filter where I can I find those?||
There are several sources including INRAD which makes a 4 pole 9.0 MHz unit and the GQRP Club sells a 6 pole 9.0 MHz unit. The In/Out impedance of the INRAD is 200 Ohms and can be used directly with the LBS matching transformers. The GQRP unit is 500 Ohms and needs a different matching transformer (6 Turns to 19 Turns). You must be a GQRP member to purchase the 6 Pole Filter. Other filters include those from old boat anchors such as the Heathkit or Yaesu will work. Typically these can be found on the auction sites but Caveat Emptor as their condition may be unknown. Perhaps the easiest route is the INRAD Filter as that can be a straight purchase without having to join GQRP. Links to the INRAD and GQRP sites can be found on the main LBS Resource page. NOTE --the code must be changed to reflect the different filter frequency and the LSB and USB offsets. Simply plugging in a filter different from the LBS primary design (4.9152 MHz) will not work. Samples of code for the 9 MHz and the Yaesu Filters can be found on the resource page.
|I have loaded Arduino IDE 1.6.3 on my computer and nothing compiles and my LCD will not display.||
Using Liquid Crystal Displays with Arduino 1.6.3
Pete Juliano N6QW 4/2015
Many new technologies are now available to the homebrew constructor that only a few short years ago were on the “sure would be nice to have list”. They are now here and inexpensive. Chief among these is the Arduino Microcontroller Board, the AD9850 DDS boards and now the Si5351 PLL that can simultaneously generate three different clock frequencies. Oh by the way, hams across the globe have figured out how to make one of those three clock frequencies tunable Variable Frequency Oscillator.
Roughly speaking one can now have a digital VFO and BFO generator with some form of digital display for around $20. Initially the displays were LCD, ranging all the way from 8X2 (8 digits, 2 lines) to 20X4’s. So lots of information can be displayed. Then there was the move to the TFT’s such as the black and white Nokia 5110 which is a 48X84, to the color displays such as the 128X128 to the 240X320. The latter has 256K colors. The 128X128 can be purchased from China for $5.50 USD shipped to your door!
Many of the radios/circuits I have recently produced were based on the work of many hams from all around the world and the internet has provided a wonderful medium of information exchange. [Thank you, Al Gore for inventing the Internet!]
When I was working on these projects I used an older version of Arduino namely 1.0.5. It works well and so I found no need to update it. I guess I believe in--- if it works don’t fix it. In passing I should mention something about one of the issues I did run head on with in my projects was the LCD displays.
Ruefully I found that not all displays are equal and there are many versions and variants of Liquid Crystal libraries. Using the parallel displays chews up a lot of precious Arduino Pins but many of the Arduino boards and their clones have the I2C pins which means with an appropriate convertor it requires only 2 pins from the Arduino, typically A4 (SDA) and A5 (SCL) plus supplying 5 VDC and Ground to have the LCD Display on the project.
This convertor which is frequently called the “I2C Backpack” is a small circuit board that has 4 pins on one end that act as the interface to the Arduino and 16 Pins along the side that can be soldered to the LCD or plugged into a 16 pin socket fitted to the LCD (which is the method I prefer). Finally I found a version of LiquidCrystal_I2C.h that worked virtually every time with the only variant being the I2C address had to be noted in the Arduino Sketch based on the brand of LCD being used. One particular brand of LCD (a 20X4 from Sain Smart) wants 0x3F for the address but most of the others want 0x27.
The guys at Arduino are pretty clever in that if you are using the older versions of the Arduino IDE (Integrated Development Environment), such as I am with 1.0.5, a message pops up on your screen about the latest version. I summarily say NO! But others have upgraded to V 1.6.3 and when trying to use some of the sketches I provided could not get them to compile nor load on the hardware. Yes one of the huge error messages was about the LCD displays.
Thus I felt compelled to test drive the 1.6.3 Version. Learning log ago about test driving new software I used a separate computer for this version. In the Soldersmoke Podcast 175 (April 18, 2015) where I participated alongside with Bill Meara, N2CQR we discussed this issue and asked if anyone knows the why of the problem. Mark VanderWetting, K6HX stepped into the picture and did a lot of research and development of the answer. We are deeply indebted to Mark!
First, Mark made a really excellent point about why to use the latest IDE. Basically the Arduino is an open source development tool and as more use is made of the software, problems/bugs that are found are fixed with the later releases. This is important when new hardware being fitted to an Arduino is relying on the later IDE’s. Notwithstanding sometimes the newer IDE will cause problems with older sketches which is what I was experiencing. Again I want to emphasize if you have two computers keep the new IDE (V1.6.3) separated from what is working until such time that you are comfortable with the latest version. I should report it maybe as long as six-months, before I will make the full conversion – don’t burn your bridges is sage advice!
Let us start with the basics. Mark K6HX has documented his sojourn in this blogpost which can be found here. http://brainwagon.org/2015/04/22/using-a-sainsmart-lcd-panel-with-the-arduino-1-6-3-ide/ . We thank Mark for his excellent work is defining and resolving the problem!
The new Liquid Crystal Libraries compatible with V 1.6.3 can be found here:
I used the latest version and downloaded that to my computer and in unzipping the files renamed the folder LiquidCrystal_I2C. Also note that in the unzipping process I got warnings about some encrypted files that were not downloaded –that does not seem to be a problem.
Just having the new library for LiquidCrystal_I2C is not enough as the actual sketch code must be modified with the following four entries.
#define BACKLIGHT_PIN (3)
#define LED_ADDR (0x27) // might need to be 0x3F, if 0x27 doesn't work
LiquidCrystal_I2C lcd(LED_ADDR, 2, 1, 0, 4, 5, 6, 7, BACKLIGHT_PIN, POSITIVE) ;
Again note for the Sain Smart the address is 0x3F and most of the generic ones take 0x27.
BUT you are not DONE!!!!!!!! For sketches done in other versions of the IDE it does not work (compile) if you simply open the earlier version with 1.6.3. You must open the sketch then using the Edit Tab –Select All and Copy. Next open a blank V 1.6.3 Sketch and paste the information into the blank Sketch. Note in a 1.6.3 blank sketch first delete the setup and void wording so you have a clean blank sketch and THEN paste the information. Now save that sketch with a new name.
Note again –all of the libraries specified in the sketch must be in the Arduino Library file folder such as LiquidCrystal_I2C, Rotary, si5351 or Jsi5351. If you are using the TFT displays then you need the Adafruit Graphics Libraries [Adafruit_GFX, Adafruit_PCD8544] as well as the libraries for the displays such as TFT_ILI9163C and TFT_ILI9340.
Mark's point about using the latest IDE is well taken but unfortunately the use of the Arduino with older libraries has problems in that the Libraries may not be updated and thus are incompatible. The only thing that is known often times --it just doesn't work. I personally am reluctant to switch everything over to 1.6.3 as that may impact many programs and hardware that are in daily use. So that is the problem with open source hardware. I really don't have a good answer. The programs will work in 1.0.5!