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. Announcements
  3. 💬 Battery Powered Sensors

💬 Battery Powered Sensors

Scheduled Pinned Locked Moved Announcements
battery
347 Posts 55 Posters 68.0k Views 53 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.
  • zboblamontZ zboblamont

    @nekitoss Not sure where you got your information but my Gas Node is on it's second year running on the same two Varta AA alkalines and been down to -20 on more than a few occasions last winter, typically 4 months below -10... Currently the temperature is -3 and headed to -8 overnight, voltage is 2.98, will probably need to replace them in autumn 2019...

    N Offline
    N Offline
    nekitoss
    wrote on last edited by
    #303

    @nekitoss said in 💬 Battery Powered Sensors:

    It would be great to add to this arctle that if you want to be battery powered outdoors with temperature below zero - you have to use lithium batteries (FR6 for AA) (yes, batteries, not li-ion accumulators!) (for example ultimate lithium energizer, also could be found lithium batteries from other vendors), because Alkaline (LR6 for AA) will be frozen and loose their capacity heavily. If i remember it is >50% at -10 C and death at -20 C. Same problem for li-ion accumulators - when liquid is frozen - electrons are stucked...
    Also would be great to add some link about battery/accumulator types, advanteges and disadvantages, but i have no links in english, easy-to-read and in one place...

    But i have very great link about battery-powering that really should be added here, but in advanced section:
    http://www.gammon.com.au/power

    @zboblamont how your alkaline batteries experience after 2 years(temperatures, lasting time)? my freshly installed (yes, it was long develop and test...) Lithium AA - when few weeks ago it was -20 .. stopped transmitting! Fixed resetting power when it become little warmer. Possibly same problem with 2.7V or exactly there may be wrong BOD...

    skywatchS zboblamontZ 2 Replies Last reply
    0
    • N nekitoss

      @nekitoss said in 💬 Battery Powered Sensors:

      It would be great to add to this arctle that if you want to be battery powered outdoors with temperature below zero - you have to use lithium batteries (FR6 for AA) (yes, batteries, not li-ion accumulators!) (for example ultimate lithium energizer, also could be found lithium batteries from other vendors), because Alkaline (LR6 for AA) will be frozen and loose their capacity heavily. If i remember it is >50% at -10 C and death at -20 C. Same problem for li-ion accumulators - when liquid is frozen - electrons are stucked...
      Also would be great to add some link about battery/accumulator types, advanteges and disadvantages, but i have no links in english, easy-to-read and in one place...

      But i have very great link about battery-powering that really should be added here, but in advanced section:
      http://www.gammon.com.au/power

      @zboblamont how your alkaline batteries experience after 2 years(temperatures, lasting time)? my freshly installed (yes, it was long develop and test...) Lithium AA - when few weeks ago it was -20 .. stopped transmitting! Fixed resetting power when it become little warmer. Possibly same problem with 2.7V or exactly there may be wrong BOD...

      skywatchS Offline
      skywatchS Offline
      skywatch
      wrote on last edited by skywatch
      #304

      @nekitoss If I were you I;d reflash the bootloader and chec again. I got my pro mini with ebyte nrf24 to work and register with the gateway all the way down to 1.63V, so somethingi is wrong if you are loosing it at 2.7V (which is also as it happens, a BoD setting for atmel 328p). For the test I used minicore bootloader iwth Bod disabled and 2MHz clock. Bench power supply for the voltage variation.

      N 1 Reply Last reply
      0
      • N nekitoss

        @nekitoss said in 💬 Battery Powered Sensors:

        It would be great to add to this arctle that if you want to be battery powered outdoors with temperature below zero - you have to use lithium batteries (FR6 for AA) (yes, batteries, not li-ion accumulators!) (for example ultimate lithium energizer, also could be found lithium batteries from other vendors), because Alkaline (LR6 for AA) will be frozen and loose their capacity heavily. If i remember it is >50% at -10 C and death at -20 C. Same problem for li-ion accumulators - when liquid is frozen - electrons are stucked...
        Also would be great to add some link about battery/accumulator types, advanteges and disadvantages, but i have no links in english, easy-to-read and in one place...

        But i have very great link about battery-powering that really should be added here, but in advanced section:
        http://www.gammon.com.au/power

        @zboblamont how your alkaline batteries experience after 2 years(temperatures, lasting time)? my freshly installed (yes, it was long develop and test...) Lithium AA - when few weeks ago it was -20 .. stopped transmitting! Fixed resetting power when it become little warmer. Possibly same problem with 2.7V or exactly there may be wrong BOD...

        zboblamontZ Offline
        zboblamontZ Offline
        zboblamont
        wrote on last edited by
        #305

        @nekitoss No problems with alkaline power, 6 - 18 months now on 2xAA down to ca -15c, battery voltage reported ca 2 or 3 times per day.
        I vaguely recall reading an article on lithium and alkaline battery behaviour in extreme cold weather, the alkalines were the better performers.

        Note that the pro-minis here use onboard booster and LDO which provide stable 3.3v all the way down to ca 1.8v battery death, so battery voltage is unrelated to system voltage unlike your setup. They also use rfm69s (433MHz) which are better able to penetrate structural obstacles.
        Bear in mind that if you have comms problems this can substantially reduce battery life as it does not quickly waken, perform the task and go back to deep sleep

        1 Reply Last reply
        0
        • skywatchS Offline
          skywatchS Offline
          skywatch
          wrote on last edited by skywatch
          #306

          @mfalkvidd

          Nice job on updating the infor BTW :)

          1 Reply Last reply
          0
          • Puneit ThukralP Offline
            Puneit ThukralP Offline
            Puneit Thukral
            wrote on last edited by
            #307

            Adding on to this.. If we use a map function to convert the battery level like this, then it shows up as an attribute in HomeAssistant and Homekit

            Map function works and not the percent. The percent always shows as zero in Homekit.
            Hope this helps someone!

            void battery()
            {
              long batteryMillivolts = hwCPUVoltage();
              int batteryV =batteryMillivolts /1000 + 0.5;
              auto batteryLevel = map(batteryV,EMPTY_BATTERY, FULL_BATTERY, 0, 100);
              if (batteryLevel > 100) 
              {batteryLevel=100;}
            
            #ifdef MY_DEBUG
              Serial.print("Battery voltage: ");
              Serial.print(batteryMillivolts / 1000.0);
              Serial.println("V");
              Serial.print("Battery Level ");
              Serial.print(batteryLevel);
              Serial.println(" %");
            #endif
            
              if (oldBatteryLevel != batteryLevel) {
                sendBatteryLevel(batteryLevel);
                send(msgV.set(batteryV,2));
                oldBatteryLevel = batteryLevel;
              }
            }
            

            ![Home Assistant](812c9e02-8b21-44dc-ab8d-04559bf38462-image.png image url)

            IHomeKit

            1 Reply Last reply
            1
            • skywatchS skywatch

              @nekitoss If I were you I;d reflash the bootloader and chec again. I got my pro mini with ebyte nrf24 to work and register with the gateway all the way down to 1.63V, so somethingi is wrong if you are loosing it at 2.7V (which is also as it happens, a BoD setting for atmel 328p). For the test I used minicore bootloader iwth Bod disabled and 2MHz clock. Bench power supply for the voltage variation.

              N Offline
              N Offline
              nekitoss
              wrote on last edited by
              #308

              @skywatch Thank you very much! Your advice helped. Not shure what it was on BOTH devices - my mistake or some corruption of fuses/program.
              On first device (where i found problem) - there were different fuse bits (but according to my eyes BOD was even disabed, but not shure). On the second (where i tested) fuses were checked and were correct. I tried to play with fuses and erase chip... and something strange happened - or chip memory was broken or i can't verify program when box "erase flash and eeprom" is checked... so i took fresh nano, programmed it and resoldered MCU into the second device.
              So both devices now are fixed and tested - both work till ~1.9V.
              Thanks, you saved my brains!

              skywatchS 1 Reply Last reply
              1
              • N nekitoss

                @skywatch Thank you very much! Your advice helped. Not shure what it was on BOTH devices - my mistake or some corruption of fuses/program.
                On first device (where i found problem) - there were different fuse bits (but according to my eyes BOD was even disabed, but not shure). On the second (where i tested) fuses were checked and were correct. I tried to play with fuses and erase chip... and something strange happened - or chip memory was broken or i can't verify program when box "erase flash and eeprom" is checked... so i took fresh nano, programmed it and resoldered MCU into the second device.
                So both devices now are fixed and tested - both work till ~1.9V.
                Thanks, you saved my brains!

                skywatchS Offline
                skywatchS Offline
                skywatch
                wrote on last edited by
                #309

                @nekitoss Yay! :)

                Well done on getting it working!

                1 Reply Last reply
                1
                • G Offline
                  G Offline
                  Gilles BILLARD
                  wrote on last edited by
                  #310

                  Hi from France;
                  I've tried everything I could and no way to put My temp. sensor to deep sleep.
                  so I went back to the very beginning with a bare Pro-Min 3.3v and I tryed this:


                  #include <LowPower.h>
                  void setup() {
                  pinMode(13, OUTPUT);
                  }
                  void loop() {
                  LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
                  digitalWrite(13, HIGH);
                  delay(1000);
                  digitalWrite(13, LOW);
                  }


                  My boad is going to sleep;
                  YEEEESSS ! the pb is NOT comming from the board itself....eating a bunch ou micro amp;
                  Then I've added the minimum requested to make a MySensor extension and I tried this:


                  #define MY_RADIO_NRF24 // Choix du module radio
                  #define MY_RF24_PA_LEVEL (RF24_PA_HIGH) //CHOIX: RF24_PA_MIN; RF24_PA_LOW; RF24_PA_HIGH; RF24_PA_MAX
                  #define RF24_CHANNEL 76
                  #define RF24_DATARATE RF24_250KBPS
                  #include <MySensors.h>
                  #include <LowPower.h>
                  void setup() {
                  pinMode(13, OUTPUT);
                  }
                  void loop() {
                  LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
                  digitalWrite(13, HIGH);
                  delay(1000);
                  digitalWrite(13, LOW);
                  }


                  The boad stays awaken (4 mA current)
                  So may be the problem is comming from LowPower library...
                  I tried this minimal prgm recommended in a tutorial, using MySensors library and SLEEP function:


                  // Enable and select radio type attached
                  #define MY_RADIO_RF24
                  #include <MySensors.h>
                  uint32_t SLEEP_TIME = 900000; // sleep time between reads (in seconds * 1000 )
                  int oldBatteryPcnt = 0;
                  #define FULL_BATTERY 3 // 3V for 2xAA alkaline. Adjust if you use a different battery setup.
                  void setup()
                  {
                  }
                  void presentation()
                  {
                  // Send the sketch version information to the gateway and Controller
                  sendSketchInfo("Battery Meter", "1.0");
                  }
                  void loop()
                  {
                  // get the battery Voltage
                  long batteryMillivolts = hwCPUVoltage();
                  int batteryPcnt = batteryMillivolts / FULL_BATTERY / 1000.0 * 100 + 0.5;
                  if (oldBatteryPcnt != batteryPcnt) {
                  sendBatteryLevel(batteryPcnt);
                  oldBatteryPcnt = batteryPcnt;
                  }
                  sleep(SLEEP_TIME);
                  }


                  NO WAY AGAIN; The board is still eating 4mA all the way long.
                  I'm lost !!!! Please HELP ME ....

                  E 1 Reply Last reply
                  0
                  • G Gilles BILLARD

                    Hi from France;
                    I've tried everything I could and no way to put My temp. sensor to deep sleep.
                    so I went back to the very beginning with a bare Pro-Min 3.3v and I tryed this:


                    #include <LowPower.h>
                    void setup() {
                    pinMode(13, OUTPUT);
                    }
                    void loop() {
                    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
                    digitalWrite(13, HIGH);
                    delay(1000);
                    digitalWrite(13, LOW);
                    }


                    My boad is going to sleep;
                    YEEEESSS ! the pb is NOT comming from the board itself....eating a bunch ou micro amp;
                    Then I've added the minimum requested to make a MySensor extension and I tried this:


                    #define MY_RADIO_NRF24 // Choix du module radio
                    #define MY_RF24_PA_LEVEL (RF24_PA_HIGH) //CHOIX: RF24_PA_MIN; RF24_PA_LOW; RF24_PA_HIGH; RF24_PA_MAX
                    #define RF24_CHANNEL 76
                    #define RF24_DATARATE RF24_250KBPS
                    #include <MySensors.h>
                    #include <LowPower.h>
                    void setup() {
                    pinMode(13, OUTPUT);
                    }
                    void loop() {
                    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
                    digitalWrite(13, HIGH);
                    delay(1000);
                    digitalWrite(13, LOW);
                    }


                    The boad stays awaken (4 mA current)
                    So may be the problem is comming from LowPower library...
                    I tried this minimal prgm recommended in a tutorial, using MySensors library and SLEEP function:


                    // Enable and select radio type attached
                    #define MY_RADIO_RF24
                    #include <MySensors.h>
                    uint32_t SLEEP_TIME = 900000; // sleep time between reads (in seconds * 1000 )
                    int oldBatteryPcnt = 0;
                    #define FULL_BATTERY 3 // 3V for 2xAA alkaline. Adjust if you use a different battery setup.
                    void setup()
                    {
                    }
                    void presentation()
                    {
                    // Send the sketch version information to the gateway and Controller
                    sendSketchInfo("Battery Meter", "1.0");
                    }
                    void loop()
                    {
                    // get the battery Voltage
                    long batteryMillivolts = hwCPUVoltage();
                    int batteryPcnt = batteryMillivolts / FULL_BATTERY / 1000.0 * 100 + 0.5;
                    if (oldBatteryPcnt != batteryPcnt) {
                    sendBatteryLevel(batteryPcnt);
                    oldBatteryPcnt = batteryPcnt;
                    }
                    sleep(SLEEP_TIME);
                    }


                    NO WAY AGAIN; The board is still eating 4mA all the way long.
                    I'm lost !!!! Please HELP ME ....

                    E Offline
                    E Offline
                    evb
                    wrote on last edited by
                    #311

                    @Gilles-BILLARD Using the lowpower lib and mysensors lib together will probably give conflicts, so you should avoid it. MySensors lib implements the same low power tricks.

                    When doing the latest test sketch, are you doing this also with a bare pro-mini 3.3V?
                    So not connected to anything, no radio, no sensor?
                    Try the same latest sketch, but set everything inside the loop() in comment except the sleep line.

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      Gilles BILLARD
                      wrote on last edited by
                      #312

                      Thanks EVB;

                      1. Yes; Last test with a bare pro-mini 3.3v
                      2. I did that...
                      // Enable and select radio type attached
                      #define MY_RADIO_RF24
                      #include <MySensors.h>
                      uint32_t SLEEP_TIME = 900000;  // sleep time between reads (in seconds * 1000 )
                      int oldBatteryPcnt = 0;
                      #define FULL_BATTERY 3 // 3V for 2xAA alkaline. Adjust if you use a different battery setup.
                      void setup()
                      {
                      }
                      void presentation()
                      {
                        // Send the sketch version information to the gateway and Controller
                        sendSketchInfo("Battery Meter", "1.0");
                      }
                      void loop()
                      {
                      //    // get the battery Voltage
                      //    long batteryMillivolts = hwCPUVoltage();
                      //    int batteryPcnt = batteryMillivolts / FULL_BATTERY / 1000.0 * 100 + 0.5;
                      //  
                      //    if (oldBatteryPcnt != batteryPcnt) {
                      //      sendBatteryLevel(batteryPcnt);
                      //      oldBatteryPcnt = batteryPcnt;
                      //  }
                        sleep(SLEEP_TIME);
                      }
                      

                      Again : 4.2mA (no sleep )
                      So sad ! :disappointed_relieved:

                      1 Reply Last reply
                      1
                      • skywatchS Offline
                        skywatchS Offline
                        skywatch
                        wrote on last edited by skywatch
                        #313

                        @Gilles-BILLARD IT took me some time to work it out and get it working.

                        I suggest you install MiniCore library - it is easy to follow simple steps and takes a minute or two.

                        Then burn a bootloader into the atmega, I always use 3.3V, disable BoD and 4MHz or 8MHz internal clock. You can use one arduino to program another or just get a USB programmer from your preferred source (about $2).

                        Once your pro mini is booeloaded and you have your sketch in installed , remove the Power LED (or the series resistor for the LED) and also remove the voltage regulator (or cut the tracks as shown in the battery powered page).

                        You won't get down to <10uA in sleep unless you do all of this.

                        G 1 Reply Last reply
                        0
                        • G Offline
                          G Offline
                          Gilles BILLARD
                          wrote on last edited by Gilles BILLARD
                          #314

                          Thanks Skywatch,
                          My Pro-Mini boards are comming from Aliexpress, so, I was also thinking about the bootloader... what else ?
                          I'll do what you explain ASAP and be back to say what...
                          BTW: I already have cut the tracks powering the LED & regulator

                          1 Reply Last reply
                          0
                          • skywatchS skywatch

                            @Gilles-BILLARD IT took me some time to work it out and get it working.

                            I suggest you install MiniCore library - it is easy to follow simple steps and takes a minute or two.

                            Then burn a bootloader into the atmega, I always use 3.3V, disable BoD and 4MHz or 8MHz internal clock. You can use one arduino to program another or just get a USB programmer from your preferred source (about $2).

                            Once your pro mini is booeloaded and you have your sketch in installed , remove the Power LED (or the series resistor for the LED) and also remove the voltage regulator (or cut the tracks as shown in the battery powered page).

                            You won't get down to <10uA in sleep unless you do all of this.

                            G Offline
                            G Offline
                            Gilles BILLARD
                            wrote on last edited by Gilles BILLARD
                            #315

                            @skywatch NO WAY ! So bad !
                            I burned the MiniCore bootloader quite eazily using a second Pro-Mini loaded with Arduino BootLoader ( juste a file name error; looking for optiboot_flash_atmega328p_UART1_115200_16000000L_B5.hex but only optiboot_flash_atmega328p_UART0_115200_16000000L_B5.hex on the folder, so I just changed 0-->1 in the file name) and the résult was:
                            *
                            avrdude: Version 6.3-20201216
                            Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                            Copyright (c) 2007-2014 Joerg Wunsch

                                 System wide configuration file is "C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/avrdude.conf"
                            
                                 Using Port                    : COM7
                                 Using Programmer              : stk500v1
                                 Overriding Baud Rate          : 19200
                                 AVR Part                      : ATmega328P
                                 Chip Erase delay              : 9000 us
                                 PAGEL                         : PD7
                                 BS2                           : PC2
                                 RESET disposition             : dedicated
                                 RETRY pulse                   : SCK
                                 serial program mode           : yes
                                 parallel program mode         : yes
                                 Timeout                       : 200
                                 StabDelay                     : 100
                                 CmdexeDelay                   : 25
                                 SyncLoops                     : 32
                                 ByteDelay                     : 0
                                 PollIndex                     : 3
                                 PollValue                     : 0x53
                                 Memory Detail                 :
                            
                                                          Block Poll               Page                       Polled
                                   Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
                                   ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
                                   eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                   flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                   lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                   hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                   efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                   lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                   calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                   signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                            
                                 Programmer Type : STK500
                                 Description     : Atmel STK500 Version 1.x firmware
                                 Hardware Version: 2
                                 Firmware Version: 1.18
                                 Topcard         : Unknown
                                 Vtarget         : 0.0 V
                                 Varef           : 0.0 V
                                 Oscillator      : Off
                                 SCK period      : 0.1 us
                            

                            avrdude: AVR device initialized and ready to accept instructions

                            Reading | ################################################## | 100% 0.04s

                            avrdude: Device signature = 0x1e950f (probably m328p)
                            avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
                            To disable this feature, specify the -D option.
                            avrdude: erasing chip
                            avrdude: reading input file "C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex"
                            avrdude: writing flash (0 bytes):

                            Writing | ################################################## | 100% 0.00s

                            avrdude: 0 bytes of flash written
                            avrdude: verifying flash memory against C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex:
                            avrdude: load data flash data from input file C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex:
                            avrdude: input file C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex contains 0 bytes
                            avrdude: reading on-chip flash data:

                            Reading | ################################################## | 100% -0.00s

                            avrdude: verifying ...
                            avrdude: 0 bytes of flash verified
                            avrdude: reading input file "0x0f"
                            avrdude: writing lock (1 bytes):

                            Writing | ################################################## | 100% 0.04s

                            avrdude: 1 bytes of lock written
                            avrdude: verifying lock memory against 0x0f:
                            avrdude: load data lock data from input file 0x0f:
                            avrdude: input file 0x0f contains 1 bytes
                            avrdude: reading on-chip lock data:

                            Reading | ################################################## | 100% 0.01s

                            avrdude: verifying ...
                            avrdude: 1 bytes of lock verified

                            avrdude done. Thank you.


                            Then I loaded it with Blink demo...
                            At this point all's OKay. Both Po-Mini are blinking
                            Blink
                            Then I've loaded the 2nd with that:

                            // Enable and select radio type attached
                            #define MY_RADIO_RF24
                            #include <MySensors.h>
                            uint32_t SLEEP_TIME = 4000;  // sleep time (in seconds * 1000 )
                            
                            void setup() 
                            {
                            pinMode(LED_BUILTIN, OUTPUT);
                            }
                            
                            void presentation()
                            {  
                              sendSketchInfo("Test Prgm", "1.0"); // Send the sketch version information to the gateway and Controller
                            }
                            void loop()
                            {
                              digitalWrite(LED_BUILTIN, HIGH);
                            delay(1000);
                              digitalWrite(LED_BUILTIN, LOW);
                            delay(1000);  
                              
                            sleep(SLEEP_TIME);
                            }
                            

                            and...
                            the result is...
                            No blinking
                            NO BLINK
                            (draining more or less 2mA; Varying quickly from 1600uA to 2000uA; I should put a scope probe on that....)

                            YveauxY T 2 Replies Last reply
                            0
                            • G Gilles BILLARD

                              @skywatch NO WAY ! So bad !
                              I burned the MiniCore bootloader quite eazily using a second Pro-Mini loaded with Arduino BootLoader ( juste a file name error; looking for optiboot_flash_atmega328p_UART1_115200_16000000L_B5.hex but only optiboot_flash_atmega328p_UART0_115200_16000000L_B5.hex on the folder, so I just changed 0-->1 in the file name) and the résult was:
                              *
                              avrdude: Version 6.3-20201216
                              Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                              Copyright (c) 2007-2014 Joerg Wunsch

                                   System wide configuration file is "C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/avrdude.conf"
                              
                                   Using Port                    : COM7
                                   Using Programmer              : stk500v1
                                   Overriding Baud Rate          : 19200
                                   AVR Part                      : ATmega328P
                                   Chip Erase delay              : 9000 us
                                   PAGEL                         : PD7
                                   BS2                           : PC2
                                   RESET disposition             : dedicated
                                   RETRY pulse                   : SCK
                                   serial program mode           : yes
                                   parallel program mode         : yes
                                   Timeout                       : 200
                                   StabDelay                     : 100
                                   CmdexeDelay                   : 25
                                   SyncLoops                     : 32
                                   ByteDelay                     : 0
                                   PollIndex                     : 3
                                   PollValue                     : 0x53
                                   Memory Detail                 :
                              
                                                            Block Poll               Page                       Polled
                                     Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
                                     ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
                                     eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                     flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                     lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                     hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                     efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                     lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                     calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                     signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                              
                                   Programmer Type : STK500
                                   Description     : Atmel STK500 Version 1.x firmware
                                   Hardware Version: 2
                                   Firmware Version: 1.18
                                   Topcard         : Unknown
                                   Vtarget         : 0.0 V
                                   Varef           : 0.0 V
                                   Oscillator      : Off
                                   SCK period      : 0.1 us
                              

                              avrdude: AVR device initialized and ready to accept instructions

                              Reading | ################################################## | 100% 0.04s

                              avrdude: Device signature = 0x1e950f (probably m328p)
                              avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
                              To disable this feature, specify the -D option.
                              avrdude: erasing chip
                              avrdude: reading input file "C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex"
                              avrdude: writing flash (0 bytes):

                              Writing | ################################################## | 100% 0.00s

                              avrdude: 0 bytes of flash written
                              avrdude: verifying flash memory against C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex:
                              avrdude: load data flash data from input file C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex:
                              avrdude: input file C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex contains 0 bytes
                              avrdude: reading on-chip flash data:

                              Reading | ################################################## | 100% -0.00s

                              avrdude: verifying ...
                              avrdude: 0 bytes of flash verified
                              avrdude: reading input file "0x0f"
                              avrdude: writing lock (1 bytes):

                              Writing | ################################################## | 100% 0.04s

                              avrdude: 1 bytes of lock written
                              avrdude: verifying lock memory against 0x0f:
                              avrdude: load data lock data from input file 0x0f:
                              avrdude: input file 0x0f contains 1 bytes
                              avrdude: reading on-chip lock data:

                              Reading | ################################################## | 100% 0.01s

                              avrdude: verifying ...
                              avrdude: 1 bytes of lock verified

                              avrdude done. Thank you.


                              Then I loaded it with Blink demo...
                              At this point all's OKay. Both Po-Mini are blinking
                              Blink
                              Then I've loaded the 2nd with that:

                              // Enable and select radio type attached
                              #define MY_RADIO_RF24
                              #include <MySensors.h>
                              uint32_t SLEEP_TIME = 4000;  // sleep time (in seconds * 1000 )
                              
                              void setup() 
                              {
                              pinMode(LED_BUILTIN, OUTPUT);
                              }
                              
                              void presentation()
                              {  
                                sendSketchInfo("Test Prgm", "1.0"); // Send the sketch version information to the gateway and Controller
                              }
                              void loop()
                              {
                                digitalWrite(LED_BUILTIN, HIGH);
                              delay(1000);
                                digitalWrite(LED_BUILTIN, LOW);
                              delay(1000);  
                                
                              sleep(SLEEP_TIME);
                              }
                              

                              and...
                              the result is...
                              No blinking
                              NO BLINK
                              (draining more or less 2mA; Varying quickly from 1600uA to 2000uA; I should put a scope probe on that....)

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

                              @Gilles-BILLARD from the photos it seems you didn't connect a radio. If that is the case, the loop will not be entered and your arduino won't sleep!

                              http://yveaux.blogspot.nl

                              G 1 Reply Last reply
                              2
                              • YveauxY Yveaux

                                @Gilles-BILLARD from the photos it seems you didn't connect a radio. If that is the case, the loop will not be entered and your arduino won't sleep!

                                G Offline
                                G Offline
                                Gilles BILLARD
                                wrote on last edited by
                                #317

                                @Yveaux
                                YESSSSSS !<
                                That was the last problèm to solve.
                                Back with my own MySensors routine all is perfect ! (8uA in sleep mode)
                                I am very happy now and I thank all those who assisted me.
                                You've made my day !
                                Gilles

                                skywatchS 1 Reply Last reply
                                1
                                • G Gilles BILLARD

                                  @Yveaux
                                  YESSSSSS !<
                                  That was the last problèm to solve.
                                  Back with my own MySensors routine all is perfect ! (8uA in sleep mode)
                                  I am very happy now and I thank all those who assisted me.
                                  You've made my day !
                                  Gilles

                                  skywatchS Offline
                                  skywatchS Offline
                                  skywatch
                                  wrote on last edited by
                                  #318

                                  @Gilles-BILLARD @Yveaux beat me to it! - But I bet you are a very happy person after that - it is easy when you know how! :)

                                  1 Reply Last reply
                                  1
                                  • G Gilles BILLARD

                                    @skywatch NO WAY ! So bad !
                                    I burned the MiniCore bootloader quite eazily using a second Pro-Mini loaded with Arduino BootLoader ( juste a file name error; looking for optiboot_flash_atmega328p_UART1_115200_16000000L_B5.hex but only optiboot_flash_atmega328p_UART0_115200_16000000L_B5.hex on the folder, so I just changed 0-->1 in the file name) and the résult was:
                                    *
                                    avrdude: Version 6.3-20201216
                                    Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                                    Copyright (c) 2007-2014 Joerg Wunsch

                                         System wide configuration file is "C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/avrdude.conf"
                                    
                                         Using Port                    : COM7
                                         Using Programmer              : stk500v1
                                         Overriding Baud Rate          : 19200
                                         AVR Part                      : ATmega328P
                                         Chip Erase delay              : 9000 us
                                         PAGEL                         : PD7
                                         BS2                           : PC2
                                         RESET disposition             : dedicated
                                         RETRY pulse                   : SCK
                                         serial program mode           : yes
                                         parallel program mode         : yes
                                         Timeout                       : 200
                                         StabDelay                     : 100
                                         CmdexeDelay                   : 25
                                         SyncLoops                     : 32
                                         ByteDelay                     : 0
                                         PollIndex                     : 3
                                         PollValue                     : 0x53
                                         Memory Detail                 :
                                    
                                                                  Block Poll               Page                       Polled
                                           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
                                           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
                                           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                    
                                         Programmer Type : STK500
                                         Description     : Atmel STK500 Version 1.x firmware
                                         Hardware Version: 2
                                         Firmware Version: 1.18
                                         Topcard         : Unknown
                                         Vtarget         : 0.0 V
                                         Varef           : 0.0 V
                                         Oscillator      : Off
                                         SCK period      : 0.1 us
                                    

                                    avrdude: AVR device initialized and ready to accept instructions

                                    Reading | ################################################## | 100% 0.04s

                                    avrdude: Device signature = 0x1e950f (probably m328p)
                                    avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
                                    To disable this feature, specify the -D option.
                                    avrdude: erasing chip
                                    avrdude: reading input file "C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex"
                                    avrdude: writing flash (0 bytes):

                                    Writing | ################################################## | 100% 0.00s

                                    avrdude: 0 bytes of flash written
                                    avrdude: verifying flash memory against C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex:
                                    avrdude: load data flash data from input file C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex:
                                    avrdude: input file C:\Users\billa\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.1.0/bootloaders/empty/empty.hex contains 0 bytes
                                    avrdude: reading on-chip flash data:

                                    Reading | ################################################## | 100% -0.00s

                                    avrdude: verifying ...
                                    avrdude: 0 bytes of flash verified
                                    avrdude: reading input file "0x0f"
                                    avrdude: writing lock (1 bytes):

                                    Writing | ################################################## | 100% 0.04s

                                    avrdude: 1 bytes of lock written
                                    avrdude: verifying lock memory against 0x0f:
                                    avrdude: load data lock data from input file 0x0f:
                                    avrdude: input file 0x0f contains 1 bytes
                                    avrdude: reading on-chip lock data:

                                    Reading | ################################################## | 100% 0.01s

                                    avrdude: verifying ...
                                    avrdude: 1 bytes of lock verified

                                    avrdude done. Thank you.


                                    Then I loaded it with Blink demo...
                                    At this point all's OKay. Both Po-Mini are blinking
                                    Blink
                                    Then I've loaded the 2nd with that:

                                    // Enable and select radio type attached
                                    #define MY_RADIO_RF24
                                    #include <MySensors.h>
                                    uint32_t SLEEP_TIME = 4000;  // sleep time (in seconds * 1000 )
                                    
                                    void setup() 
                                    {
                                    pinMode(LED_BUILTIN, OUTPUT);
                                    }
                                    
                                    void presentation()
                                    {  
                                      sendSketchInfo("Test Prgm", "1.0"); // Send the sketch version information to the gateway and Controller
                                    }
                                    void loop()
                                    {
                                      digitalWrite(LED_BUILTIN, HIGH);
                                    delay(1000);
                                      digitalWrite(LED_BUILTIN, LOW);
                                    delay(1000);  
                                      
                                    sleep(SLEEP_TIME);
                                    }
                                    

                                    and...
                                    the result is...
                                    No blinking
                                    NO BLINK
                                    (draining more or less 2mA; Varying quickly from 1600uA to 2000uA; I should put a scope probe on that....)

                                    T Offline
                                    T Offline
                                    tssk
                                    wrote on last edited by
                                    #319

                                    @Gilles-BILLARD Damn! Why did I order UNO if I could use another Pro Mini for programming... :)

                                    G 1 Reply Last reply
                                    0
                                    • T tssk

                                      @Gilles-BILLARD Damn! Why did I order UNO if I could use another Pro Mini for programming... :)

                                      G Offline
                                      G Offline
                                      Gilles BILLARD
                                      wrote on last edited by
                                      #320

                                      @tssk My Pro-Mini's are 3.3V, so this way I avoid the resistors dividers wiring to change 5V (Uno) to 3.3 (Pro-Mini);
                                      May be you love creating problems where there are none ;-)

                                      1 Reply Last reply
                                      0
                                      • G Offline
                                        G Offline
                                        Gilles BILLARD
                                        wrote on last edited by Gilles BILLARD
                                        #321

                                        Hy guys; So sorry but the procedure ran just once :-/
                                        When I reproammed my soldred Pro-Minis (via the radio socket + 1 air wire to the reset pin) none was running as expected; The issue was a kind of permanent reboot..????
                                        I tried to burn the MinCore bootloader and load my sketch into several brand new boards and the result was the same...
                                        So I simplified and simplified again the sketches until this one:

                                        
                                        /*This sketch is cycling wether you comment MY-DEBUG.....
                                        SERIAL MONITOR report: 
                                                  2021-04-04 17:20:04.426 Status: MySensors: Node: 20, Sketch Name: Temperature Sensor Test
                                                  2021-04-04 17:20:04.426 Status: MySensors: Node: 20, Sketch Version: G.B.
                                                  2021-04-04 17:20:15.378 (GiBi-Home) Temp (Temptest)
                                                  2021-04-04 17:20:15.368 Status: MySensors: Node: 20, Sketch Name: Temperature Sensor Test
                                                  2021-04-04 17:20:15.368 Status: MySensors: Node: 20, Sketch Version: G.B.
                                                  .
                                                  .
                                                  .
                                                  
                                        ......or running as it should do if you uncomment MY-DEBUG
                                        SERIAL MONITOR report: 
                                                  2021-04-04 17:22:52.558 Status: MySensors: Node: 20, Sketch Name: Temperature Sensor Test
                                                  2021-04-04 17:22:52.558 Status: MySensors: Node: 20, Sketch Version: G.B.
                                                  2021-04-04 17:23:02.654 (GiBi-Home) Temp (Temptest)
                                                  2021-04-04 17:23:12.717 (GiBi-Home) Temp (Temptest)
                                                  2021-04-04 17:23:22.781 (GiBi-Home) Temp (Temptest)
                                                  .
                                                  .
                                                  .
                                        NOTA: wether bootLoader is ordinary AVR bootloader or MiniCore's one
                                         */
                                        
                                        //#define MY_DEBUG 
                                        
                                        #define MY_RADIO_RF24
                                        #include <MySensors.h>  
                                        
                                        
                                        #include <DallasTemperature.h>
                                        #include <OneWire.h>
                                        #define ONE_WIRE_BUS 3 // Pin E/S de mesure 
                                        OneWire oneWire(ONE_WIRE_BUS); // Instanciation du OneWire 
                                        DallasTemperature sensors(&oneWire); // Passage de l'instance du OneWire à Dallas Temperature.
                                        
                                        
                                        MyMessage msg(0,V_TEMP); // Init temp msg
                                        
                                        void before()
                                        {
                                            sensors.begin();// démarre le OneWire
                                        }
                                        
                                        void setup()  
                                        {  
                                        }
                                        
                                        void presentation() 
                                        {
                                          sendSketchInfo("Temperature Sensor Test", "GB.1.0");
                                          present(0, S_TEMP);
                                        }
                                        
                                        void loop()     
                                        {     
                                            float (temperature) = sensors.getTempCByIndex(0);   // acquisition du résultat
                                            temperature = float(int(temperature * 10)) / 10;    // cast pour 1 seul chiffre après la virgule
                                            send(msg.setSensor(0).set(temperature,1)); 
                                            sensors.requestTemperatures(); // ordre de mesure  
                                            // ************Sleeping test ***************
                                            #ifdef MY_DEBUG 
                                                delay(10000); // 10 secondes
                                            #else
                                                sleep(10000);
                                            #endif    
                                        }
                                        

                                        and then this one

                                        // Simplest test to to highlight my problèm
                                        // Ordinary delay function used on DEBUG
                                        // Sleep is used without DEBUG
                                        // Successiv Serial prints should be printed if loop entered
                                        //************************************************
                                        /*
                                         Without DEBUG Serial monitor screen copy
                                         
                                         ⸮⸮ `_⸮       ⸮ߟ⸮
                                        ⸮  ⸮o  ⸮⸮   ⸮/ _⸮⸮⸮` ⸮⸮⸮ ⸮ ⸮⸮ `ߟ⸮  ⸮⸮⸮  ⸮ ⸮⸮`⸮⸮⸮
                                        ⸮ ⸮⸮/⸮ ⸮ ⸮ ⸮ ⸮_⸮⸮ ⸮ / ⸮ ⸮ `⸮ ⸮/ ⸮⸮⸮/ ⸮`⸮⸮ ⸮⸮⸮/ ⸮⸮⸮
                                        ⸮ ⸮  ⸮`⸮ ⸮⸮⸮ ⸮⸮⸮⸮⸮ ⸮  ⸮⸮/`⸮ ⸮ ⸮⸮⸮ ⸮ `⸮  ⸮ ⸮ `⸮⸮⸮`⸮
                                        ⸮⸮⸮  ⸮_⸮⸮⸮⸮, |⸮_⸮⸮/ ⸮⸮ߟ⸮⸮⸮ ⸮⸮⸮_⸮⸮/⸮⸮⸮_/⸮⸮⸮  ⸮⸮⸮⸮/
                                                ⸮⸮ߟ/`                    `2.3.2
                                        
                                        ⸮é⸮u⸮ ⸮⸮ ⸮⸮⸮⸮
                                        :. 
                                         ⸮⸮  ⸮⸮       ⸮ߟ⸮
                                        ⸮  ⸮/  ⸮⸮   ⸮/ ⸮⸮⸮⸮  ⸮⸮⸮ ⸮ ⸮⸮  ߟ⸮  ⸮⸮⸮  ⸮ ⸮⸮ ⸮_⸮
                                        ⸮ ⸮⸮/⸮ ⸮ ⸮`⸮ ܟ⸮⸮ ⸮ / ⸮ ⸮ ⸮⸮`⸮/`⸮⸮⸮/ ⸮ ⸮⸮ ⸮ߟ/ ⸮⸮⸮
                                        ⸮`⸮ `⸮`⸮ ⸮⸮⸮ ⸮⸮⸮⸮⸮ ⸮ `ߟ/ ⸮`⸮`ܟ⸮ ⸮ `⸮` ⸮ ⸮  ܟ⸮ ⸮
                                        ⸮⸮⸮ `⸮⸮⸮⸮⸮⸮, ⸮⸮⸮⸮⸮/ ⸮⸮ߟ⸮⸮⸮ ⸮⸮⸮⸮ߟ/ܟ⸮⸮o⸮⸮⸮` ⸮⸮⸮⸮o
                                         `  ` ` ⸮⸮ߟo`` `  `  `  ``        2.3.2
                                        
                                        ⸮⸮i⸮⸮⸮`⸮⸮`⸮⸮⸮⸮
                                        :. 
                                         ⸮⸮  ⸮⸮       ⸮⸮⸮⸮
                                        ⸮  ⸮/` ⸮⸮ ` ⸮/ ⸮ߟ⸮  ⸮⸮⸮`⸮ ߟ `⸮ߟ `⸮⸮⸮ `⸮`⸮⸮ ⸮ߟ
                                        ⸮ ⸮⸮/⸮ ⸮ ⸮ ⸮ ⸮ߟ⸮ ⸮ / ⸮ ⸮ ⸮⸮ ⸮o`ߟ⸮/`⸮`⸮⸮ ⸮ߟo ⸮⸮⸮
                                        ⸮`⸮  ⸮ ⸮ ⸮⸮⸮ ⸮_⸮⸮⸮`⸮``⸮⸮/`⸮ ⸮ ⸮⸮⸮ ⸮ `⸮` ⸮`⸮ `⸮ߟ`⸮
                                        ⸮⸮⸮` ⸮⸮⸮⸮ߟl`⸮⸮⸮⸮⸮o`⸮ߟ⸮⸮⸮⸮ ⸮⸮⸮ߟ⸮/⸮⸮⸮⸮o⸮⸮⸮ `⸮⸮⸮⸮/
                                         `      ⸮⸮⸮⸮/   `   ``` ```        2.3.r
                                        
                                        etc....
                                        *******************************************************
                                        * With DEBUG Serial monitor screen copy
                                         
                                         ⸮⸮  ⸮⸮       ⸮⸮⸮⸮
                                        ⸮  ⸮/  ⸮⸮`  ⸮/ ⸮⸮⸮⸮  ߟ⸮`⸮ ⸮⸮` ⸮⸮⸮  ߟ⸮` ⸮ ⸮⸮`⸮⸮⸮
                                        ⸮ ⸮⸮o⸮ ⸮ ⸮ ⸮ ⸮_⸮⸮ \ / ⸮ ⸮ ⸮_ ⸮/ ⸮⸮⸮/ ⸮ ⸮| ⸮⸮⸮o ⸮⸮⸮
                                        ⸮ ⸮` ⸮`⸮ ⸮⸮⸮ ⸮⸮_⸮⸮ ⸮  ⸮⸮/ ⸮ ⸮ ⸮⸮⸮`⸮  ⸮ `⸮`⸮` ⸮ߟ ⸮
                                        ⸮⸮⸮` ⸮⸮⸮ܟ⸮,`⸮⸮ߟ⸮o ⸮ߟ⸮⸮⸮⸮`⸮⸮⸮⸮⸮⸮/\⸮⸮⸮o⸮⸮⸮` ⸮ߟ⸮/
                                                ⸮ߟ⸮/ ` ` `                2.3.2
                                        
                                        16 ̓⸮:⸮⸮⸮:⸮Ή⸮`⸮⸮⸮⸮,⸮⸮=⸮Ύ΁---,⸮Q=8,⸮⸮⸮=2u5,⸮E⸮=2.3.2
                                        28 ⸮⸮⸮:⸮⸮⸮⸮
                                        28 T⸮⸮:⸮⸮⸮:⸮⸮=0
                                        s6`⸮⸮⸮:⸮Ή⸮:⸮Ӑ ⸮⸮
                                        38`⸮⸮⸮:⸮I⸮:⸮K,⸮D=25
                                        40 ⸮⸮⸮z⸮Ё⸮
                                        45 ?⸮⸮⸮z⸮⸮⸮:⸮⸮⸮⸮,25-25-255-255,⸮=255,⸮=3,⸮=7,⸮t=0,l=0,⸮⸮}0l⸮⸮}0,⸮⸮=⸮⸮:
                                        10t0`ԓ⸮:⸮⸮⸮:⸮⸮⸮⸮,0-0-25,⸮=255,⸮}3,⸮=x,⸮⸮=1,⸮=1,sg=0:0
                                        1046 T⸮⸮:⸮⸮⸮:⸮⸮⸮R ⸮⸮,Ʉ=0,⸮=1
                                        20u4 ⸮⸮⸮:⸮Ё⸮zϋ
                                        2054 ⸮S⸮:⸮⸮
                                        2056 ⸮⸮⸮:⸮⸮:⸮⸮
                                        2058 ԓ⸮:⸮Ќ
                                        2064 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255l⸮=s,⸮}24l⸮⸮=1,⸮=q,⸮⸮=0,⸮⸮=0l⸮⸮=⸮⸮:1
                                        2076 ⸮⸮⸮:⸮S⸮:⸮⸮⸮⸮,0-0-25,⸮=255l⸮=3,⸮=25,⸮⸮=1,⸮=1,⸮⸮=0:1
                                        2082 ⸮S⸮:⸮⸮⸮:⸮⸮⸮⸮ ⸮⸮C⸮,H⸮=1
                                        2084 ⸮⸮⸮zՐ⸮z⸮⸮
                                        2086 ⸮⸮⸮:⸮⸮⸮ę:⸮⸮=25,⸮⸮⸮=0,⸮⸮⸮=1
                                        2099 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255,⸮=3,t=15,⸮⸮=6,⸮=2,⸮⸮=0,⸮⸮=0,⸮⸮=⸮⸮:0100
                                        2107 ⸮S⸮:⸮Ӈ:⸮Ł⸮,0-0-25,⸮=255,⸮=3,⸮=q5,⸮⸮}6l⸮}2,⸮⸮}0z0q00
                                        2117 ⸮⸮⸮:⸮Ӈ:⸮Ŏ⸮,ru-25-0m0,⸮=255,⸮=0,⸮=17,⸮⸮=0,⸮}5,⸮⸮}p,⸮⸮=p,⸮⸮}⸮⸮:2.3.2
                                        21r9 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255,⸮=3,⸮=6,⸮⸮=1,⸮=1,⸮⸮}0,⸮⸮=0l⸮⸮=⸮⸮:p
                                        2142 ⸮⸮⸮:M⸮⸮:⸮E⸮⸮,p-p-25,⸮=255,⸮}sl⸮}vl⸮⸮}0,⸮=1,s⸮=0:⸮
                                        2154 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=r55,⸮=3,⸮=11,⸮⸮=0,⸮}9,⸮⸮=0l⸮⸮=0,⸮⸮}⸮⸮z⸮⸮⸮⸮ ⸮⸮⸮⸮
                                        r1v6 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25m25-0-0l⸮=r55,⸮=3,⸮=12,pt=0,⸮}6l⸮⸮=p,⸮⸮=0,⸮⸮=⸮⸮:⸮⸮.2np
                                        217t ̓⸮z⸮⸮⸮:⸮⸮Q
                                        2179 ⸮⸮⸮:M⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255,⸮=3,⸮=26,⸮⸮=1,l=1,⸮⸮=0,⸮⸮=0,⸮⸮}ϋ:2
                                        2187 ԓ⸮:͓⸮:⸮Ł⸮,p-0m2u,⸮=25u,⸮}3,⸮=27l⸮⸮=1,l=1,⸮⸮=0z1
                                        r1ys ⸮⸮⸮:Љ⸮z⸮⸮ą`⸮Ň=q
                                        2q97`⸮⸮⸮:⸮G⸮:⸮T⸮
                                        ⸮⸮)⸮⸮⸮ ⸮⸮ ⸮⸮⸮⸮
                                        2199 ̓⸮z‡⸮:⸮⸮⸮T ⸮⸮,⸮⸮⸮=1
                                        :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.
                                         */
                                        
                                        #define MY_DEBUG 
                                        #define MY_RADIO_RF24
                                        #include <MySensors.h>
                                        #include <DallasTemperature.h>
                                        #include <OneWire.h>
                                        
                                        void setup() 
                                        {
                                          Serial.begin(115200);                 
                                          Serial.println ("Début du test"); 
                                        }
                                        
                                        void presentation()
                                        {  
                                          sendSketchInfo("Test Prgm", "GB.2.0"); // Send the sketch version information to the gateway and Controller
                                        }
                                        void loop()
                                        { 
                                        Serial.print (":.");   
                                        #ifdef MY_DEBUG 
                                                delay(10000); // 10 secondes
                                        #else
                                                sleep(10000);
                                        #endif    
                                        }
                                        

                                        I have included the Domoticz log in the 1st one and the serial monitor report for the 2nd.

                                        You can see, if "delay(xxx)" is in use, all's Okay, but if "sleep(xxx) is employed, the sketch is cycling in both sketches....
                                        What is happening?

                                        Prog.setup

                                        Test setup

                                        YveauxY 1 Reply Last reply
                                        0
                                        • G Gilles BILLARD

                                          Hy guys; So sorry but the procedure ran just once :-/
                                          When I reproammed my soldred Pro-Minis (via the radio socket + 1 air wire to the reset pin) none was running as expected; The issue was a kind of permanent reboot..????
                                          I tried to burn the MinCore bootloader and load my sketch into several brand new boards and the result was the same...
                                          So I simplified and simplified again the sketches until this one:

                                          
                                          /*This sketch is cycling wether you comment MY-DEBUG.....
                                          SERIAL MONITOR report: 
                                                    2021-04-04 17:20:04.426 Status: MySensors: Node: 20, Sketch Name: Temperature Sensor Test
                                                    2021-04-04 17:20:04.426 Status: MySensors: Node: 20, Sketch Version: G.B.
                                                    2021-04-04 17:20:15.378 (GiBi-Home) Temp (Temptest)
                                                    2021-04-04 17:20:15.368 Status: MySensors: Node: 20, Sketch Name: Temperature Sensor Test
                                                    2021-04-04 17:20:15.368 Status: MySensors: Node: 20, Sketch Version: G.B.
                                                    .
                                                    .
                                                    .
                                                    
                                          ......or running as it should do if you uncomment MY-DEBUG
                                          SERIAL MONITOR report: 
                                                    2021-04-04 17:22:52.558 Status: MySensors: Node: 20, Sketch Name: Temperature Sensor Test
                                                    2021-04-04 17:22:52.558 Status: MySensors: Node: 20, Sketch Version: G.B.
                                                    2021-04-04 17:23:02.654 (GiBi-Home) Temp (Temptest)
                                                    2021-04-04 17:23:12.717 (GiBi-Home) Temp (Temptest)
                                                    2021-04-04 17:23:22.781 (GiBi-Home) Temp (Temptest)
                                                    .
                                                    .
                                                    .
                                          NOTA: wether bootLoader is ordinary AVR bootloader or MiniCore's one
                                           */
                                          
                                          //#define MY_DEBUG 
                                          
                                          #define MY_RADIO_RF24
                                          #include <MySensors.h>  
                                          
                                          
                                          #include <DallasTemperature.h>
                                          #include <OneWire.h>
                                          #define ONE_WIRE_BUS 3 // Pin E/S de mesure 
                                          OneWire oneWire(ONE_WIRE_BUS); // Instanciation du OneWire 
                                          DallasTemperature sensors(&oneWire); // Passage de l'instance du OneWire à Dallas Temperature.
                                          
                                          
                                          MyMessage msg(0,V_TEMP); // Init temp msg
                                          
                                          void before()
                                          {
                                              sensors.begin();// démarre le OneWire
                                          }
                                          
                                          void setup()  
                                          {  
                                          }
                                          
                                          void presentation() 
                                          {
                                            sendSketchInfo("Temperature Sensor Test", "GB.1.0");
                                            present(0, S_TEMP);
                                          }
                                          
                                          void loop()     
                                          {     
                                              float (temperature) = sensors.getTempCByIndex(0);   // acquisition du résultat
                                              temperature = float(int(temperature * 10)) / 10;    // cast pour 1 seul chiffre après la virgule
                                              send(msg.setSensor(0).set(temperature,1)); 
                                              sensors.requestTemperatures(); // ordre de mesure  
                                              // ************Sleeping test ***************
                                              #ifdef MY_DEBUG 
                                                  delay(10000); // 10 secondes
                                              #else
                                                  sleep(10000);
                                              #endif    
                                          }
                                          

                                          and then this one

                                          // Simplest test to to highlight my problèm
                                          // Ordinary delay function used on DEBUG
                                          // Sleep is used without DEBUG
                                          // Successiv Serial prints should be printed if loop entered
                                          //************************************************
                                          /*
                                           Without DEBUG Serial monitor screen copy
                                           
                                           ⸮⸮ `_⸮       ⸮ߟ⸮
                                          ⸮  ⸮o  ⸮⸮   ⸮/ _⸮⸮⸮` ⸮⸮⸮ ⸮ ⸮⸮ `ߟ⸮  ⸮⸮⸮  ⸮ ⸮⸮`⸮⸮⸮
                                          ⸮ ⸮⸮/⸮ ⸮ ⸮ ⸮ ⸮_⸮⸮ ⸮ / ⸮ ⸮ `⸮ ⸮/ ⸮⸮⸮/ ⸮`⸮⸮ ⸮⸮⸮/ ⸮⸮⸮
                                          ⸮ ⸮  ⸮`⸮ ⸮⸮⸮ ⸮⸮⸮⸮⸮ ⸮  ⸮⸮/`⸮ ⸮ ⸮⸮⸮ ⸮ `⸮  ⸮ ⸮ `⸮⸮⸮`⸮
                                          ⸮⸮⸮  ⸮_⸮⸮⸮⸮, |⸮_⸮⸮/ ⸮⸮ߟ⸮⸮⸮ ⸮⸮⸮_⸮⸮/⸮⸮⸮_/⸮⸮⸮  ⸮⸮⸮⸮/
                                                  ⸮⸮ߟ/`                    `2.3.2
                                          
                                          ⸮é⸮u⸮ ⸮⸮ ⸮⸮⸮⸮
                                          :. 
                                           ⸮⸮  ⸮⸮       ⸮ߟ⸮
                                          ⸮  ⸮/  ⸮⸮   ⸮/ ⸮⸮⸮⸮  ⸮⸮⸮ ⸮ ⸮⸮  ߟ⸮  ⸮⸮⸮  ⸮ ⸮⸮ ⸮_⸮
                                          ⸮ ⸮⸮/⸮ ⸮ ⸮`⸮ ܟ⸮⸮ ⸮ / ⸮ ⸮ ⸮⸮`⸮/`⸮⸮⸮/ ⸮ ⸮⸮ ⸮ߟ/ ⸮⸮⸮
                                          ⸮`⸮ `⸮`⸮ ⸮⸮⸮ ⸮⸮⸮⸮⸮ ⸮ `ߟ/ ⸮`⸮`ܟ⸮ ⸮ `⸮` ⸮ ⸮  ܟ⸮ ⸮
                                          ⸮⸮⸮ `⸮⸮⸮⸮⸮⸮, ⸮⸮⸮⸮⸮/ ⸮⸮ߟ⸮⸮⸮ ⸮⸮⸮⸮ߟ/ܟ⸮⸮o⸮⸮⸮` ⸮⸮⸮⸮o
                                           `  ` ` ⸮⸮ߟo`` `  `  `  ``        2.3.2
                                          
                                          ⸮⸮i⸮⸮⸮`⸮⸮`⸮⸮⸮⸮
                                          :. 
                                           ⸮⸮  ⸮⸮       ⸮⸮⸮⸮
                                          ⸮  ⸮/` ⸮⸮ ` ⸮/ ⸮ߟ⸮  ⸮⸮⸮`⸮ ߟ `⸮ߟ `⸮⸮⸮ `⸮`⸮⸮ ⸮ߟ
                                          ⸮ ⸮⸮/⸮ ⸮ ⸮ ⸮ ⸮ߟ⸮ ⸮ / ⸮ ⸮ ⸮⸮ ⸮o`ߟ⸮/`⸮`⸮⸮ ⸮ߟo ⸮⸮⸮
                                          ⸮`⸮  ⸮ ⸮ ⸮⸮⸮ ⸮_⸮⸮⸮`⸮``⸮⸮/`⸮ ⸮ ⸮⸮⸮ ⸮ `⸮` ⸮`⸮ `⸮ߟ`⸮
                                          ⸮⸮⸮` ⸮⸮⸮⸮ߟl`⸮⸮⸮⸮⸮o`⸮ߟ⸮⸮⸮⸮ ⸮⸮⸮ߟ⸮/⸮⸮⸮⸮o⸮⸮⸮ `⸮⸮⸮⸮/
                                           `      ⸮⸮⸮⸮/   `   ``` ```        2.3.r
                                          
                                          etc....
                                          *******************************************************
                                          * With DEBUG Serial monitor screen copy
                                           
                                           ⸮⸮  ⸮⸮       ⸮⸮⸮⸮
                                          ⸮  ⸮/  ⸮⸮`  ⸮/ ⸮⸮⸮⸮  ߟ⸮`⸮ ⸮⸮` ⸮⸮⸮  ߟ⸮` ⸮ ⸮⸮`⸮⸮⸮
                                          ⸮ ⸮⸮o⸮ ⸮ ⸮ ⸮ ⸮_⸮⸮ \ / ⸮ ⸮ ⸮_ ⸮/ ⸮⸮⸮/ ⸮ ⸮| ⸮⸮⸮o ⸮⸮⸮
                                          ⸮ ⸮` ⸮`⸮ ⸮⸮⸮ ⸮⸮_⸮⸮ ⸮  ⸮⸮/ ⸮ ⸮ ⸮⸮⸮`⸮  ⸮ `⸮`⸮` ⸮ߟ ⸮
                                          ⸮⸮⸮` ⸮⸮⸮ܟ⸮,`⸮⸮ߟ⸮o ⸮ߟ⸮⸮⸮⸮`⸮⸮⸮⸮⸮⸮/\⸮⸮⸮o⸮⸮⸮` ⸮ߟ⸮/
                                                  ⸮ߟ⸮/ ` ` `                2.3.2
                                          
                                          16 ̓⸮:⸮⸮⸮:⸮Ή⸮`⸮⸮⸮⸮,⸮⸮=⸮Ύ΁---,⸮Q=8,⸮⸮⸮=2u5,⸮E⸮=2.3.2
                                          28 ⸮⸮⸮:⸮⸮⸮⸮
                                          28 T⸮⸮:⸮⸮⸮:⸮⸮=0
                                          s6`⸮⸮⸮:⸮Ή⸮:⸮Ӑ ⸮⸮
                                          38`⸮⸮⸮:⸮I⸮:⸮K,⸮D=25
                                          40 ⸮⸮⸮z⸮Ё⸮
                                          45 ?⸮⸮⸮z⸮⸮⸮:⸮⸮⸮⸮,25-25-255-255,⸮=255,⸮=3,⸮=7,⸮t=0,l=0,⸮⸮}0l⸮⸮}0,⸮⸮=⸮⸮:
                                          10t0`ԓ⸮:⸮⸮⸮:⸮⸮⸮⸮,0-0-25,⸮=255,⸮}3,⸮=x,⸮⸮=1,⸮=1,sg=0:0
                                          1046 T⸮⸮:⸮⸮⸮:⸮⸮⸮R ⸮⸮,Ʉ=0,⸮=1
                                          20u4 ⸮⸮⸮:⸮Ё⸮zϋ
                                          2054 ⸮S⸮:⸮⸮
                                          2056 ⸮⸮⸮:⸮⸮:⸮⸮
                                          2058 ԓ⸮:⸮Ќ
                                          2064 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255l⸮=s,⸮}24l⸮⸮=1,⸮=q,⸮⸮=0,⸮⸮=0l⸮⸮=⸮⸮:1
                                          2076 ⸮⸮⸮:⸮S⸮:⸮⸮⸮⸮,0-0-25,⸮=255l⸮=3,⸮=25,⸮⸮=1,⸮=1,⸮⸮=0:1
                                          2082 ⸮S⸮:⸮⸮⸮:⸮⸮⸮⸮ ⸮⸮C⸮,H⸮=1
                                          2084 ⸮⸮⸮zՐ⸮z⸮⸮
                                          2086 ⸮⸮⸮:⸮⸮⸮ę:⸮⸮=25,⸮⸮⸮=0,⸮⸮⸮=1
                                          2099 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255,⸮=3,t=15,⸮⸮=6,⸮=2,⸮⸮=0,⸮⸮=0,⸮⸮=⸮⸮:0100
                                          2107 ⸮S⸮:⸮Ӈ:⸮Ł⸮,0-0-25,⸮=255,⸮=3,⸮=q5,⸮⸮}6l⸮}2,⸮⸮}0z0q00
                                          2117 ⸮⸮⸮:⸮Ӈ:⸮Ŏ⸮,ru-25-0m0,⸮=255,⸮=0,⸮=17,⸮⸮=0,⸮}5,⸮⸮}p,⸮⸮=p,⸮⸮}⸮⸮:2.3.2
                                          21r9 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255,⸮=3,⸮=6,⸮⸮=1,⸮=1,⸮⸮}0,⸮⸮=0l⸮⸮=⸮⸮:p
                                          2142 ⸮⸮⸮:M⸮⸮:⸮E⸮⸮,p-p-25,⸮=255,⸮}sl⸮}vl⸮⸮}0,⸮=1,s⸮=0:⸮
                                          2154 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=r55,⸮=3,⸮=11,⸮⸮=0,⸮}9,⸮⸮=0l⸮⸮=0,⸮⸮}⸮⸮z⸮⸮⸮⸮ ⸮⸮⸮⸮
                                          r1v6 ⸮⸮⸮:⸮⸮⸮:⸮⸮⸮⸮,25m25-0-0l⸮=r55,⸮=3,⸮=12,pt=0,⸮}6l⸮⸮=p,⸮⸮=0,⸮⸮=⸮⸮:⸮⸮.2np
                                          217t ̓⸮z⸮⸮⸮:⸮⸮Q
                                          2179 ⸮⸮⸮:M⸮⸮:⸮⸮⸮⸮,25-25-0-0,⸮=255,⸮=3,⸮=26,⸮⸮=1,l=1,⸮⸮=0,⸮⸮=0,⸮⸮}ϋ:2
                                          2187 ԓ⸮:͓⸮:⸮Ł⸮,p-0m2u,⸮=25u,⸮}3,⸮=27l⸮⸮=1,l=1,⸮⸮=0z1
                                          r1ys ⸮⸮⸮:Љ⸮z⸮⸮ą`⸮Ň=q
                                          2q97`⸮⸮⸮:⸮G⸮:⸮T⸮
                                          ⸮⸮)⸮⸮⸮ ⸮⸮ ⸮⸮⸮⸮
                                          2199 ̓⸮z‡⸮:⸮⸮⸮T ⸮⸮,⸮⸮⸮=1
                                          :.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.
                                           */
                                          
                                          #define MY_DEBUG 
                                          #define MY_RADIO_RF24
                                          #include <MySensors.h>
                                          #include <DallasTemperature.h>
                                          #include <OneWire.h>
                                          
                                          void setup() 
                                          {
                                            Serial.begin(115200);                 
                                            Serial.println ("Début du test"); 
                                          }
                                          
                                          void presentation()
                                          {  
                                            sendSketchInfo("Test Prgm", "GB.2.0"); // Send the sketch version information to the gateway and Controller
                                          }
                                          void loop()
                                          { 
                                          Serial.print (":.");   
                                          #ifdef MY_DEBUG 
                                                  delay(10000); // 10 secondes
                                          #else
                                                  sleep(10000);
                                          #endif    
                                          }
                                          

                                          I have included the Domoticz log in the 1st one and the serial monitor report for the 2nd.

                                          You can see, if "delay(xxx)" is in use, all's Okay, but if "sleep(xxx) is employed, the sketch is cycling in both sketches....
                                          What is happening?

                                          Prog.setup

                                          Test setup

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

                                          @Gilles-BILLARD what pro minis are you using? The 3v3 version only goes to 57600 baud, so 115200 is likely too much

                                          http://yveaux.blogspot.nl

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


                                          19

                                          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