Q: Where should I start troubleshooting a CC1310 radio design? I have designed a custom PCB using a CC1310 radio, based on the reference design for the CC1310 LaunchPad.
The uC is programming, and running code, when I attempt to send data through the radio, the software reports a successful transmit, but I am not able to get any data received from my LaunchPad, which I have programmed as the receiver.
I'm really not an RF expert, but I positioned the RF front end components as similarly as possible to those on the reference design, and requested that the board stackup be the same as that from the reference design.
After re-reviewing the BOM, I realise that for C21 in the reference schematic, the capacitor that connects RX_TX to ground, I requested a 0.1uF instead of a 100pF capacitor.  I guess that will have a pretty severe impact.
I also realise that when providing my manufacturer with a BOM, I only specified the part type and value, e.g. Inductor 7.5nH, but I now see that in the TI BOM, there is much more detail, specifying RF inductor, non-magnetic core.
Please can someone tell me which components in the RF front end are likely to be the culprit of my non-functional radio? I don't mind re-soldering the whole front end if needs be, but I'd like to only change the parts that I need.
Which are the most likely causes of my problem? What can I do to get it working? and how much can I test this, all I have is a scope.
Addition:
I used SmartRF Studio to set my custom board into continuous Tx mode, and to set a LaunchPad for continuous Rx. With ~1m seperation, the receiver was seeing between -35dBm and -60dBm, and then when I powered the Tx down, the Rx dropped to -100dBm. This means the custom board is transmitting something. Does this provide any extra insight?

Addition:
I have tested two custom PCBs trying to communicate with each other, and they work. Using custom boards with SmatRF Studio, I get a much more stable RSSI of ~-20dBm, as shown

So, I know that the custom boards are functional, but will not communicate with a COTS development board.
I used a Software Defined Radio (SDR) dongle as a spectrum analyser, and tested the results of the LaunchPad transmitting, and the custom board, and here are my results.
LaunchPad as Tx

Custom PCB as Tx

I have tried swapping the incorrect value capacitor C21 for one of the correct value, and it makes virtually no difference to the results.
My only thought on what to do next is to change the other components in the front-end to more closely match that in the BOM.
Please can someone explain the reason for the behaviour I have seen, and provide some information about the difference between the custom PCB and the LaunchPad based on the graphs above?
Anything to improve my understanding would be greatly appreciated.
Addition:
Now I've figured out how to work my SDR, here is a better resolution graph for each device.
The LaunchPad seems to peak at ~867.935MHz:

Where as my custom boards seem to be more at ~868.053MHz

So whatever I have done has caused a sufficient difference in frequency. Is this really likely to be from the RF front end, or is it likely to be from something else? E.g. The oscillator being slightly off, the PCB copper being slightly different? Small differences in stack up?
I didn't think that a discrete Balun could shift frequency, am I wrong? can the matching circuitry after the Balun cause a frequency shift? What is likely to be responsible for this?
Many Thanks.

A: In your specific case, using a 0.1uF cap in the biasing network instead of 100pF will almost certainly prevent the signal from radiating.  I would start there.  Next would be the other reactive components (caps, inductors, baluns, etc) in the RF path.
In general, there are a lot of things that have to go right for an RF design to function.


*

*Component selection
When building from a reference design, as it looks like you have done, it is important to match the components exactly.  Sometimes the key specs (ESR in a cap, for example) aren't referenced on a BOM.  Only once you have a working design can you try to swap in cheaper (or more available) parts.
If you look at the LaunchPad BOM, you will see that some of the capacitors are marked as "Manufacturer Selection".  This implies that the other components are critical, and that those specific parts should be used.
Keep this in mind when you have are making a BOM around your own design, and call out critical specs on your BOM!  It may help the next engineer down the road :)
 


*PCB layout
Entire libraries of books have been written on this subject! It's too broad for me to go into here.  Since you are working from a reference design, make sure that you have have used the same layout and trace routing.  If the reference traces are close and parallel, do that.  If one trace splits off sideways, do that too.
Another aspect is the characteristic impedance of the traces.  The board stackup is important, the trace widths are important, and the geometry can be important.  For example, for differential lines the amount of space between the traces is as important as their width.
If you keep your traces short, the characteristic impedance becomes a little more forgiving.
If you want more examples for comparison, there are more reference designs for this chip at TI's site here.
 


*Software configuration
I haven't used this chip, but I have used other radio transceivers from TI.  Their SmartRF Studio is almost mandatory.  You tell it your design, and it spits out magic numbers that you use for your radio configuration. Very helpful.
 
Finally, it looks like the CC1310 has been updated and the new rev requires updated software to make it run.  I don't know if this applies to you, but you can read about it here.
Hope this helps to get you going!

A: I would focus on configuration. At very short range (< 1 m) even comically incorrect RF front end design will still get a signal through.
