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


                12

                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