Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. Where to get legit nRF24L01+ modules?

Where to get legit nRF24L01+ modules?

Scheduled Pinned Locked Moved Hardware
counterfeitnrf24l01+nrf24l01+pa+lna
85 Posts 9 Posters 24.3k Views 12 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • YveauxY Yveaux

    @NeverDie said in Where to get legit nRF24L01+ modules?:

    Fortunately, the fake nrf24's are different enough from the genuine in their Tx and Rx current draws that you won't need to split hairs on your measurements to tell them apart.

    Nope. Some of them might be, but certainly not all of them...

    NeverDieN Offline
    NeverDieN Offline
    NeverDie
    Hero Member
    wrote on last edited by NeverDie
    #32

    @Yveaux said in Where to get legit nRF24L01+ modules?:

    @NeverDie said in Where to get legit nRF24L01+ modules?:

    Fortunately, the fake nrf24's are different enough from the genuine in their Tx and Rx current draws that you won't need to split hairs on your measurements to tell them apart.

    Nope. Some of them might be, but certainly not all of them...

    Which ones? Even the fakes have names and datasheets. The datasheet tells the tale. The ones I tested (see other thread for the details) were pretty noticeably different.

    YveauxY 1 Reply Last reply
    0
    • NeverDieN NeverDie

      @Yveaux said in Where to get legit nRF24L01+ modules?:

      @NeverDie said in Where to get legit nRF24L01+ modules?:

      Fortunately, the fake nrf24's are different enough from the genuine in their Tx and Rx current draws that you won't need to split hairs on your measurements to tell them apart.

      Nope. Some of them might be, but certainly not all of them...

      Which ones? Even the fakes have names and datasheets. The datasheet tells the tale. The ones I tested (see other thread for the details) were pretty noticeably different.

      YveauxY Offline
      YveauxY Offline
      Yveaux
      Mod
      wrote on last edited by
      #33

      @NeverDie said in Where to get legit nRF24L01+ modules?:

      Which ones? Even the fakes have names and datasheets. The datasheet tells the tale.

      I've ordered many nameless modules (regular black ones) through Ali express the past years, which didn't come with a datasheet or any specs. A number of them are proven fakes (some even x-rayed by Nordic), but I've not seen any of them having a current consumption significantly different from original Nordic modules.
      I just want to stress again that although some fake modules have a higher current consumption, this certainly isn't true for all fake modules.
      A module with regular consumption still could be fake. X-ray is the only way to be 100% certain.

      http://yveaux.blogspot.nl

      NeverDieN 1 Reply Last reply
      0
      • YveauxY Yveaux

        @NeverDie said in Where to get legit nRF24L01+ modules?:

        Which ones? Even the fakes have names and datasheets. The datasheet tells the tale.

        I've ordered many nameless modules (regular black ones) through Ali express the past years, which didn't come with a datasheet or any specs. A number of them are proven fakes (some even x-rayed by Nordic), but I've not seen any of them having a current consumption significantly different from original Nordic modules.
        I just want to stress again that although some fake modules have a higher current consumption, this certainly isn't true for all fake modules.
        A module with regular consumption still could be fake. X-ray is the only way to be 100% certain.

        NeverDieN Offline
        NeverDieN Offline
        NeverDie
        Hero Member
        wrote on last edited by NeverDie
        #34

        @Yveaux

        What was it about the chips (the ones that had identical current draws to the real thing) that you sent to Nordic for x-ray that motivated you to send them?

        If your requirement is 100% certainty, then you may just have to make your own modules with chips procured either direct from Nordic or from a trusted supplier, like Digikey.

        YveauxY 1 Reply Last reply
        0
        • NeverDieN NeverDie

          @Yveaux

          What was it about the chips (the ones that had identical current draws to the real thing) that you sent to Nordic for x-ray that motivated you to send them?

          If your requirement is 100% certainty, then you may just have to make your own modules with chips procured either direct from Nordic or from a trusted supplier, like Digikey.

          YveauxY Offline
          YveauxY Offline
          Yveaux
          Mod
          wrote on last edited by
          #35

          @NeverDie said in Where to get legit nRF24L01+ modules?:

          If your requirement is 100% certainty

          That's not my requirement; I didn't start this thread :laughing:
          I only have (presumably) fakes deployed around the house and they've never failed me. I won't bother getting 100% genuine ones.

          http://yveaux.blogspot.nl

          1 Reply Last reply
          0
          • d00616D Offline
            d00616D Offline
            d00616
            Contest Winner
            wrote on last edited by
            #36

            I have received two of the red modules. This is an X-Ray image of the chip (montage)
            0_1500731806314_upload-666b869a-0a72-4e85-9575-5e96bf143cee

            NeverDieN YveauxY Bogus ExceptionB 3 Replies Last reply
            0
            • d00616D d00616

              I have received two of the red modules. This is an X-Ray image of the chip (montage)
              0_1500731806314_upload-666b869a-0a72-4e85-9575-5e96bf143cee

              NeverDieN Offline
              NeverDieN Offline
              NeverDie
              Hero Member
              wrote on last edited by
              #37

              @d00616 said in Where to get legit nRF24L01+ modules?:

              I have received two of the red modules. This is an X-Ray image of the chip (montage)
              0_1500731806314_upload-666b869a-0a72-4e85-9575-5e96bf143cee

              Meaning?

              d00616D 1 Reply Last reply
              0
              • NeverDieN NeverDie

                @d00616 said in Where to get legit nRF24L01+ modules?:

                I have received two of the red modules. This is an X-Ray image of the chip (montage)
                0_1500731806314_upload-666b869a-0a72-4e85-9575-5e96bf143cee

                Meaning?

                d00616D Offline
                d00616D Offline
                d00616
                Contest Winner
                wrote on last edited by
                #38

                @NeverDie @Yveaux said in Where to get legit nRF24L01+ modules?:

                Could be that different clones of the nRF exist of which some have an increased power consumption, but currently the only way to know for sure (also for Nordic ) is to x-ray them.

                I hope somebody can say if this looks like an original.

                1 Reply Last reply
                0
                • d00616D d00616

                  I have received two of the red modules. This is an X-Ray image of the chip (montage)
                  0_1500731806314_upload-666b869a-0a72-4e85-9575-5e96bf143cee

                  YveauxY Offline
                  YveauxY Offline
                  Yveaux
                  Mod
                  wrote on last edited by
                  #39

                  @d00616 the xray is rather vague.
                  Here are die shots of the original and a fake: https://zeptobars.com/en/read/Nordic-NRF24L01P-SI24R1-real-fake-copy

                  Maybe you can match them.

                  http://yveaux.blogspot.nl

                  d00616D 1 Reply Last reply
                  0
                  • YveauxY Yveaux

                    @d00616 the xray is rather vague.
                    Here are die shots of the original and a fake: https://zeptobars.com/en/read/Nordic-NRF24L01P-SI24R1-real-fake-copy

                    Maybe you can match them.

                    d00616D Offline
                    d00616D Offline
                    d00616
                    Contest Winner
                    wrote on last edited by
                    #40

                    @Yveaux Thank you for the X-Ray images. I can't get images in that resolution.

                    YveauxY 1 Reply Last reply
                    0
                    • d00616D d00616

                      @Yveaux Thank you for the X-Ray images. I can't get images in that resolution.

                      YveauxY Offline
                      YveauxY Offline
                      Yveaux
                      Mod
                      wrote on last edited by
                      #41

                      @d00616 they aren't xray images. The die shots were obtained by eating away the chip package with acid.

                      http://yveaux.blogspot.nl

                      1 Reply Last reply
                      0
                      • hekH hek

                        Itead or some other legit company like mouser should stock the real thing.

                        Bogus ExceptionB Offline
                        Bogus ExceptionB Offline
                        Bogus Exception
                        wrote on last edited by
                        #42

                        @hek Thanks for writing. I got 4 from itead the other day (2 each of 2 types), and they are in the boxes in front of me. FOr one thing-they have a box! I am making a video for my blog comparing them to the clones (as best I can), and I'm going to test out that current statement I found online...

                        Thanks for the tip!

                        "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                        -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                        -ATTiny, ATMega, STM32
                        -Geek Channel: https://www.youtube.com/TheSalesEngineer

                        1 Reply Last reply
                        1
                        • tbowmoT tbowmo

                          I think that Itead studio promised me that it was genuine NRF that they used for their modules.

                          But it's a couple of years since I purchased any from them, and I'm not sure which ones of the different NRF modules that I have, that actually came from Itead.. :)

                          Bogus ExceptionB Offline
                          Bogus ExceptionB Offline
                          Bogus Exception
                          wrote on last edited by
                          #43

                          @tbowmo Thanks for the tip. I have some in front of me, still in box. Will post results.

                          "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                          -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                          -ATTiny, ATMega, STM32
                          -Geek Channel: https://www.youtube.com/TheSalesEngineer

                          1 Reply Last reply
                          0
                          • Nca78N Offline
                            Nca78N Offline
                            Nca78
                            Hardware Contributor
                            wrote on last edited by
                            #44

                            I received my Ebyte modules, not a warranty of authenticity but the nrf chip has a square instead of a dot like all the fakes I have been using until now. I have a few standard SMD modules and a PA LNA version, I will try to make some basic range tests soon compared to the SMD clones.

                            0_1501066269827_IMAG1842_1.jpg

                            Bogus ExceptionB gohanG 3 Replies Last reply
                            1
                            • Nca78N Nca78

                              I received my Ebyte modules, not a warranty of authenticity but the nrf chip has a square instead of a dot like all the fakes I have been using until now. I have a few standard SMD modules and a PA LNA version, I will try to make some basic range tests soon compared to the SMD clones.

                              0_1501066269827_IMAG1842_1.jpg

                              Bogus ExceptionB Offline
                              Bogus ExceptionB Offline
                              Bogus Exception
                              wrote on last edited by
                              #45

                              OK! I followed your suggestions and tried itead. These are the pics of what I got 4 of (sorry no pro rig-just a loupe & module in one hand & mouse in the other!

                              (all are hosted on one of my servers, not here locally)

                              alt text

                              alt text

                              alt text

                              alt text

                              alt text

                              alt text

                              "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                              -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                              -ATTiny, ATMega, STM32
                              -Geek Channel: https://www.youtube.com/TheSalesEngineer

                              gohanG 1 Reply Last reply
                              3
                              • Bogus ExceptionB Bogus Exception

                                OK! I followed your suggestions and tried itead. These are the pics of what I got 4 of (sorry no pro rig-just a loupe & module in one hand & mouse in the other!

                                (all are hosted on one of my servers, not here locally)

                                alt text

                                alt text

                                alt text

                                alt text

                                alt text

                                alt text

                                gohanG Offline
                                gohanG Offline
                                gohan
                                Mod
                                wrote on last edited by
                                #46

                                @Bogus-Exception let us know how they perform

                                Bogus ExceptionB 1 Reply Last reply
                                0
                                • gohanG gohan

                                  @Bogus-Exception let us know how they perform

                                  Bogus ExceptionB Offline
                                  Bogus ExceptionB Offline
                                  Bogus Exception
                                  wrote on last edited by
                                  #47

                                  @gohan I'll do my best to measure meaningful metrics between these & clones. Also, I have 4 eBytes coming (2x blue, 2x red)...

                                  "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                                  -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                                  -ATTiny, ATMega, STM32
                                  -Geek Channel: https://www.youtube.com/TheSalesEngineer

                                  1 Reply Last reply
                                  1
                                  • Bogus ExceptionB Offline
                                    Bogus ExceptionB Offline
                                    Bogus Exception
                                    wrote on last edited by Bogus Exception
                                    #48

                                    So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.

                                    Just tried over the past 2 hours to replace the clone in my MyController gateway with either the itead or ebyte legit modules, and neither one of them would communicate with the other nodes. I put the clone back in, and it worked. Weird.

                                    Not like it matters much, but here is the sketch (all comments removed) using a BME280 and a light sensor module, on a Nano, USB powered:

                                    #define MY_DEBUG
                                    #define MY_RADIO_NRF24
                                    #define MY_RF24_PA_LEVEL RF24_PA_LOW
                                    #define MY_GATEWAY_SERIAL
                                    #if F_CPU == 8000000L
                                    #define MY_BAUD_RATE 38400
                                    #endif
                                    #include <Adafruit_Sensor.h>
                                    #include <Adafruit_BME280.h>
                                    #define BME_SCK 13
                                    #define BME_MISO 12
                                    #define BME_MOSI 11
                                    #define BME_CS 6
                                    #define SEALEVELPRESSURE_HPA (1013.25)
                                    const float ALTITUDE = 18;
                                    Adafruit_BME280 bme(BME_CS); // hardware SPI
                                    #define LIGHT_CHILD 0
                                    #define BARO_CHILD 1
                                    #define TEMP_CHILD 2
                                    #define HUM_CHILD 3
                                    boolean metric;
                                    uint8_t decimals;
                                    #include <MySensors.h>
                                    MyMessage lightMsg(LIGHT_CHILD, V_LIGHT_LEVEL); // 0
                                    MyMessage pressureMsg(BARO_CHILD, V_PRESSURE); // 1
                                    MyMessage tempMsg(TEMP_CHILD, V_TEMP); // 2
                                    MyMessage humMsg(HUM_CHILD, V_HUM); // 3
                                    #define LIGHT_SENSOR_ANALOG_PIN 0
                                    int lastLightLevel;
                                    unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in milliseconds)
                                    void setup()
                                    {
                                      #ifdef MY_DEBUG
                                        Serial.begin(115200);
                                      #endif
                                      decimals = 2;
                                      metric = getControllerConfig().isMetric; 
                                      bool status;
                                      status = bme.begin();
                                      if (!status) {
                                        #ifdef MY_DEBUG
                                          Serial.println("Could not find a valid BME280 sensor, check wiring!");
                                        #endif
                                        while (1);
                                      }
                                    }
                                    void presentation()
                                    {
                                      sendSketchInfo("Master Nano", "1.0");
                                      present(LIGHT_CHILD, S_LIGHT_LEVEL);  // 0
                                      present(BARO_CHILD, S_BARO);          // 1
                                      present(TEMP_CHILD, S_TEMP);          // 2
                                      present(HUM_CHILD, S_HUM);            // 3
                                    }
                                    void loop()
                                    {
                                      int16_t lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23;
                                      if (lightLevel != lastLightLevel) {
                                        #ifdef MY_DEBUG
                                          Serial.print(F("Sending lightMsg: "));
                                          Serial.println(String(lightLevel));
                                        #endif
                                        send(lightMsg.set(lightLevel));
                                        lastLightLevel = lightLevel;
                                      }
                                      float p_Mb = bme.readPressure() / 100.0F;
                                      float p_Hg = p_Mb / 33.86;
                                      #ifdef MY_DEBUG
                                        Serial.print(F("Sending pressureMsg: "));
                                        Serial.println(String(p_Hg));
                                      #endif
                                      send(pressureMsg.set(p_Hg, decimals));
                                      float t_C = bme.readTemperature();
                                      float t_F = (t_C * (9/5)) + 32;
                                      #ifdef MY_DEBUG
                                        Serial.print(F("Sending tempMsg: "));
                                        Serial.println(String(t_F));
                                      #endif
                                      send(tempMsg.set(t_F, decimals));
                                      float h_Pct = bme.readHumidity();
                                      #ifdef MY_DEBUG
                                        Serial.print(F("Sending humMsg: "));
                                        Serial.println(String(h_Pct));
                                      #endif
                                      send(humMsg.set(h_Pct, decimals));  
                                      #ifdef MY_DEBUG
                                        Serial.print(F("Sleeping for: "));
                                        Serial.println(String(SLEEP_TIME));
                                      #endif
                                      sleep(SLEEP_TIME);
                                    }
                                    

                                    It works with the clone... I am using a regulator board for the nRF24-the one it plugs into & breaks out the 8 pins...

                                    "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                                    -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                                    -ATTiny, ATMega, STM32
                                    -Geek Channel: https://www.youtube.com/TheSalesEngineer

                                    YveauxY gohanG 2 Replies Last reply
                                    0
                                    • Bogus ExceptionB Bogus Exception

                                      So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.

                                      Just tried over the past 2 hours to replace the clone in my MyController gateway with either the itead or ebyte legit modules, and neither one of them would communicate with the other nodes. I put the clone back in, and it worked. Weird.

                                      Not like it matters much, but here is the sketch (all comments removed) using a BME280 and a light sensor module, on a Nano, USB powered:

                                      #define MY_DEBUG
                                      #define MY_RADIO_NRF24
                                      #define MY_RF24_PA_LEVEL RF24_PA_LOW
                                      #define MY_GATEWAY_SERIAL
                                      #if F_CPU == 8000000L
                                      #define MY_BAUD_RATE 38400
                                      #endif
                                      #include <Adafruit_Sensor.h>
                                      #include <Adafruit_BME280.h>
                                      #define BME_SCK 13
                                      #define BME_MISO 12
                                      #define BME_MOSI 11
                                      #define BME_CS 6
                                      #define SEALEVELPRESSURE_HPA (1013.25)
                                      const float ALTITUDE = 18;
                                      Adafruit_BME280 bme(BME_CS); // hardware SPI
                                      #define LIGHT_CHILD 0
                                      #define BARO_CHILD 1
                                      #define TEMP_CHILD 2
                                      #define HUM_CHILD 3
                                      boolean metric;
                                      uint8_t decimals;
                                      #include <MySensors.h>
                                      MyMessage lightMsg(LIGHT_CHILD, V_LIGHT_LEVEL); // 0
                                      MyMessage pressureMsg(BARO_CHILD, V_PRESSURE); // 1
                                      MyMessage tempMsg(TEMP_CHILD, V_TEMP); // 2
                                      MyMessage humMsg(HUM_CHILD, V_HUM); // 3
                                      #define LIGHT_SENSOR_ANALOG_PIN 0
                                      int lastLightLevel;
                                      unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in milliseconds)
                                      void setup()
                                      {
                                        #ifdef MY_DEBUG
                                          Serial.begin(115200);
                                        #endif
                                        decimals = 2;
                                        metric = getControllerConfig().isMetric; 
                                        bool status;
                                        status = bme.begin();
                                        if (!status) {
                                          #ifdef MY_DEBUG
                                            Serial.println("Could not find a valid BME280 sensor, check wiring!");
                                          #endif
                                          while (1);
                                        }
                                      }
                                      void presentation()
                                      {
                                        sendSketchInfo("Master Nano", "1.0");
                                        present(LIGHT_CHILD, S_LIGHT_LEVEL);  // 0
                                        present(BARO_CHILD, S_BARO);          // 1
                                        present(TEMP_CHILD, S_TEMP);          // 2
                                        present(HUM_CHILD, S_HUM);            // 3
                                      }
                                      void loop()
                                      {
                                        int16_t lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23;
                                        if (lightLevel != lastLightLevel) {
                                          #ifdef MY_DEBUG
                                            Serial.print(F("Sending lightMsg: "));
                                            Serial.println(String(lightLevel));
                                          #endif
                                          send(lightMsg.set(lightLevel));
                                          lastLightLevel = lightLevel;
                                        }
                                        float p_Mb = bme.readPressure() / 100.0F;
                                        float p_Hg = p_Mb / 33.86;
                                        #ifdef MY_DEBUG
                                          Serial.print(F("Sending pressureMsg: "));
                                          Serial.println(String(p_Hg));
                                        #endif
                                        send(pressureMsg.set(p_Hg, decimals));
                                        float t_C = bme.readTemperature();
                                        float t_F = (t_C * (9/5)) + 32;
                                        #ifdef MY_DEBUG
                                          Serial.print(F("Sending tempMsg: "));
                                          Serial.println(String(t_F));
                                        #endif
                                        send(tempMsg.set(t_F, decimals));
                                        float h_Pct = bme.readHumidity();
                                        #ifdef MY_DEBUG
                                          Serial.print(F("Sending humMsg: "));
                                          Serial.println(String(h_Pct));
                                        #endif
                                        send(humMsg.set(h_Pct, decimals));  
                                        #ifdef MY_DEBUG
                                          Serial.print(F("Sleeping for: "));
                                          Serial.println(String(SLEEP_TIME));
                                        #endif
                                        sleep(SLEEP_TIME);
                                      }
                                      

                                      It works with the clone... I am using a regulator board for the nRF24-the one it plugs into & breaks out the 8 pins...

                                      YveauxY Offline
                                      YveauxY Offline
                                      Yveaux
                                      Mod
                                      wrote on last edited by
                                      #49

                                      @Bogus-Exception said in Where to get legit nRF24L01+ modules?:

                                      So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.

                                      You cannot rely on the print of the nRF to distinguish fake from genuine. Nordic is fabless, so they use different factories to produce their chips, each with its own specific marking.

                                      http://yveaux.blogspot.nl

                                      Bogus ExceptionB 1 Reply Last reply
                                      1
                                      • Bogus ExceptionB Bogus Exception

                                        So far I've noticed on all versions of the legit nRF24 chips that the 'square' is actually 4 vertical lines, covering a square area, at the 'top left' of the chip.

                                        Just tried over the past 2 hours to replace the clone in my MyController gateway with either the itead or ebyte legit modules, and neither one of them would communicate with the other nodes. I put the clone back in, and it worked. Weird.

                                        Not like it matters much, but here is the sketch (all comments removed) using a BME280 and a light sensor module, on a Nano, USB powered:

                                        #define MY_DEBUG
                                        #define MY_RADIO_NRF24
                                        #define MY_RF24_PA_LEVEL RF24_PA_LOW
                                        #define MY_GATEWAY_SERIAL
                                        #if F_CPU == 8000000L
                                        #define MY_BAUD_RATE 38400
                                        #endif
                                        #include <Adafruit_Sensor.h>
                                        #include <Adafruit_BME280.h>
                                        #define BME_SCK 13
                                        #define BME_MISO 12
                                        #define BME_MOSI 11
                                        #define BME_CS 6
                                        #define SEALEVELPRESSURE_HPA (1013.25)
                                        const float ALTITUDE = 18;
                                        Adafruit_BME280 bme(BME_CS); // hardware SPI
                                        #define LIGHT_CHILD 0
                                        #define BARO_CHILD 1
                                        #define TEMP_CHILD 2
                                        #define HUM_CHILD 3
                                        boolean metric;
                                        uint8_t decimals;
                                        #include <MySensors.h>
                                        MyMessage lightMsg(LIGHT_CHILD, V_LIGHT_LEVEL); // 0
                                        MyMessage pressureMsg(BARO_CHILD, V_PRESSURE); // 1
                                        MyMessage tempMsg(TEMP_CHILD, V_TEMP); // 2
                                        MyMessage humMsg(HUM_CHILD, V_HUM); // 3
                                        #define LIGHT_SENSOR_ANALOG_PIN 0
                                        int lastLightLevel;
                                        unsigned long SLEEP_TIME = 60000; // Sleep time between reads (in milliseconds)
                                        void setup()
                                        {
                                          #ifdef MY_DEBUG
                                            Serial.begin(115200);
                                          #endif
                                          decimals = 2;
                                          metric = getControllerConfig().isMetric; 
                                          bool status;
                                          status = bme.begin();
                                          if (!status) {
                                            #ifdef MY_DEBUG
                                              Serial.println("Could not find a valid BME280 sensor, check wiring!");
                                            #endif
                                            while (1);
                                          }
                                        }
                                        void presentation()
                                        {
                                          sendSketchInfo("Master Nano", "1.0");
                                          present(LIGHT_CHILD, S_LIGHT_LEVEL);  // 0
                                          present(BARO_CHILD, S_BARO);          // 1
                                          present(TEMP_CHILD, S_TEMP);          // 2
                                          present(HUM_CHILD, S_HUM);            // 3
                                        }
                                        void loop()
                                        {
                                          int16_t lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23;
                                          if (lightLevel != lastLightLevel) {
                                            #ifdef MY_DEBUG
                                              Serial.print(F("Sending lightMsg: "));
                                              Serial.println(String(lightLevel));
                                            #endif
                                            send(lightMsg.set(lightLevel));
                                            lastLightLevel = lightLevel;
                                          }
                                          float p_Mb = bme.readPressure() / 100.0F;
                                          float p_Hg = p_Mb / 33.86;
                                          #ifdef MY_DEBUG
                                            Serial.print(F("Sending pressureMsg: "));
                                            Serial.println(String(p_Hg));
                                          #endif
                                          send(pressureMsg.set(p_Hg, decimals));
                                          float t_C = bme.readTemperature();
                                          float t_F = (t_C * (9/5)) + 32;
                                          #ifdef MY_DEBUG
                                            Serial.print(F("Sending tempMsg: "));
                                            Serial.println(String(t_F));
                                          #endif
                                          send(tempMsg.set(t_F, decimals));
                                          float h_Pct = bme.readHumidity();
                                          #ifdef MY_DEBUG
                                            Serial.print(F("Sending humMsg: "));
                                            Serial.println(String(h_Pct));
                                          #endif
                                          send(humMsg.set(h_Pct, decimals));  
                                          #ifdef MY_DEBUG
                                            Serial.print(F("Sleeping for: "));
                                            Serial.println(String(SLEEP_TIME));
                                          #endif
                                          sleep(SLEEP_TIME);
                                        }
                                        

                                        It works with the clone... I am using a regulator board for the nRF24-the one it plugs into & breaks out the 8 pins...

                                        gohanG Offline
                                        gohanG Offline
                                        gohan
                                        Mod
                                        wrote on last edited by
                                        #50

                                        @Bogus-Exception may I ask why are you using spi for bme280 sensor instead of i2c?

                                        Bogus ExceptionB 2 Replies Last reply
                                        0
                                        • gohanG gohan

                                          @Bogus-Exception may I ask why are you using spi for bme280 sensor instead of i2c?

                                          Bogus ExceptionB Offline
                                          Bogus ExceptionB Offline
                                          Bogus Exception
                                          wrote on last edited by
                                          #51

                                          @gohan I already have the 3 pins for SPI in use for the nRF, so adding the BME was just one more pin. Simply conserving pins.

                                          "If you drop it and it breaks, it was good." ~ Mr. Lehr, my Electronics Vo-Tech teacher, on testing vacuum tubes...
                                          -Arduinos (UNO, Nano, Pro-Mini, Mega, ...)
                                          -ATTiny, ATMega, STM32
                                          -Geek Channel: https://www.youtube.com/TheSalesEngineer

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          25

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular