How to improve the communication distance with Gazell?

Dandingzz gravatar image

asked 2017-02-17 09:48:39 +0100

My gazell configuration is as follows:

#define PIPE_NUM                    0
#define TIMESLOT_PERIOD             2000
#define TIMESLOT_PER_CHANNEL        2
#define CHANNEL_TABLE_SIZE          1
#define CHANNEL_TABLE               {18}
#define MAX_TX_ATTEMPTS             3
#define TX_POWER            NRF_GZLL_TX_POWER_4_DBM

Payload size: 22bytes

frames per second: 100

When the communication distance up to 2 meters, the device often cannot receive the ACK from host, or the host cannot receive the packet form device. I don't know that is normal or not? Can I improve the communication distance by setting up a more reasonable configuration?

edit retag flag offensive close delete report spam


2 meters are too short, it should be much more than that. You may want to send us or update here your schematic and layout of the boards, a close-up photo is also useful.

Hung Bui ( 2017-02-17 13:17:27 +0100 )editconvert to answer

1 answer

Sort by ยป oldest newest most voted
Dandingzz gravatar image

answered 2017-02-17 13:53:05 +0100

Here is my schematic, layout and close-up photo of the board: image description image description image description image description

In the board, I use the balun 2450BM14E0003 and the chip antenna 2450AT42A100E. The thickness of the PCB is 0.8mm. Can you please tell me what's the problem with this design? How much is the normal distance? Thank you~

edit flag offensive delete publish link more


Your board looks OK. Could you try to test with the radio example or the ESB example in the SDK ? Just to check it's not the hardware issue.

Hung Bui ( 2017-02-17 14:27:17 +0100 )editconvert to answer

I have tried to test with the ESB example, and the same result were obtained.

Dandingzz ( 2017-02-18 03:07:49 +0100 )editconvert to answer

And here is my configuration in the ESB example:

#define PIPE_NUM                                    0
#define RETRANSMIT_DELAY                    600
#define CRC_LENGTH                              NRF_ESB_CRC_LENGTH_1_BYTE
#define CHANNEL                                     18
#define MAX_NUMBER_OF_RETX              10
#define TX_POWER                                NRF_ESB_OUTPUT_POWER_4_DBM
#define TX_DATARATE                             NRF_ESB_DATARATE_2_MBPS
Dandingzz ( 2017-02-18 03:12:44 +0100 )editconvert to answer

So it could be something with the RF circuit on your board, please check and make sure there is no short circuit. The antenna may need some tuning a PI network need to be added to optimize the antenna. If you don't have the equipment for tuning, you can try to use a PCB antenna (a copper wire should also work) and a shunt component. The description on how to tune antenna can be found here.

Hung Bui ( 2017-02-20 10:26:25 +0100 )editconvert to answer

Thanks for your advice. I found that the host always can receive the packet from the device at close range. But the device sometimes cannot receive the ACK from the host. I don't know why. And I have a new question, can the configuration of TIMESLOT_PERIOD or TX_DATARATE affect the transmission distance? Thank you~

Dandingzz ( 2017-02-20 12:04:57 +0100 )editconvert to answer

I would suggest to stick with ESB for testing to make things simpler.

TIMESLOT_PERIOD should not affect the transmission distance, set it at 2000 is fine.

TX_DATARATE affect the distance as you have better sensitivity at 250kbps, but still 2 meter is too short. You should have at least 10m indoor with 2MBPS.

Hung Bui ( 2017-02-20 15:42:32 +0100 )editconvert to answer

Thanks for your reply. I will improve my design and do more tests.

Dandingzz ( 2017-02-21 03:46:23 +0100 )editconvert to answer

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer. Do not ask a new question or reply to an answer here.

[hide preview]

Question Tools

1 follower


Asked: 2017-02-17 09:48:39 +0100

Seen: 150 times

Last updated: feb. 17