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.

  • Hi,


    If the device is in some sort of anechoic chamber, and you are still picking up packages, wit no other source in the room where the RF signals can come from then that does indeed sound strange. 

    Are you using custom HW or a DK?

    What antenna re you using?

    How is the device powered?

    If you are running a relay long USB cable, could it be the source of the issue? have you tried a different cable?

    If you remove the antenna(remove a dingle series component) does the issue still happen? 

    Can you share a picture of the setup ?

    Does the the software behave the same on other devices?



    Due to the Easter holiday there will be a delayed response time, we will be back in full the 19 of April. 


    This is something we should be able to test, but not until next week. 

    Regards,
    Jonathan

  • 1. We are using this board: https://www.nordicsemi.com/Products/Development-hardware/nrf52840-dk which is the nrf52840 DK, we have also tried with this board: www.nordicsemi.com/.../nRF52-DK

    2. We are using the antenna that the board provides (internal, no external one).

    3. The device is powered via a USB micro cable, (if you look at the picture on the link in 1. we are connecting the board through the upper port).

    4. Yes, we used different cables. We actually have two of these boards (two nrf52840), and once we connected one of them to a long micro USB cable It wouldn't turn on again. But yes, we have tried several cables.

    5. No, we haven't tried that, we haven't tried soldering to remove the antenna. 

    6. There is no good picture to show, basically we are in an anechoic room, with our computer and the nrf52840 plugged into it with a micro usb, and that's it. 

    7. Yes, this behavior appears on other boards aswell the nrf52832 one.

    Please let me know if there is any more information that you need. 

    Best regards

  • There does not seem to ba any pictures included, you can click on the insert many and add a picture, or drag and drop in the comment field. 

    Sorry for the slow response, due to Easter vacation, back to normal staffing now. 

    Regards,
    Jonathan

  • Well as I said, we do not have picture that would be of any utility. Or am I not understanding you correctly, What do you mean by setup?

    What we have is the board, a computer and a wire between it, thats it in terms of "setup" We been using IAR EW with the radio receiver sample, and nrf connect extension for VScode when running the radio_test sample and operating the shell 

  • Sorry for the missundersting, was thinking you where trying to upload a picture, my mistake. You are just refencing the pic from the product page. 

    So you have only a singel USB cable connected to the DK. The DK is in a anechoic chamber/room and there should not be any reason to why you would pick up "ghost" packages. 

    Can you provide the hex file you flashed on the DK, I want to test with the exact same. Dont have a chamber right away but can test in a RF proof "lunchbox" and see if there is anything showing up. try to replicate your setup. I see you have added the changes in config anc code but want to test with your exat file, just to remove any possible human error in replication. 

    Regards,
    Jonathan

Related