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. OpenHardware.io
  3. 💬 My Slim 2AA Battery Node

💬 My Slim 2AA Battery Node

Scheduled Pinned Locked Moved OpenHardware.io
arduinomysensorslow powerbatteryenclosurenrf24l01
27 Posts 17 Posters 9.2k Views 14 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.
  • sundberg84S sundberg84

    @miljume said in 💬 My Slim 2AA Battery Node:

    INPUT_PULLUP

    What kind of sensor do you use? Some sensors have an analog and digital output. The Digital should return either 0V or VCC while the analog returns all analog values between 0V and VCC.

    You could try an external pulldown resistor of 10k to ground if you think the pin is floating.

    Another approach is to elaborate with a photoresistor only and to get a clean 0/1 use an transistor. If the voltage drops to low though for the pin to get a clear 1 (2.4v on 3.3v atmega) you might need a DC/DC step up booster.

    miljumeM Offline
    miljumeM Offline
    miljume
    wrote on last edited by
    #14

    @sundberg84 Thank you for your feedback! I used the design found here so the sensor is OK. I had also tried to use a pulldown resistor but it showed that I had used too low value. When I use 10k as you suggested it worked like a charm, thank you! What I dont understand is why I should need the pulldown resistor in the first place? Shouldn't it be possible to solve that in the software?

    sundberg84S 1 Reply Last reply
    0
    • miljumeM miljume

      @sundberg84 Thank you for your feedback! I used the design found here so the sensor is OK. I had also tried to use a pulldown resistor but it showed that I had used too low value. When I use 10k as you suggested it worked like a charm, thank you! What I dont understand is why I should need the pulldown resistor in the first place? Shouldn't it be possible to solve that in the software?

      sundberg84S Offline
      sundberg84S Offline
      sundberg84
      Hardware Contributor
      wrote on last edited by sundberg84
      #15

      @miljume - I dont think you can solve a floating pin in the software. Im not that experienced with internal pullups either so someone else have to answer that. Good you have it working though!

      Controller: Proxmox VM - Home Assistant
      MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
      MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
      RFLink GW - Arduino Mega + RFLink Shield, 433mhz

      1 Reply Last reply
      1
      • KoreshK Offline
        KoreshK Offline
        Koresh
        Contest Winner
        wrote on last edited by
        #16

        Internal pull-up resistors have 20-50k resistance. It may be not enough.

        1 Reply Last reply
        1
        • B Offline
          B Offline
          buxtronix
          wrote on last edited by
          #17

          For those looking to 3d print a case for this, if you cant find the right sized ducting, I designed one thats unobtrusive:

          https://www.thingiverse.com/thing:2418194

          1 Reply Last reply
          0
          • Aki1988A Offline
            Aki1988A Offline
            Aki1988
            wrote on last edited by Aki1988
            #18

            Hello, i made a few. is someone interested in these nodes in Germany? We switched to an other Home Automation (wife: you can't build something DIY in our house that is so important than a light switch ...) system and so those nodes were never used. All nodes come untested and most of them unflashed. It would be a shame if they would just lay around here. Shipping is on you, the nodes and other s no longer needed (mysensors) stuff is free. Nodes are in Germany, and i will send them via DHL. if you are interested write me a mail to aki1988 (at) me (dot) com - first come first serve.
            Edit: gone

            1 Reply Last reply
            1
            • J Offline
              J Offline
              Johove
              wrote on last edited by Johove
              #19

              I built a couple of these nodes last year, I used 8 MHz internal, fuses off, and a DTH22.
              This a node on a dometizc network, it measures temperatur and internal voltage every 6 minutes, then it deep sleep.
              I can confirm that these nodes last more that a year on 2 aa batteries.

              0_1517680680891_Image.png

              1 Reply Last reply
              0
              • G Offline
                G Offline
                GHoggan
                wrote on last edited by
                #20

                Hello, I placed an order through the openhardware.io website with Itead last night.
                They came back this morning with a ticket saying :
                Your gerber file: 571bf156249971713bb044ea.zip (Normalized Name:A100151928AN_A2AGLF002A.zip) in the order #100151928 is rejected.
                The reason is:
                The Gerber file doesn't have outline layer , please add it and re-upload the new file , thank you.
                Can you please assist as I don't really want to cancel my order.
                Thanks in advance
                Glenn

                1 Reply Last reply
                0
                • joaoabsJ Offline
                  joaoabsJ Offline
                  joaoabs
                  wrote on last edited by
                  #21

                  Hi,

                  This board has an ICSP header. Does it mean that I can use it to burn the bootloader in a new ATMega328 chip?
                  I've been trying to do burn the minicore in a board with all the required capacitors and resistor but without the NRF, but without success...
                  Any idea?

                  Thanks,

                  sundberg84S 1 Reply Last reply
                  0
                  • joaoabsJ joaoabs

                    Hi,

                    This board has an ICSP header. Does it mean that I can use it to burn the bootloader in a new ATMega328 chip?
                    I've been trying to do burn the minicore in a board with all the required capacitors and resistor but without the NRF, but without success...
                    Any idea?

                    Thanks,

                    sundberg84S Offline
                    sundberg84S Offline
                    sundberg84
                    Hardware Contributor
                    wrote on last edited by sundberg84
                    #22

                    @joaoabs - yes!
                    Just as you, I burned it with as few components (like radio) as possible but that worked out for me.

                    Controller: Proxmox VM - Home Assistant
                    MySensors GW: Arduino Uno - W5100 Ethernet, Gw Shield Nrf24l01+ 2,4Ghz
                    MySensors GW: Arduino Uno - Gw Shield RFM69, 433mhz
                    RFLink GW - Arduino Mega + RFLink Shield, 433mhz

                    1 Reply Last reply
                    0
                    • joaoabsJ Offline
                      joaoabsJ Offline
                      joaoabs
                      wrote on last edited by joaoabs
                      #23

                      Hello,

                      I'm sorry to insist on this one, but I'm a bit lost....

                      I could understand that the recommended bootloader is MiniCore. I installed it in my Arduino IDE and after several tries-and-errors I believe I was able to burn the MiniCore bootloader by using an USBasp2 connected to the ICSP on the slim board:

                      /home/jabss/Desktop/arduino-1.8.2/hardware/tools/avr/bin/avrdude -C/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/avrdude.conf -v -patmega328p -cusbasp -Pusb -e -Ulock:w:0x3f:m -Uefuse:w:0xff:m -Uhfuse:w:0xd7:m -Ulfuse:w:0xe2:m 
                      
                      avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
                               Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                               Copyright (c) 2007-2014 Joerg Wunsch
                      
                               System wide configuration file is "/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/avrdude.conf"
                               User configuration file is "/home/jabss/.avrduderc"
                               User configuration file does not exist or is not a regular file, skipping
                      
                               Using Port                    : usb
                               Using Programmer              : usbasp
                               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 : usbasp
                               Description     : USBasp, http://www.fischl.de/usbasp/
                      
                      avrdude: auto set sck period (because given equals null)
                      avrdude: AVR device initialized and ready to accept instructions
                      
                      Reading | ################################################## | 100% 0.00s
                      
                      avrdude: Device signature = 0x1e950f (probably m328p)
                      avrdude: erasing chip
                      avrdude: auto set sck period (because given equals null)
                      avrdude: reading input file "0x3f"
                      avrdude: writing lock (1 bytes):
                      
                      /home/jabss/Desktop/arduino-1.8.2/hardware/tools/avr/bin/avrdude -C/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/avrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/bootloaders/empty/empty.hex:i -Ulock:w:0x0f:m 
                      
                      avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
                               Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                               Copyright (c) 2007-2014 Joerg Wunsch
                      
                               System wide configuration file is "/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/avrdude.conf"
                               User configuration file is "/home/jabss/.avrduderc"
                               User configuration file does not exist or is not a regular file, skipping
                      
                               Using Port                    : usb
                               Using Programmer              : usbasp
                               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 : usbasp
                               Description     : USBasp, http://www.fischl.de/usbasp/
                      
                      avrdude: auto set sck period (because given equals null)
                      Writing | ################################################## | 100% 0.00s
                      
                      avrdude: 1 bytes of lock written
                      avrdude: verifying lock memory against 0x3f:
                      avrdude: load data lock data from input file 0x3f:
                      avrdude: input file 0x3f contains 1 bytes
                      avrdude: reading on-chip lock data:
                      
                      Reading | ################################################## | 100% 0.00s
                      
                      avrdude: verifying ...
                      avrdude: 1 bytes of lock verified
                      avrdude: reading input file "0xff"
                      avrdude: writing efuse (1 bytes):
                      
                      Writing | ################################################## | 100% 0.00s
                      
                      avrdude: 1 bytes of efuse written
                      avrdude: verifying efuse memory against 0xff:
                      avrdude: load data efuse data from input file 0xff:
                      avrdude: input file 0xff contains 1 bytes
                      avrdude: reading on-chip efuse data:
                      
                      Reading | ################################################## | 100% 0.00s
                      
                      avrdude: verifying ...
                      avrdude: 1 bytes of efuse verified
                      avrdude: reading input file "0xd7"
                      avrdude: writing hfuse (1 bytes):
                      
                      Writing | ################################################## | 100% 0.01s
                      
                      avrdude: 1 bytes of hfuse written
                      avrdude: verifying hfuse memory against 0xd7:
                      avrdude: load data hfuse data from input file 0xd7:
                      avrdude: input file 0xd7 contains 1 bytes
                      avrdude: reading on-chip hfuse data:
                      
                      Reading | ################################################## | 100% 0.00s
                      
                      avrdude: verifying ...
                      avrdude: 1 bytes of hfuse verified
                      avrdude: reading input file "0xe2"
                      avrdude: writing lfuse (1 bytes):
                      
                      Writing | ################################################## | 100% 0.00s
                      
                      avrdude: 1 bytes of lfuse written
                      avrdude: verifying lfuse memory against 0xe2:
                      avrdude: load data lfuse data from input file 0xe2:
                      avrdude: input file 0xe2 contains 1 bytes
                      avrdude: reading on-chip lfuse data:
                      
                      Reading | ################################################## | 100% 0.00s
                      
                      avrdude: verifying ...
                      avrdude: 1 bytes of lfuse verified
                      
                      avrdude done.  Thank you.
                      
                      avrdude: AVR device initialized and ready to accept instructions
                      
                      Reading | ################################################## | 100% 0.00s
                      
                      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: auto set sck period (because given equals null)
                      avrdude: reading input file "/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/bootloaders/empty/empty.hex"
                      avrdude: writing flash (2 bytes):
                      
                      Writing | ################################################## | 100% 0.07s
                      
                      avrdude: 2 bytes of flash written
                      avrdude: verifying flash memory against /root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/bootloaders/empty/empty.hex:
                      avrdude: load data flash data from input file /root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/bootloaders/empty/empty.hex:
                      avrdude: input file /root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/bootloaders/empty/empty.hex contains 2 bytes
                      avrdude: reading on-chip flash data:
                      
                      Reading | ################################################## | 100% 0.04s
                      
                      avrdude: verifying ...
                      avrdude: 2 bytes of flash verified
                      avrdude: reading input file "0x0f"
                      avrdude: writing lock (1 bytes):
                      
                      Writing | ################################################## | 100% 0.01s
                      
                      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.00s
                      
                      avrdude: verifying ...
                      avrdude: 1 bytes of lock verified
                      
                      avrdude done.  Thank you.
                      
                      

                      Just for reference, the parameters were:
                      Board: Atmega328
                      Bootloader: No (only worked this way, but still not sure what this means: If is already a bootloader on the chip, or if we want to write a bootloader)
                      Variant: 328P
                      BOD: Disabled
                      Clock: 8Mhz internal (here I think its what we want to configure on the target chip - I wasn't sure what was about because it could also have been the clock frequency of the programmer)
                      Compiler LTO: Disabled
                      Programer: USBASP

                      Anyway, after this supposed success message, I believe I have a MiniCore bootloader in the chip and now it should be able to be programed with the AVRISPMKII (with the usb/serial programing adapter I use to program my mini-pros).

                      However, I'm not able to get it working. Maybe I'm choosing the wrong definitions in the arduino IDE.
                      As board definition, I'm using the same as when burning the bootloader:

                      Board: Atmega328 (from the minicore subset)
                      Bootloader: Yes
                      Variant: 328P
                      BOD: Disabled
                      Clock: 8Mhz internal
                      Compiler LTO: Disabled
                      Programer: AVRISPMKII

                      For instance, to load the ascii table example (for testing purposes), I get this error:

                      Insert Code Build options changed, rebuilding all
                      Sketch uses 2330 bytes (7%) of program storage space. Maximum is 32256 bytes.
                      Global variables use 308 bytes (15%) of dynamic memory, leaving 1740 bytes for local variables. Maximum is 2048 bytes.
                      /home/jabss/Desktop/arduino-1.8.2/hardware/tools/avr/bin/avrdude -C/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/avrdude.conf -v -patmega328p -carduino -P/dev/ttyUSB0 -b38400 -D -Uflash:w:/tmp/arduino_build_636369/ASCIITable.ino.hex:i 
                      
                      avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
                               Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                               Copyright (c) 2007-2014 Joerg Wunsch
                      
                               System wide configuration file is "/root/.arduino15/packages/MiniCore/hardware/avr/2.0.1/avrdude.conf"
                               User configuration file is "/home/jabss/.avrduderc"
                               User configuration file does not exist or is not a regular file, skipping
                      
                               Using Port                    : /dev/ttyUSB0
                               Using Programmer              : arduino
                               Overriding Baud Rate          : 38400
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
                      avrdude: stk500_recv(): programmer is not responding
                      avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
                      
                      avrdude done.  Thank you.
                      
                      Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
                      

                      Any hint on what I may be doing wrong?
                      Thanks,

                      1 Reply Last reply
                      1
                      • I Offline
                        I Offline
                        iteafreely
                        wrote on last edited by
                        #24

                        I just made a new case for a LiFePO4 magnetic sensor implementation of this. Thanks for the excellent work on this handy node design!
                        https://www.thingiverse.com/thing:3034907!

                        a picture

                        1 Reply Last reply
                        0
                        • J Offline
                          J Offline
                          John Oliva
                          wrote on last edited by
                          #25

                          Here is a new enclosure for the My Slim 2AA Battery Node. Not as slim but the overall form factor is still small.
                          https://www.thingiverse.com/thing:3269357

                          1 Reply Last reply
                          0
                          • joaoabsJ Offline
                            joaoabsJ Offline
                            joaoabs
                            wrote on last edited by
                            #26

                            Hi @m26872

                            Congrats for the great and simple design.
                            I've been troubleshooting this slimnode with RFM69 radios and realized that a shunt between RFM69's DIO0 and Mega328's INT0 is required, otherwise the node will not "hear" the gateway. Even if the nrf2rmf69 board is used this shunt is required.
                            It seems this is a re-current issue. Although this may be solved in the PCB2.0 could it be mentioned somewhere in the page above?

                            Thanks and cheers!

                            m26872M 1 Reply Last reply
                            0
                            • joaoabsJ joaoabs

                              Hi @m26872

                              Congrats for the great and simple design.
                              I've been troubleshooting this slimnode with RFM69 radios and realized that a shunt between RFM69's DIO0 and Mega328's INT0 is required, otherwise the node will not "hear" the gateway. Even if the nrf2rmf69 board is used this shunt is required.
                              It seems this is a re-current issue. Although this may be solved in the PCB2.0 could it be mentioned somewhere in the page above?

                              Thanks and cheers!

                              m26872M Offline
                              m26872M Offline
                              m26872
                              Hardware Contributor
                              wrote on last edited by
                              #27

                              @joaoabs said in 💬 My Slim 2AA Battery Node:

                              Thx! Done!

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


                              11

                              Online

                              11.7k

                              Users

                              11.2k

                              Topics

                              113.0k

                              Posts


                              Copyright 2019 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