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.
  • 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
                                        • YveauxY Yveaux

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

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

                                          @Yveaux Yes Yveaux, you're probably righ, but, if I use AVR bootloader and Test Nb 2 the serial monitor says:

                                           
                                           __  __       ____
                                          |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
                                          | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
                                          | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
                                          |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
                                                  |___/                      2.3.2
                                          
                                          16 MCO:BGN:INIT NODE,CP=RNNNA---,FQ=8,REL=255,VER=2.3.2
                                          28 TSM:INIT
                                          28 TSF:WUR:MS=0
                                          36 TSM:INIT:TSP OK
                                          38 TSF:SID:OK,ID=20
                                          40 TSM:FPAR
                                          45 ?TSF:MSG:SEND,20-20-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                                          657 TSF:MSG:READ,0-0-20,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                          663 TSF:MSG:FPAR OK,ID=0,D=1
                                          2054 TSM:FPAR:OK
                                          2054 TSM:ID
                                          2056 TSM:ID:OK
                                          2058 TSM:UPL
                                          2062 TSF:MSG:SEND,20-20-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
                                          2070 TSF:MSG:READ,0-0-20,s=255,c=3,t=25,pt=1,l=1,sg=0:1
                                          2076 TSF:MSG:PONG RECV,HP=1
                                          2080 TSM:UPL:OK
                                          2082 TSM:READY:ID=20,PAR=0,DIS=1
                                          2086 TSF:MSG:SEND,20-20-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                                          2095 TSF:MSG:READ,0-0-20,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                          2105 TSF:MSG:SEND,20-20-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.2
                                          2115 TSF:MSG:SEND,20-20-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
                                          2125 TSF:MSG:READ,0-0-20,s=255,c=3,t=6,pt=0,l=1,sg=0:M
                                          2134 TSF:MSG:SEND,20-20-0-0,s=255,c=3,t=11,pt=0,l=9,sg=0,ft=0,st=OK:Test Prgm
                                          2146 TSF:MSG:SEND,20-20-0-0,s=255,c=3,t=12,pt=0,l=6,sg=0,ft=0,st=OK:GB.2.0
                                          2154 MCO:REG:REQ
                                          2156 TSF:MSG:SEND,20-20-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
                                          2164 TSF:MSG:READ,0-0-20,s=255,c=3,t=27,pt=1,l=1,sg=0:1
                                          2170 MCO:PIM:NODE REG=1
                                          2174 MCO:BGN:STP
                                          Début du test
                                          2177 MCO:BGN:INIT OK,TSP=1
                                          :.:.:.:.:.:.:.:.:.:.:.:.:.:.:. 
                                          

                                          and Domoticz log is:

                                          2021-04-08 08:08:24.328 Status: MySensors: Node: 20, Sketch Name: Test Prgm
                                          2021-04-08 08:08:24.329 Status: MySensors: Node: 20, Sketch Version: GB.2.0
                                          

                                          NB: On the Sérial monitor, only the last line matters

                                          One more point: Once the Pro-Minis are burnt with MiniCore library, I'm not able to revert on standard AVR bootloader; They are somehow bricked on MiniCore bootloader

                                          G skywatchS 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          17

                                          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