I have a 2 layer PCB with GND planes on both sides. I have a ZigBee RF module that is placed on top of the PCB. I made sure there was no ground plane on both sides of the PCB that interfered with the module's PCB antenna. I also have GND stitching vias around the edge of the board as well as throughout the inside of the PCB (not sure what calculations to do to find out via stitch spacing + hole sizes). I mainly did the via stitching because I learned that if I have a ground plane on top and bottom that for all intents and purposes they can be seen as a single continuous ground plane.
I uploaded an RF test program into the module through the debug port to see if it'd work. The LED would light up to indicate if the program was working. However, I found out that the program wouldn't start unless I pushed the module down onto the PCB - or rather simply placed my fingers around the module or debug port. Then it worked. I double checked my solder joints - even redid them to be sure, but that wasn't the problem. So I'm not sure what is causing this strange issue.
P1.0, P1.1, P0.7 are used to control the CC2592. I don't use any other pins.
So my questions are:
What may be wrong with my PCB design, and how can I get it to work without my hand interactions?
- Via stitchings?
- "No GND" area around module's PCB antenna?
- GND planes?
After resolving the 1st question, how might I optimize my PCB for the maximum performance of the RF ZigBee module (TX and RX)?
--- UPDATE ---
I chose to use this module because it is cheap and it has proven reliable in my tests mentioned below.
This module is CC2530 (ZigBee) + CC2592 (Range Extender) module. The full title of this module is "CC2530F256+CC2592 Wireless Module 2.4G with PA|zigbee PCB Antenna | Ultra nRF24L01P".
Tests I've done I use the Z-Stack program to configure this device as a Home Automation Light which can be controlled by a coordinator. I had tested this on a breadboard and perf board, and there was no problem. I had an old PCB design, and this worked fine as well.