Hi, in the beginning of development my range of the NRF24+ was around 40 feet. My target was only 6. I have gone thru a lot of PCB revisions and mostly do my testing on the bench. After some struggles with firmware things are once again working. but when I started to separate the distance I lost a lot of communication. I can set up the two modules to work side by side ( 2 feet apart) and things just start failing at 3 feet. Admittedly we didn't concentrate too hard on the antenna placement because 40 feet was way over the mark. I really am hoping my issues is still firmware, but unsure. The wireless boards could be removed but it will be messy. I can also do one of the hack jobs to extend the range I saw online but again, messy. I'd like to rule out firmware first.
Here are a few images, happy to provide missing details. Are there concerns here?

my start up config
//set up the NRF24 enable(); sendCommand(0x20);sendCommand(0x0A | receiver);//Config : 00001010 enalbe crc, crc 1 byte, power up, ptx/rx disable(); pulse(); _delay_ms(2); //power up delay //set channel from dips unsigned char channelFromDip = (~PIND& 0x1e)<<3; //we are going to reverse them so shift left not right. channelFromDip = __builtin_avr_insert_bits (0x01234567,channelFromDip,0);//reverse enable(); sendCommand(0x25);sendCommand(channelFromDip);//(channelFromDip); disable(); enable(); sendCommand(0x24);sendCommand(0x00);//500us instead of 250us disable(); //18db and rate of 2mb speed enable(); sendCommand(0x26);sendCommand(0x0F); disable(); //addres for 5 (0011) bytes enable(); sendCommand(0x23);sendCommand(2); disable(); //dynamic length for 0 and 1 pipes enable(); sendCommand(0x3C);sendCommand(3); disable(); //enable ack payload and dynamic enable(); sendCommand(0x3D);sendCommand(7); disable(); //enable(); //from what I can tell the default values for 21 is all on, and for 22 its 1 and 0, so no need to change any of this. //sendCommand(0x22);sendCommand(0x33);//enable 0 and 1 RX pipes //disable(); //must match to auto ack enable();//tx address sendCommand(0x30);sendCommand(0xe7);sendCommand(0xe7);sendCommand(0xe7);sendCommand(0xe7);sendCommand(0xe7); disable(); enable();//rx address sendCommand(0x2A);sendCommand(0xe7);sendCommand(0xe7);sendCommand(0xe7);sendCommand(0xe7);sendCommand(0xe7); disable();
Note about config 6: I think my goals was to use 18db and rate of 2mb speed but it looks like I set 0x0f. I also tried 0x08 but regardless I'm very confused on the datasheet. It gives the examples:
00’ – 1Mbps
‘01’ – 2Mbps
‘10’ – 250kbps
‘11’ – Reserved
but says you set it on bit 3. So that is a range of 1 bit, not 2?