Weirdest thing I've ever experienced in my life

So, my colleague and I have been working quite extensively with this sample:

developer.nordicsemi.com/.../README.html

Our problem is that we have modified this sample, and for some reason, we are receiving packets in some bizarre manner. These packets seem to appear out of nowhere. When we run this sample, it opens a shell that can be used to set the radio to receive mode. Now with a specific address, size of the preamble, base length in the packet configuration, and setting ENDIAN to little, we receive a tremendous amount of packets. Our first thought was that it might be something in the air interfering and sending out packets to this address precisely. The packets are random bytes that we see when using the print command in the shell.

So what we did to cancel out this communication was that we used a screened room available to us at the company where we are working; this room cancels out almost any signal in the air, not 100% but almost everything. I sat in this room with my computer and the nrf52840 running this modded sample, and I still received packets. I've ensured with the test engineer responsible for this room that there is nothing in this room running on electricity that could transmit some kind of communication. So to ensure that my computer is not sending out something weird (even if I've turned off Bluetooth and wifi) I used a hole in this room that is covered with copper and made the cable from the computer to my nrf52840 go through it, and then covered up the hole as much as I could with copper again so only the cable could fit in the hole, now the board is in the room alone, and the door is shut. I'm outside with my laptop running the sample, and STILL, it receives some kind of packets. How is this possible? Is there something that we are doing that makes the board act out this weird behavior? Or are we making some idiotic mistake?

If someone has an nrf52840 board, please run radio_test sample with these changes made in the method radio_config and radio_test.h.

----radio_test.c changes----

case TRANSMIT_PATTERN_11110000:
nrf_radio_prefix0_set(NRF_RADIO, 0x9A);
nrf_radio_base0_set(NRF_RADIO, 0x297C); // Address that we are using
break:

memset(&packet_conf, 0, sizeof(packet_conf));
packet_conf.lflen = RADIO_LENGTH_LENGTH_FIELD;
packet_conf.maxlen = (sizeof(tx_packet) - 1);
packet_conf.statlen = 0;
packet_conf.balen = 2; // Changed base lenght to 2 bytes
packet_conf.big_endian = false; // put to false to get little endian
packet_conf.whiteen = true;

default:
/* Packet configuration:
* S1 size = 0 bits,
* S0 size = 0 bytes,
* 8-bit preamble.
*/
packet_conf.plen = NRF_RADIO_PREAMBLE_LENGTH_16BIT; // changed to 16 bit
break;

----radio_test.h changes-----

#define RADIO_MAX_PAYLOAD_LEN 52


When runninig, write in the shell:

start_channel 1
transmit_pattern pattern_1111000
start_rx
print_rx

Sry for the long post; any help is appreciated.

  • Yes, here is the hex file 

    The provided HEX files were compiled using the projects located in the folders for the respective boards (pca10xxx).
    
    For license and copyright information, see the individual .c and .h files that are included in the projects.
    
    receiver_pca10040.hexreceiver_pca10056.hex

  • Note, I found this hex file in the radio receiver sample running on IAR EW 

  • Hi, Sorry for late reply.


    Have not hade any luck replicating the result you have. But I will keep the test going over the weekend and see if there is anything. But I am quite certain that the issue must be related tot he isolation from other RF sources. 

    Or did you find out what the source of the ghost packets was?

    Regards,
    Jonathan

  • Update: there has been no ghost packages so I think it is safe to assume that the setup you have might be the issue. I would guess either there is something inside the room that advertises packages or it is not properly RF proof. 

    hope you found a solution to the issue you had. 

    Regards,
    Jonathan

  • Did you download the radio_test sample and mod it exactly like I have described above? 

    Are you using the nrf52840-DK?

    If you receive nothing, try to change the base address to 0x943E and prefix 0x59

Related