I've been working on a new library fork to improve upon the current state of the RF24 driver. Mainly, the new library fork should be more reliable and responsive, while providing faster data transfer rates, especially with multicast or NOACK streaming. As I've found with any system or scenario, its not about having the right recipe or ingredients, its always about the process. Users will notice notice differences when using things like ACK payloads, as data is never flushed from the FIFO buffers unless required, and responsiveness is much faster. The new fork also makes better use of the FIFO buffers, which improves things greatly when transmitting large quantities of data, or streaming realtime data such as audio data, and should be more reliable due to how it manages and checks for incoming data.
I've done a direct comparison between this fork and the gcopeland fork, which I think is about the fastest alternative. https://www.youtube.com/watch?v=mODflsK1Ab0
The new library includes the sketch used in the transfer testing, as well as simplified versions and additional examples.
The main issue with compatibility, is that radio.read() no longer returns a boolean value if more data is available. The new library is more in-line with standard Arduino libraries, in that radio.available() will always return 1 if data is available to be read instead. This is the only change required for compatibility with the original RF24Network library.
I've added full support for the Arduino Due as well, with the extended SPI methods, which improves performance quite a bit for the Due as well. note: Do not include printf.h and don't do printf_begin(); , this is already enabled on Due.
ATTiny support is there, but my chip is in the mail, so testing is not complete. To use, Don't include SPI.h, and optionally uncomment #define MINIMAL in RF24_config.h
Blog ( Overview and more detailed info ): http://tmrh20.blogspot.com