There are 2 module, I shall refer it as RF1 and RF2.
RF1 is configured as a Master while RF2 is configured as a Slave.
RF1 with CheckConnection.ino
CheckConnection Starting
FIRST WITH THE DEFAULT ADDRESSES after power on
Note that RF24 does NOT reset when Arduino resets - only when power is removed
If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
communicating with the nRF24
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x1f
EN_RXADDR = 0x01
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x02
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 8 bits
PA Power = PA_MIN
AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
and 250KBPS data rate
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x1f
EN_RXADDR = 0x01
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x02
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 8 bits
PA Power = PA_MIN
RF2 with CheckConnection.ino
CheckConnection Starting
FIRST WITH THE DEFAULT ADDRESSES after power on
Note that RF24 does NOT reset when Arduino resets - only when power is removed
If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
communicating with the nRF24
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x1f
EN_RXADDR = 0x01
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x02
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 8 bits
PA Power = PA_MIN
AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
and 250KBPS data rate
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x1f
EN_RXADDR = 0x01
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x02
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 8 bits
PA Power = PA_MIN
I have connected 15V 10microF capacitors for both RF1 and RF2.
The following is the message when I attempt to send and receive data. Run using SimpleTx.ino and SimpleRx.ino.
RF1
`f~⸮⸮fx⸮⸮`⸮fx⸮⸮f⸮xff⸮SimpleTx Starting
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
Data Sent Message 0 Tx failed
RF2
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Data received
Neither of your connection tests is working properly so there is no point trying anything else. The most likely cause of the problem is wrong connections or a loose connection.
I used this for all my projects and it works well.
I have bought the nRF24L01 module from online, shipped from China. Not sure if that affects anything. It comes in packs of 5, and I have tested every one, it gives the same thing.
I have taken everything out and reconnecting it. Serial monitor prints out:
CheckConnection Starting
FIRST WITH THE DEFAULT ADDRESSES after power on
Note that RF24 does NOT reset when Arduino resets - only when power is removed
If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
communicating with the nRF24
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0x0000003800 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0x0000003800
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x01
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN
AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
and 250KBPS data rate
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0x0000003800 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0x0000003800
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x01
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN
And the other:
CheckConnection Starting
FIRST WITH THE DEFAULT ADDRESSES after power on
Note that RF24 does NOT reset when Arduino resets - only when power is removed
If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
communicating with the nRF24
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x1f
EN_RXADDR = 0x00
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 8 bits
PA Power = PA_MIN
AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
and 250KBPS data rate
SPI Speedz = 10 Mhz
STATUS = 0x06 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=3 TX_FULL=0
RX_ADDR_P0-1 = 0xe3e3e3e3e3 0x0000003800
RX_ADDR_P2-5 = 0xc1 0xc0 0xc0 0xc2
TX_ADDR = 0xe3e3e3e3e3
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x1f
EN_RXADDR = 0x00
RF_CH = 0x04
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 8 bits
PA Power = PA_MIN
The reason you could not upload all the images in one Post is because they are too big. Smaller image files (640 x 480 should be fine) are kinder to those of us with slow or expensive internet connections.
I do apologies on that. Relatively new to Arduino Forum. Thanks for the guidance.
I have edited the post to allow pictures to show as icon. I am still now sure how can I make the file size even smaller, I just cropped the unwanted part.
I appreciate the trouble you have taken but pictures of the hardware are not a reliable way of showing how things are connected. Just make a simple pencil drawing showing the connections with suitable labels and post a photo of the drawing. Artistic skill is not required.
steve_lim:
Recheck the wires and it seems to be connecting the correct way, but still cant get it to work.
If the connection test does not give the correct response then it is most likely that the wiring is not correct. If you make a drawing like I suggested I will have a look at it but without seeing the drawing I can't help.
It's possible that you have a faulty nRF24 but it seems unlikely that they will all be faulty. Maybe get a few more from a different supplier?
Do you suggest that I identify each pins on the module and what it is, then identify connect to what board, PIN number, and the function of the pin?
I am very new to asking for help on forum, any advice is welcome.
I have seen on your thread, you mention that the RF module might not be updated to the latest program, sometimes we have to power off and power on it. Is there a particular reason why this occur?
steve_lim:
Do you suggest that I identify each pins on the module and what it is, then identify connect to what board, PIN number, and the function of the pin?
The way your diagram is presented I would have to look up somewhere to find out what each of the nRF24 pins does in order to know whether each of them is connected to the correct Arduino pin.
I have seen on your thread, you mention that the RF module might not be updated to the latest program, sometimes we have to power off and power on it. Is there a particular reason why this occur?
The nRF24 is never updated with a new program - only the Arduino. However the nRF24 has no reset feature (unlike the Arduino) and the only way to reset it is to disconnect the power from it. You may or may not find that it is necessary to reset the nRF24.
For future reference, my opinion for not working on the other board is the current drawn. The board known as Maker Uno has a LED light as indicator in each pin, as such the current will be significantly reduced, hence not enough current to drive nRF24L01. I have tried to power it with battery, still no working but that’s just a first try, will try and solve it in a day or two, waiting for a 3.3V voltage regulator to arrive
I have added a 10 micoFarad capacitor but that isn’t enough.