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.
  • T tssk

    @skywatch said in 💬 Battery Powered Sensors:

    I think you will find that all the 'good stuff' from the low power library is included in mysensors sleep function anyway.

    So when I use sleep() mysensors library overloads the generic arduino sleep?

    I suggest using minicore (it is easy to install and all works from within the arduino IDE you are used to) and set internal oscillator and disable BoD. You will need a programmer (a few dollars) or you can use another arduino as programmer. but that is more time consuming to set up and easier to mess up as well!

    I look at the git repo and I more confused now. I thought it is some kind of bootloader/firmware I flash. What is Arduino core? I never heard that term.

    Good that you got rid of the booster!

    I wonder why the booster is recommended here https://www.mysensors.org/build/battery ? Or did I misinterpreted?

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

    @tssk In following post I have described my adventures in building a battery powered door node : https://forum.mysensors.org/topic/11499/checking-mechanical-locked-doors-by-a-battery-based-windows-door-sensor-node?_=1614421889744
    Search for the section : The battery-based windows/door sensor node : software
    I explain there the use of the minicore package.
    See also the section References at the end for more information about battery powered nodes

    1 Reply Last reply
    0
    • T Offline
      T Offline
      tssk
      wrote on last edited by
      #301

      So I ordered Arduino Uno for programming my Pro Minis. And going to experiment with 2xAA or 3xAA setup without step up booster (they are whining anyway so I will be happy if I get rid of it :)

      Thank everyone for help!

      1 Reply Last reply
      1
      • N Offline
        N Offline
        nekitoss
        wrote on last edited by
        #302

        I have a problem: when batteries go around 2.7V radio will stop transmitting. Board still take current, but no messages.
        I'm using own board with barebone 328p (8mHz internal) and SMD/mini nrf24l01 (pretty shure china)
        Did anyone had same issues?

        I've checked programmaticaly (yes, it is possible!) my fuse bits: Low=0xE2, High=0xD2, Extended=0xFE (0x06)
        (BOD = 1.8V)
        I've have three same boards (water leak) and used other not-yet-installed with specially made low-voltage regulated source (with 2200 uF capacitor and resistor load to eliminate voltage drop at transmission) to test - same result.
        Sometimes i can go lower to 2.5V but not guaranteed, sometimes even corrupted messages (i.e. node id 168 instead 8).
        Tests were without UART, only MYSController to monitor messages flooding each 5sec to approve life.

        Did anyone had same problems with nrf24l01 modules? All i see people say the can go to around 2.0 V.

        According to article https://www.gammon.com.au/power (and datasheet)
        at 8mHz i'm safe down to 2.4V (something like that i also measured)
        nrf should go down to 1.9...

        Also it would be great to add into advanced section possible voltages and problems with NiMh, china modules & 2.7V(if not only me), [not]possible currents from coin cells and metioned article.

        1 Reply Last reply
        0
        • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          18

                                          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