Im a beginner when it comes to electronics and coding. Im currently working on a project where its necessary to transfer data between an Arduino Nano and an Arduino Nano 33 Iot using the nrf24l01. It worked for a few days an then suddenly it stopped working. I thought I might have damaged the 33 IoT and ordered a new one (still doesnt work). If i connect two normal Arduino Nano it works flawlessly. Does anybody know what could cause this sudden failure. To my knowledge there shouldnt be a problem with the code because besides the 33 IoT running on 3,3V the 33 Iot has there same pinlayout and if I use a normale Nano with the same code it works. On both devices I use a 50V 10µF capacitor. Both nrf24 modules are powered by the onboard 3,3V power (which previously worked fine (still working when using two standard Nanos). As already said if Im literally swapping the Arduino Nano to an 33 Iot on the breadboard, both running the same code, it wont work
If somebody has an idea I would be thankful for every answer!
The Arduino Nano and the Nano 33 IoT have very little on common except the name. They use different architectures and peripherals.
What libraries are you using? Maybe one of them uses some code that was not ported.
If you want some more advice, I recommend you share some more details. e.g., post your code, schematics, provide links to libraries you are using, did you do any measurements, look at signals ...?
I used the following connections to connect a nrf24I01 to a Nano 33 IOT Nano > nrf
D9 --> CE
D10 --> CSN
D11 --> MOSI
D12 --> MISO
D13 --> SCK
3.3V --> VCC *
GND --> GND *
*100uf 16v capacitor soldered across VCC & GND pins of the nrf24I01
Below is the simple Tx sketch used to test -
/*
*
* Nano 33 IOT nrf20I01 simple Tx test
*
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00003";
void setup() {
// Initialise NRF24L01 2.4Ghz Radio
radio.begin();
radio.setDataRate(RF24_2MBPS); // Set the speed of the transmission to the quickest available
radio.setChannel(123); // Use a channel unlikely to be used by Wifi, Microwave ovens etc
radio.setPALevel(RF24_PA_MAX); // Set Tx power to MAX
radio.openWritingPipe(address);
radio.stopListening();
}
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(3000);
}
Didnt have alot of time in the last few weeks thats why my responds took so long but now I found some time to try out your suggestions.
Up front - I´m using 25v 100uF but as far as I understand shouldnt make a difference. Before that (when it was still working) I was using 50v 10uF which worked fine.
I am using the library RF24 by TMRh20 (Version 1.4.6) I guess you are using the same.
I wired up both Arduinos on breadboards (pictures below) if you want to doublecheck the wiring, but as far as im concerned it should be right.
I used the exact code you sent me in your reply didn´t change anything. I uploaded the TX code on the Nano Iot and the RX onto the normal Nano.
I tried using new Arduino and NRF modules with no change. The Nano IoT is plugged into an USB Hub (if that makes a difference by any chance - interference?!). The normal Arduino is directly plugged into the IO ports of my computer.