SPI programming difference between Original and Compatible Arduino Uno


My question is, is there a difference between SPI programming (interfaces, configuration etc) between the original arduino uno R3 boards and the cheaper 'compatible' ones.

Observation. I have a setup using 2 UNO R3s (one geniune and the other). I have them communicating with one other using NRF24L01+ modules, using the RF24 library by TMRh20.

  1. The one node with 'compatible' Uno is able to transmit data but not receive. I have had same observations by changing the RF modules and changing the cheaper UNO boards (I have many of them). These cheaper boards are not new as I have been working with them for a few months now without any problem.

  2. The same setup (code,RF modules and connection) works perfectly fine when using two genuine UNOs. Which leaves me to wonder why.

  3. One difference that I can find is that the cheaper UNOs that I have, have a 12Mhz Oscillator on the board as against 16 MHz on the original.

  4. I have also checked the continuity of the SPI pins from ICSP header to digital pins 11,12 and 13.

  5. Furthermore, I stumbled across this article which says

On Arduino UNO boards SPI pins are connected with some digital pins. While using modem you most remember that these digital pins won’t be available.

  1. Does the aforementioned have anything to do with my setup?

I am so confused without any hint whatsoever that might be causing the problem. Pardon me if my problem statement is not very clear. SPI is the only thing I can doubt as of now.

PS: the codes that I am using are copies from here and compiles without error

If there's any additional info that may be required for troubleshooting do let know.


As it turns out, all boiled downed to the power supply.

The cheaper arduinos have AMS1117 based regulator which provided the 3.3 V supply. Powering the NRF24L01+ using external 3.3 Volt (from a genuine arduino) solved the problem.

Although the AMS1117 also output a constant 3.27 volts maybe it had too much noise for the RF device, not really sure.