2.4GHz interferance

Hi all

If I was looking to create a project with other RF components using the 2.4GHz band (eg bluetooth, or other proprietary comms) what would best practice be for minimising interferance? Is there a minimum spacing between antennae or some other guidance?

Would be interested to hear from anyone who has attempted similar!


Another question… the Imp does not have 5GHz radios correct? Only 2.4GHz?

I’m working with a Nordic nRF24L01+ module right next to the Imp without any problems

Correct @jwehr just the 2.4GHz ones.

That’s excellent news @DolfTraanberg as it’s these exact modules that I’m looking to integrate!! What library are you using, and what have you got it talking to? Thanks!

I use the Arduino shield for the Imp and an Arduino to drive the nRF24L01+.
Writing libraries for that module is way out of my leage and I needed more ports.
nRF24L01+ alone uses 5 ports.

I am building an Arduino wireless sensor- and controlnetwork described here:

That’s actually a really interesting idea. I’ve got some PCBs on order from OSHPark for a temperature monitoring network in my house. The PCB includes a USB A plug for power, headers for a cheap Arduino Pro Mini clone from eBay (£5 each), a DS18b20 one wire Temp sensor, and an NRF24L01 ebay module. My idea is to have a USB mains adapter in each room, plug these modules in, and have them all report back to the Imp.

Something I hadn’t considered, which would probably work better, is Have the Imp talk to another Arduino Mini via UART, and then on to the NRF24L01 network from there. It would definitely be simpler from a software perspective, as I could use the same Arduino NRF library for all nodes, including the Imp node.

Food for thought :slight_smile:

That’s my plan as well

I hv wrote the nRF24L01 libs for the IMP…

Github repo :-

Looks very good.
I think I got the imp part working, but I don’t know what Arduino sketch to run to see some communication

I didn’t proceed down this route for that exact reason.

Arduino <–> Arduino using the same lib is likely to give more success than Arduino <–> Imp using different libs.

yes, I don’t have problems connecting Arduino’s together. Would be nice to integrate an Imp in my network to have Internet connectivety.
Also with an Imp alone you just have one pin left…

I’m trying to get your system working but I have failed so far I am really a noob on ths issue, but I think there is at least a problem with the Pipe Addresses.

for the Arduino I have this configurarion:

STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0 RX_ADDR_P0-1 [00] = 0xdedededee7 0xdedededee9 RX_ADDR_P2-5 [00] = 0xc3 0xc4 0xc5 0xc6 TX_ADDR = 0xdedededee7 RX_PW_P0-6 [00] = 0x20 0x20 0x00 0x00 0x00 0x00 EN_AA = 0x3f EN_RXADDR [00] = 0x03 RF_CH = 0x4c RF_SETUP [00] = 0x07 CONFIG = 0x0f DYNPD/FEATURE [00] = 0x3f 0x04 Data Rate = 1MBPS Model = nRF24L01+ CRC Length = 16 bits PA Power = PA_MAX

while for the imp I have this configuration:
`TX Addr :0xE2 0xF0 0xF0 0xF0 0xF0
RF_CH :0x4C
RX Addr-P0 :0xE1 0xF0 0xF0 0xF0 0xF0
RF_SETUP :0x06
ENRX_P0 :1
CRC0 :4
RF24 channel:76

// Pipe Addresses for RX & TX
const pipesRX = “\xE1\xF0\xF0\xF0\xF0”; // RX_ADDR
const pipesTX = “\xE2\xF0\xF0\xF0\xF0”; // TX_ADDR

rf_setup = 0x6; // Rate = 1Mbps, Power is Max
channel = 0x4c; // CH = 0x4c / 76
payloadSize = 0x20; // Max is 32 bytes / 0x20
localAddress = 0; // LA = 0b0000 (Unimplemented)
remoteAddress = 0; // RA = 0b0000 (Unimplemented)
spiSetup_flags = 0; // SPI Flags = 0b0000 (Master)
spiSetup_clock = clock; // SPI Clock Speed = input
ptx = 1 // Txmode

Maybe you can help me to get this working.
My Arduino nRF24L01+ network runs very nice



IMP ( address is last byte first ) should be :-

const pipesRX = “\xE7\xDE\xDE\xDE\xDE”;

ahh, that makes sense
thanks, will try this later

whatever I try, I am not able to set the channel:

2013-12-22 13:43:16 UTC+1: [Device] RF24 channel:0xFF

Never mind, I’ve got it working!!!

Thanks so much!

What was the problem?

Still don’t know. I was too early. Sometimes it works and the transceiver gets properly configured and sometimes the channel will be at 0 or FF.
Anyway I know now, that it is possible to have that communication going.
Maybe it is possible to set this channel later, by a switch or http.