nRF24L01 Auto-ACK not working after first transmission — Wireless Link Project

Hi my ffriends,

I’m working on a wireless system called for me "Wireless Link Project", based on the nRF24L01 (non-Plus) transceiver.

I have two identical boards using an NXP MCF51MM256 MCU, and I’m trying to make them communicate in both directions using Auto-ACK.

Everything works fine when Auto-ACK is disabled, but when I enable it (EN_AA = 0x01, SETUP_RETR = 0x2F), I get this issue:

  1. The first packet is transmitted and acknowledged correctly.

  2. After that, no more ACKs are received.

  3. The receiver stays active and correctly switches between RX and TX modes, but the link seems to hang after the first exchange.

  4. STATUS and FIFO registers look normal, and CE/CSN timing is correct (verified with an oscilloscope).

Some extra details:

  • Both devices use the same 5-byte address on Pipe 0.

  • Channel = 8, 2 Mbps, 0 dBm output power.

  • CRC = 1 byte.

  • SPI clock = 3 MHz.

  • Power rails are clean, with 100 nF + 100 µF decoupling capacitors.

  • CE pulse timing follows the datasheet.

So basically, Auto-ACK works once after power-up and then stops.
I’ve tried flushing the FIFOs, clearing the STATUS register, and forcing RX mode again, but nothing helps.

Could you please:

  1. Confirm if there are any known timing or configuration differences for Auto-ACK on the nRF24L01 (non-Plus), and

  2. If possible, share a reference C library or example code that supports Auto-ACK and 8-byte payloads for bidirectional communication?

I’m using a custom SPI driver on the NXP microcontroller but can easily adapt any sample you provide.

Thanks a lot for your help and suport.

Best regards,

A. Molina

content.pdf

Related