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. Controllers
  3. Windows GUI/Controller for MySensors

Windows GUI/Controller for MySensors

Scheduled Pinned Locked Moved Controllers
myscontrollermysbootloader
486 Posts 101 Posters 348.3k Views 73 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.
  • J Offline
    J Offline
    JoergP
    wrote on last edited by
    #118

    I'm new to MySensors and playing around with this implementation since some weeks. I implemented an interface from serial to MQTT per python and everything is running fine so far. The last days I spend some time with the bootloader (it is a great feature!!!). I created also a python mqtt client that will take care on that.

    I got really crazy the last 2 days with the CRC calculation. I always got a different CRC as as the MYSController. Now I found out, that it seems that the last byte within the HEX file is interpreted as 0xFF instead of the real data. I flashed now one sensor with the MYSController and as I can see in the log-file -> the last byte is read from the HEX as wrong value (0xFF instead of 0x14) -> therefore the HEX file is not flashed correctly (last byte is wrong) -> it seems that this is a bug in MYSController. (I'm using version 0.1.2.278)

    Can you check that please?

    tekkaT 1 Reply Last reply
    0
    • J JoergP

      I'm new to MySensors and playing around with this implementation since some weeks. I implemented an interface from serial to MQTT per python and everything is running fine so far. The last days I spend some time with the bootloader (it is a great feature!!!). I created also a python mqtt client that will take care on that.

      I got really crazy the last 2 days with the CRC calculation. I always got a different CRC as as the MYSController. Now I found out, that it seems that the last byte within the HEX file is interpreted as 0xFF instead of the real data. I flashed now one sensor with the MYSController and as I can see in the log-file -> the last byte is read from the HEX as wrong value (0xFF instead of 0x14) -> therefore the HEX file is not flashed correctly (last byte is wrong) -> it seems that this is a bug in MYSController. (I'm using version 0.1.2.278)

      Can you check that please?

      tekkaT Offline
      tekkaT Offline
      tekka
      Admin
      wrote on last edited by tekka
      #119

      @JoergP Indeed, bug confirmed. There is an error in the block padding code. I will push the update soon. Thanks for reporting!

      1 Reply Last reply
      1
      • C Offline
        C Offline
        cdr
        wrote on last edited by
        #120

        Hello,

        First of all, thanks Tekka for the great MYScontroller!

        I want to get started with the MYSbootloader but I can't get it to work. I've followed each step securely but I never "see" my arduino in MYScontroller after flashing the bootloader. Perhaps I misunderstand the theory behind the bootloader? Maybe the fuses are wrong, I don't know.

        Perhaps someone can reply to the following;

        • Can I just attach a radio module to an Arduino Nano as instructed on the site, clear the eeprom and then burn the bootloader using usbasp? (as instructed in this thread) Or do I need to upload the gateway sketch before burning the bootloader?
        • I have a hard time understanding what the bootloader does, I think it enables low level nrf functionality for OTA and Myscontroller instructions like reboot and clear eeprom etc. But when I upload a sketch does that mean the bootloader inits the nrf first and then the uploaded sketch will just re-init the nrf again?
        • Is there a way to debug the bootloader?

        Have a good laugh if you will at these noob questions, but any help is appreciated :)

        tekkaT 1 Reply Last reply
        0
        • C cdr

          Hello,

          First of all, thanks Tekka for the great MYScontroller!

          I want to get started with the MYSbootloader but I can't get it to work. I've followed each step securely but I never "see" my arduino in MYScontroller after flashing the bootloader. Perhaps I misunderstand the theory behind the bootloader? Maybe the fuses are wrong, I don't know.

          Perhaps someone can reply to the following;

          • Can I just attach a radio module to an Arduino Nano as instructed on the site, clear the eeprom and then burn the bootloader using usbasp? (as instructed in this thread) Or do I need to upload the gateway sketch before burning the bootloader?
          • I have a hard time understanding what the bootloader does, I think it enables low level nrf functionality for OTA and Myscontroller instructions like reboot and clear eeprom etc. But when I upload a sketch does that mean the bootloader inits the nrf first and then the uploaded sketch will just re-init the nrf again?
          • Is there a way to debug the bootloader?

          Have a good laugh if you will at these noob questions, but any help is appreciated :)

          tekkaT Offline
          tekkaT Offline
          tekka
          Admin
          wrote on last edited by
          #121

          @cdr said:

          • Can I just attach a radio module to an Arduino Nano as instructed on the site, clear the eeprom and then burn the bootloader using usbasp? (as instructed in this thread) Or do I need to upload the gateway sketch before burning the bootloader?

          Yes, simply attach the radio and burn the bootloader with the correct fuse settings (see the fuses.txt file in the bootloader directory). If you intend to use MYSController, set AutoID to automatically assign IDs to the nodes.

          • I have a hard time understanding what the bootloader does, I think it enables low level nrf functionality for OTA and Myscontroller instructions like reboot and clear eeprom etc. But when I upload a sketch does that mean the bootloader inits the nrf first and then the uploaded sketch will just re-init the nrf again?

          Yes, that's correct. The bootloader is a small piece of code located at the end of the flash area that is (if the fuses are set accordingly) executed first upon rebooting and allows for low-level OTA updates.

          • Is there a way to debug the bootloader?

          Yes, there are several ways (e.g. visual with LED, serial output, or AVR DebugWire)...you may want to google these topics for further information..

          Have a good laugh if you will at these noob questions, but any help is appreciated :)

          no problem :)

          1 Reply Last reply
          0
          • C Offline
            C Offline
            cdr
            wrote on last edited by
            #122

            Hi tekka,

            Thanks for the response and clarification. I think I need more knowledge about fuses and bootloaders, it could be that the arduino clones are giving me sh&t.

            Looking forward to my success and MYSloader 2.0 ofcourse!

            Thanks again for all your work.

            1 Reply Last reply
            0
            • tekkaT Offline
              tekkaT Offline
              tekka
              Admin
              wrote on last edited by
              #123

              MYSController Version 0.1.2.280 released

              Changelog:

              • Bugfix FW padding (thanks @JoergP)
              • Handler rework
              • Logging format rework
              • Support battery-powered/sleeping nodes
              • Refactoring

              Update via update button in MYSController or download here.

              1 Reply Last reply
              2
              • M Offline
                M Offline
                Mickey
                wrote on last edited by
                #124

                This is the most helpful tool I used since I started messing around with mysensors.

                I hate to nag but this tool source code would be a giant step to someone looking to create a new controller by himself.
                .

                1 Reply Last reply
                0
                • R Offline
                  R Offline
                  robosensor
                  wrote on last edited by
                  #125

                  Hello, how to verify right bootloader is uploaded to arduino?

                  I'm using two Arduino Pro Mini 328 5.0V 16Mhz, one as ArduinoISP programmer and one as sensor node to upload bootloader and firmware.

                  I followed manual (http://forum.mysensors.org/topic/838/windows-gui-controller-for-mysensors/76) step by step.

                  I have tried MYSBootloader.hex coming from latest MYSController 0.1.2.280 and MYSBootloader.hex (1.1) from github with same results.

                  Upload log is here:

                  C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM10 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x06:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xF7:m 
                  
                  avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
                           Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                           Copyright (c) 2007-2009 Joerg Wunsch
                  
                           System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
                  
                           Using Port                    : COM10
                           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.05s
                  
                  avrdude: Device signature = 0x1e950f
                  avrdude: erasing chip
                  avrdude: reading input file "0x3F"
                  avrdude: writing lock (1 bytes):
                  
                  Writing | ################################################## | 100% 0.03s
                  
                  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.02s
                  
                  avrdude: verifying ...
                  avrdude: 1 bytes of lock verified
                  avrdude: reading input file "0x06"
                  avrdude: writing efuse (1 bytes):
                  
                  Writing | ################################################## | 100% 0.02s
                  
                  avrdude: 1 bytes of efuse written
                  avrdude: verifying efuse memory against 0x06:
                  avrdude: load data efuse data from input file 0x06:
                  avrdude: input file 0x06 contains 1 bytes
                  avrdude: reading on-chip efuse data:
                  
                  Reading | ################################################## | 100% 0.01s
                  
                  avrdude: verifying ...
                  avrdude: 1 bytes of efuse verified
                  avrdude: reading input file "0xDA"
                  avrdude: writing hfuse (1 bytes):
                  
                  Writing | ################################################## | 100% 0.03s
                  
                  avrdude: 1 bytes of hfuse written
                  avrdude: verifying hfuse memory against 0xDA:
                  avrdude: load data hfuse data from input file 0xDA:
                  avrdude: input file 0xDA contains 1 bytes
                  avrdude: reading on-chip hfuse data:
                  
                  Reading | ################################################## | 100% 0.02s
                  
                  avrdude: verifying ...
                  avrdude: 1 bytes of hfuse verified
                  avrdude: reading input file "0xF7"
                  avrdude: writing lfuse (1 bytes):
                  
                  C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM10 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex:i -Ulock:w:0x0F:m 
                  
                  avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
                           Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                           Copyright (c) 2007-2009 Joerg Writing | ################################################## | 100% 0.02s
                  
                  avrdude: 1 bytes of lfuse written
                  avrdude: verifying lfuse memory against 0xF7:
                  avrdude: load data lfuse data from input file 0xF7:
                  avrdude: input file 0xF7 contains 1 bytes
                  avrdude: reading on-chip lfuse data:
                  
                  Reading | ################################################## | 100% 0.02s
                  
                  avrdude: verifying ...
                  avrdude: 1 bytes of lfuse verified
                  
                  avrdude done.  Thank you.
                  
                  Wunsch
                  
                           System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
                  
                           Using Port                    : COM10
                           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.06s
                  
                  avrdude: Device signature = 0x1e950f
                  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:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex"
                  avrdude: writing flash (32722 bytes):
                  
                  Writing | ################################################## | 100% -0.00s
                  
                  avrdude: 32722 bytes of flash written
                  avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex:
                  avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex:
                  avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex contains 32722 bytes
                  avrdude: reading on-chip flash data:
                  
                  Reading | ################################################## | 100% 0.02s
                  
                  avrdude: verifying ...
                  avrdude: 32722 bytes of flash verified
                  avrdude: reading input file "0x0F"
                  avrdude: writing lock (1 bytes):
                  
                  Writing | ################################################## | 100% 0.05s
                  
                  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.
                  
                  

                  Fuses looks like right:

                  avrdude: Device signature = 0x1e950f
                  avrdude: safemode: lfuse reads as F7
                  avrdude: safemode: hfuse reads as DA
                  avrdude: safemode: efuse reads as 6
                  

                  MYSController log after node with new bootloader start:

                  14.06.2015 10:14:46	STARTUP	Initialize message logging
                  14.06.2015 10:14:46	STARTUP	MYSController 0.1.2.280
                  14.06.2015 10:14:46	STARTUP	FPC 2.6.4 / Lazarus 1.4
                  14.06.2015 10:14:46	STARTUP	still under development :) tekka 2015
                  14.06.2015 10:14:46	STARTUP	Load INI file...
                  14.06.2015 10:14:46	STARTUP	INI version 0.1.2.280
                  14.06.2015 10:14:46	INFO	*** Logging START ***
                  14.06.2015 10:14:46	VERSION	MYSController 0.1.2.280
                  14.06.2015 10:14:46	STARTUP	INI file loaded
                  14.06.2015 10:14:46	STARTUP	Loading FW repository...
                  14.06.2015 10:14:46	REPO	FW "Blink" loaded. t=10, v=1, blocks=72, crc=0xD098
                  14.06.2015 10:14:46	REPO	FW "TimeReporter" loaded. t=20, v=1, blocks=840, crc=0x4AC5
                  14.06.2015 10:14:46	REPO	FW repository loaded. Items=2
                  14.06.2015 10:14:46	STARTUP	Initialize message types
                  14.06.2015 10:14:46	NODE	New node discovered, node id=0
                  14.06.2015 10:14:46	NODE	New node discovered, node id=255
                  14.06.2015 10:14:49	INFO	Connected to 192.168.0.1:12345
                  14.06.2015 10:14:59	UPDATE	4295098648
                  14.06.2015 10:21:26	CHILD	New child discovered, node id=0, child id=0
                  14.06.2015 10:21:26	RX	0;0;3;0;9;read: 255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
                  14.06.2015 10:21:26	RX	0;0;3;0;9;send: 0-0-255-255 s=255,c=3,t=8,pt=1,l=1,sg=0,st=bc:0
                  14.06.2015 10:21:28	RX	0;0;3;0;9;read: 3-3-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
                  14.06.2015 10:21:28	RX	0;0;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=ok:0
                  14.06.2015 10:21:30	RX	0;0;3;0;9;read: 3-3-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
                  14.06.2015 10:21:30	NODE	New node discovered, node id=3
                  14.06.2015 10:21:30	CHILD	New child discovered, node id=3, child id=internal
                  14.06.2015 10:21:30	TX	3;255;3;0;6;M
                  14.06.2015 10:21:30	RX	3;255;3;0;6;0
                  14.06.2015 10:21:30	RX	0;0;3;0;9;send: 0-0-3-3 s=255,c=3,t=6,pt=0,l=1,sg=0,st=ok:M
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=255,c=3,t=11,pt=0,l=7,sg=0:Balcony
                  14.06.2015 10:21:32	RX	3;255;3;0;11;Balcony
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
                  14.06.2015 10:21:32	RX	3;255;3;0;12;1.0
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=1,c=0,t=16,pt=0,l=20,sg=0:Photoconductive Cel
                  14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=1
                  14.06.2015 10:21:32	DEBUG	Update child id=1, type=LIGHT_LEVEL
                  14.06.2015 10:21:32	RX	3;1;0;0;16;Photoconductive Cell
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=2,c=0,t=6,pt=0,l=3,sg=0:ds0
                  14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=2
                  14.06.2015 10:21:32	DEBUG	Update child id=2, type=TEMP
                  14.06.2015 10:21:32	RX	3;2;0;0;6;ds0
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=3,c=0,t=6,pt=0,l=3,sg=0:ds1
                  14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=3
                  14.06.2015 10:21:32	DEBUG	Update child id=3, type=TEMP
                  14.06.2015 10:21:32	RX	3;3;0;0;6;ds1
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=4,c=0,t=6,pt=0,l=3,sg=0:ds2
                  14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=4
                  14.06.2015 10:21:32	DEBUG	Update child id=4, type=TEMP
                  14.06.2015 10:21:32	RX	3;4;0;0;6;ds2
                  14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=5,c=0,t=6,pt=0,l=3,sg=0:ds3
                  14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=5
                  14.06.2015 10:21:32	DEBUG	Update child id=5, type=TEMP
                  14.06.2015 10:21:32	RX	3;5;0;0;6;ds3
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=6,c=0,t=6,pt=0,l=3,sg=0:ds4
                  14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=6
                  14.06.2015 10:21:33	DEBUG	Update child id=6, type=TEMP
                  14.06.2015 10:21:33	RX	3;6;0;0;6;ds4
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=7,c=0,t=6,pt=0,l=3,sg=0:ds5
                  14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=7
                  14.06.2015 10:21:33	DEBUG	Update child id=7, type=TEMP
                  14.06.2015 10:21:33	RX	3;7;0;0;6;ds5
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=8,c=0,t=6,pt=0,l=3,sg=0:ds6
                  14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=8
                  14.06.2015 10:21:33	DEBUG	Update child id=8, type=TEMP
                  14.06.2015 10:21:33	RX	3;8;0;0;6;ds6
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=9,c=0,t=6,pt=0,l=3,sg=0:ds7
                  14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=9
                  14.06.2015 10:21:33	DEBUG	Update child id=9, type=TEMP
                  14.06.2015 10:21:33	RX	3;9;0;0;6;ds7
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=10,c=0,t=6,pt=0,l=3,sg=0:ds8
                  14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=10
                  14.06.2015 10:21:33	DEBUG	Update child id=10, type=TEMP
                  14.06.2015 10:21:33	RX	3;10;0;0;6;ds8
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=11,c=0,t=6,pt=0,l=3,sg=0:ds9
                  14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=11
                  14.06.2015 10:21:33	DEBUG	Update child id=11, type=TEMP
                  14.06.2015 10:21:33	RX	3;11;0;0;6;ds9
                  14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=1,c=1,t=23,pt=2,l=2,sg=0:49
                  14.06.2015 10:21:33	RX	3;1;1;0;23;49
                  14.06.2015 10:21:36	RX	0;0;3;0;9;read: 3-3-0 s=3,c=1,t=0,pt=7,l=5,sg=0:26.5625
                  14.06.2015 10:21:36	RX	3;3;1;0;0;26.5625
                  14.06.2015 10:21:37	RX	0;0;3;0;9;read: 3-3-0 s=1,c=1,t=23,pt=2,l=2,sg=0:49
                  14.06.2015 10:21:37	RX	3;1;1;0;23;49
                  

                  Node successfully start and connecting to gateway with new bootloader, but then I issue reboot command in MYSController, node hangs up completely, even reset button isn't working. Only power off, then power on helps. Assign firmware isn't working also (nothing happens).

                  tekkaT 1 Reply Last reply
                  0
                  • R robosensor

                    Hello, how to verify right bootloader is uploaded to arduino?

                    I'm using two Arduino Pro Mini 328 5.0V 16Mhz, one as ArduinoISP programmer and one as sensor node to upload bootloader and firmware.

                    I followed manual (http://forum.mysensors.org/topic/838/windows-gui-controller-for-mysensors/76) step by step.

                    I have tried MYSBootloader.hex coming from latest MYSController 0.1.2.280 and MYSBootloader.hex (1.1) from github with same results.

                    Upload log is here:

                    C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM10 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x06:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xF7:m 
                    
                    avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
                             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                             Copyright (c) 2007-2009 Joerg Wunsch
                    
                             System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
                    
                             Using Port                    : COM10
                             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.05s
                    
                    avrdude: Device signature = 0x1e950f
                    avrdude: erasing chip
                    avrdude: reading input file "0x3F"
                    avrdude: writing lock (1 bytes):
                    
                    Writing | ################################################## | 100% 0.03s
                    
                    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.02s
                    
                    avrdude: verifying ...
                    avrdude: 1 bytes of lock verified
                    avrdude: reading input file "0x06"
                    avrdude: writing efuse (1 bytes):
                    
                    Writing | ################################################## | 100% 0.02s
                    
                    avrdude: 1 bytes of efuse written
                    avrdude: verifying efuse memory against 0x06:
                    avrdude: load data efuse data from input file 0x06:
                    avrdude: input file 0x06 contains 1 bytes
                    avrdude: reading on-chip efuse data:
                    
                    Reading | ################################################## | 100% 0.01s
                    
                    avrdude: verifying ...
                    avrdude: 1 bytes of efuse verified
                    avrdude: reading input file "0xDA"
                    avrdude: writing hfuse (1 bytes):
                    
                    Writing | ################################################## | 100% 0.03s
                    
                    avrdude: 1 bytes of hfuse written
                    avrdude: verifying hfuse memory against 0xDA:
                    avrdude: load data hfuse data from input file 0xDA:
                    avrdude: input file 0xDA contains 1 bytes
                    avrdude: reading on-chip hfuse data:
                    
                    Reading | ################################################## | 100% 0.02s
                    
                    avrdude: verifying ...
                    avrdude: 1 bytes of hfuse verified
                    avrdude: reading input file "0xF7"
                    avrdude: writing lfuse (1 bytes):
                    
                    C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM10 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex:i -Ulock:w:0x0F:m 
                    
                    avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
                             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                             Copyright (c) 2007-2009 Joerg Writing | ################################################## | 100% 0.02s
                    
                    avrdude: 1 bytes of lfuse written
                    avrdude: verifying lfuse memory against 0xF7:
                    avrdude: load data lfuse data from input file 0xF7:
                    avrdude: input file 0xF7 contains 1 bytes
                    avrdude: reading on-chip lfuse data:
                    
                    Reading | ################################################## | 100% 0.02s
                    
                    avrdude: verifying ...
                    avrdude: 1 bytes of lfuse verified
                    
                    avrdude done.  Thank you.
                    
                    Wunsch
                    
                             System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
                    
                             Using Port                    : COM10
                             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.06s
                    
                    avrdude: Device signature = 0x1e950f
                    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:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex"
                    avrdude: writing flash (32722 bytes):
                    
                    Writing | ################################################## | 100% -0.00s
                    
                    avrdude: 32722 bytes of flash written
                    avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex:
                    avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex:
                    avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex contains 32722 bytes
                    avrdude: reading on-chip flash data:
                    
                    Reading | ################################################## | 100% 0.02s
                    
                    avrdude: verifying ...
                    avrdude: 32722 bytes of flash verified
                    avrdude: reading input file "0x0F"
                    avrdude: writing lock (1 bytes):
                    
                    Writing | ################################################## | 100% 0.05s
                    
                    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.
                    
                    

                    Fuses looks like right:

                    avrdude: Device signature = 0x1e950f
                    avrdude: safemode: lfuse reads as F7
                    avrdude: safemode: hfuse reads as DA
                    avrdude: safemode: efuse reads as 6
                    

                    MYSController log after node with new bootloader start:

                    14.06.2015 10:14:46	STARTUP	Initialize message logging
                    14.06.2015 10:14:46	STARTUP	MYSController 0.1.2.280
                    14.06.2015 10:14:46	STARTUP	FPC 2.6.4 / Lazarus 1.4
                    14.06.2015 10:14:46	STARTUP	still under development :) tekka 2015
                    14.06.2015 10:14:46	STARTUP	Load INI file...
                    14.06.2015 10:14:46	STARTUP	INI version 0.1.2.280
                    14.06.2015 10:14:46	INFO	*** Logging START ***
                    14.06.2015 10:14:46	VERSION	MYSController 0.1.2.280
                    14.06.2015 10:14:46	STARTUP	INI file loaded
                    14.06.2015 10:14:46	STARTUP	Loading FW repository...
                    14.06.2015 10:14:46	REPO	FW "Blink" loaded. t=10, v=1, blocks=72, crc=0xD098
                    14.06.2015 10:14:46	REPO	FW "TimeReporter" loaded. t=20, v=1, blocks=840, crc=0x4AC5
                    14.06.2015 10:14:46	REPO	FW repository loaded. Items=2
                    14.06.2015 10:14:46	STARTUP	Initialize message types
                    14.06.2015 10:14:46	NODE	New node discovered, node id=0
                    14.06.2015 10:14:46	NODE	New node discovered, node id=255
                    14.06.2015 10:14:49	INFO	Connected to 192.168.0.1:12345
                    14.06.2015 10:14:59	UPDATE	4295098648
                    14.06.2015 10:21:26	CHILD	New child discovered, node id=0, child id=0
                    14.06.2015 10:21:26	RX	0;0;3;0;9;read: 255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
                    14.06.2015 10:21:26	RX	0;0;3;0;9;send: 0-0-255-255 s=255,c=3,t=8,pt=1,l=1,sg=0,st=bc:0
                    14.06.2015 10:21:28	RX	0;0;3;0;9;read: 3-3-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
                    14.06.2015 10:21:28	RX	0;0;3;0;9;send: 0-0-3-3 s=255,c=3,t=8,pt=1,l=1,sg=0,st=ok:0
                    14.06.2015 10:21:30	RX	0;0;3;0;9;read: 3-3-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
                    14.06.2015 10:21:30	NODE	New node discovered, node id=3
                    14.06.2015 10:21:30	CHILD	New child discovered, node id=3, child id=internal
                    14.06.2015 10:21:30	TX	3;255;3;0;6;M
                    14.06.2015 10:21:30	RX	3;255;3;0;6;0
                    14.06.2015 10:21:30	RX	0;0;3;0;9;send: 0-0-3-3 s=255,c=3,t=6,pt=0,l=1,sg=0,st=ok:M
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=255,c=3,t=11,pt=0,l=7,sg=0:Balcony
                    14.06.2015 10:21:32	RX	3;255;3;0;11;Balcony
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
                    14.06.2015 10:21:32	RX	3;255;3;0;12;1.0
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=1,c=0,t=16,pt=0,l=20,sg=0:Photoconductive Cel
                    14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=1
                    14.06.2015 10:21:32	DEBUG	Update child id=1, type=LIGHT_LEVEL
                    14.06.2015 10:21:32	RX	3;1;0;0;16;Photoconductive Cell
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=2,c=0,t=6,pt=0,l=3,sg=0:ds0
                    14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=2
                    14.06.2015 10:21:32	DEBUG	Update child id=2, type=TEMP
                    14.06.2015 10:21:32	RX	3;2;0;0;6;ds0
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=3,c=0,t=6,pt=0,l=3,sg=0:ds1
                    14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=3
                    14.06.2015 10:21:32	DEBUG	Update child id=3, type=TEMP
                    14.06.2015 10:21:32	RX	3;3;0;0;6;ds1
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=4,c=0,t=6,pt=0,l=3,sg=0:ds2
                    14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=4
                    14.06.2015 10:21:32	DEBUG	Update child id=4, type=TEMP
                    14.06.2015 10:21:32	RX	3;4;0;0;6;ds2
                    14.06.2015 10:21:32	RX	0;0;3;0;9;read: 3-3-0 s=5,c=0,t=6,pt=0,l=3,sg=0:ds3
                    14.06.2015 10:21:32	CHILD	New child discovered, node id=3, child id=5
                    14.06.2015 10:21:32	DEBUG	Update child id=5, type=TEMP
                    14.06.2015 10:21:32	RX	3;5;0;0;6;ds3
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=6,c=0,t=6,pt=0,l=3,sg=0:ds4
                    14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=6
                    14.06.2015 10:21:33	DEBUG	Update child id=6, type=TEMP
                    14.06.2015 10:21:33	RX	3;6;0;0;6;ds4
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=7,c=0,t=6,pt=0,l=3,sg=0:ds5
                    14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=7
                    14.06.2015 10:21:33	DEBUG	Update child id=7, type=TEMP
                    14.06.2015 10:21:33	RX	3;7;0;0;6;ds5
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=8,c=0,t=6,pt=0,l=3,sg=0:ds6
                    14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=8
                    14.06.2015 10:21:33	DEBUG	Update child id=8, type=TEMP
                    14.06.2015 10:21:33	RX	3;8;0;0;6;ds6
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=9,c=0,t=6,pt=0,l=3,sg=0:ds7
                    14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=9
                    14.06.2015 10:21:33	DEBUG	Update child id=9, type=TEMP
                    14.06.2015 10:21:33	RX	3;9;0;0;6;ds7
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=10,c=0,t=6,pt=0,l=3,sg=0:ds8
                    14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=10
                    14.06.2015 10:21:33	DEBUG	Update child id=10, type=TEMP
                    14.06.2015 10:21:33	RX	3;10;0;0;6;ds8
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=11,c=0,t=6,pt=0,l=3,sg=0:ds9
                    14.06.2015 10:21:33	CHILD	New child discovered, node id=3, child id=11
                    14.06.2015 10:21:33	DEBUG	Update child id=11, type=TEMP
                    14.06.2015 10:21:33	RX	3;11;0;0;6;ds9
                    14.06.2015 10:21:33	RX	0;0;3;0;9;read: 3-3-0 s=1,c=1,t=23,pt=2,l=2,sg=0:49
                    14.06.2015 10:21:33	RX	3;1;1;0;23;49
                    14.06.2015 10:21:36	RX	0;0;3;0;9;read: 3-3-0 s=3,c=1,t=0,pt=7,l=5,sg=0:26.5625
                    14.06.2015 10:21:36	RX	3;3;1;0;0;26.5625
                    14.06.2015 10:21:37	RX	0;0;3;0;9;read: 3-3-0 s=1,c=1,t=23,pt=2,l=2,sg=0:49
                    14.06.2015 10:21:37	RX	3;1;1;0;23;49
                    

                    Node successfully start and connecting to gateway with new bootloader, but then I issue reboot command in MYSController, node hangs up completely, even reset button isn't working. Only power off, then power on helps. Assign firmware isn't working also (nothing happens).

                    tekkaT Offline
                    tekkaT Offline
                    tekka
                    Admin
                    wrote on last edited by tekka
                    #126

                    @robosensor said:

                    The MYSBootloader.hex file you are flashing has a wrong file size (=32722 bytes) in your post:

                    avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex"
                    avrdude: writing flash (32722 bytes):

                    MYSBootloader 1.1 should have ~2kb

                    From your log I assume, that you flashed the sketch instead of the bootloader.

                    Please pay attention to steps 3 and 13 from the step-by-step manual.

                    R N 3 Replies Last reply
                    0
                    • tekkaT tekka

                      @robosensor said:

                      The MYSBootloader.hex file you are flashing has a wrong file size (=32722 bytes) in your post:

                      avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex"
                      avrdude: writing flash (32722 bytes):

                      MYSBootloader 1.1 should have ~2kb

                      From your log I assume, that you flashed the sketch instead of the bootloader.

                      Please pay attention to steps 3 and 13 from the step-by-step manual.

                      R Offline
                      R Offline
                      robosensor
                      wrote on last edited by
                      #127

                      @tekka I have noticed this, but I thought that this is due to the peculiarities of bootloader upload process (upper end of memory).

                       Directory of C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\MySensors
                      
                      14.06.2015  00:08    <DIR>          .
                      14.06.2015  00:08    <DIR>          ..
                      14.06.2015  09:59             5 548 MYSBootloader.hex
                                     1 File(s)          5 548 bytes
                      

                      For sketch size is too big (32722 bytes), real sketch size is 19928 bytes.

                      In any case, thanks for the help, I'll try to figure it out or try to download it manually using avrdude.

                      1 Reply Last reply
                      0
                      • tekkaT tekka

                        @robosensor said:

                        The MYSBootloader.hex file you are flashing has a wrong file size (=32722 bytes) in your post:

                        avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex"
                        avrdude: writing flash (32722 bytes):

                        MYSBootloader 1.1 should have ~2kb

                        From your log I assume, that you flashed the sketch instead of the bootloader.

                        Please pay attention to steps 3 and 13 from the step-by-step manual.

                        N Offline
                        N Offline
                        NewFolk
                        wrote on last edited by
                        #128

                        @tekka
                        Hello, could you help me with uploading bootloader. I stuck on Step 5 step-by-step manual and get error

                        Arduino: 1.6.4 (Mac OS X), Плата"ATmega328 16Mhz MYSBootloader"
                        avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
                        
                        

                        I`m using 16Mhz pro mini clone and FTDI232

                        tekkaT 1 Reply Last reply
                        0
                        • tekkaT tekka

                          @robosensor said:

                          The MYSBootloader.hex file you are flashing has a wrong file size (=32722 bytes) in your post:

                          avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader.hex"
                          avrdude: writing flash (32722 bytes):

                          MYSBootloader 1.1 should have ~2kb

                          From your log I assume, that you flashed the sketch instead of the bootloader.

                          Please pay attention to steps 3 and 13 from the step-by-step manual.

                          R Offline
                          R Offline
                          robosensor
                          wrote on last edited by robosensor
                          #129

                          @tekka I have googled for [avrdude bootloader "bytes of flash written"] and found many answers about big upload size for bootloader (> 32000 bytes). It seems that big size is the way it should be.

                          I have solved problem. I must power up node with newly burned bootloader but without sensor node firmware and upload firmware using MYSController

                          Incorrect way is: burn bootloader, burn sensor node firmware, powerup sensor.

                          Thank you for great software! :)

                          tekkaT 1 Reply Last reply
                          1
                          • N NewFolk

                            @tekka
                            Hello, could you help me with uploading bootloader. I stuck on Step 5 step-by-step manual and get error

                            Arduino: 1.6.4 (Mac OS X), Плата"ATmega328 16Mhz MYSBootloader"
                            avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
                            
                            

                            I`m using 16Mhz pro mini clone and FTDI232

                            tekkaT Offline
                            tekkaT Offline
                            tekka
                            Admin
                            wrote on last edited by
                            #130

                            @NewFolk You'll need e.g. USBasp or ArduinoISP to flash a new bootloader. If you have a spare Arduino and FTDI232, follow this tutorial to program a new bootloader using the Arduino IDE.

                            Good luck! :)

                            1 Reply Last reply
                            0
                            • R robosensor

                              @tekka I have googled for [avrdude bootloader "bytes of flash written"] and found many answers about big upload size for bootloader (> 32000 bytes). It seems that big size is the way it should be.

                              I have solved problem. I must power up node with newly burned bootloader but without sensor node firmware and upload firmware using MYSController

                              Incorrect way is: burn bootloader, burn sensor node firmware, powerup sensor.

                              Thank you for great software! :)

                              tekkaT Offline
                              tekkaT Offline
                              tekka
                              Admin
                              wrote on last edited by
                              #131

                              @robosensor Yes, the sensor firmware is uploaded OTA via MYSController.

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                mvader
                                wrote on last edited by mvader
                                #132

                                Hi - I need some clarification.
                                I have mysensors connected to my vera lite (working)
                                I bought 3 of the sensebender micro boards and got them talking with the gateway (working)
                                loaded up myscontroller it's running and see the gateway and all 3 nodes.
                                yay!
                                the issue is the sensors are reporting in C instead of F, so i modified the sketch, compiled it, found the hex file (66k)
                                and moved it to the correct folder per instructions.
                                when i says "assign FW" nothing happens.
                                am i understanding correctly that "firmware" is just a compiled sketch?
                                if i need to make changes to my device, is this the correct way?
                                modify sketch - > compile -> move hex to myscontroller folder - > edit firmware_config file -> right click assign fw -> pick new firmware
                                is that correct?
                                nothing is happening for me when i do that..
                                please clarify.
                                thanks!

                                edit: file size says 66k in win7
                                but in the compiler it says
                                Sketch uses 23,724 bytes (77%) of program storage space. Maximum is 30,720 bytes.
                                Global variables use 822 bytes (40%) of dynamic memory, leaving 1,226 bytes for local variables. Maximum is 2,048 bytes.

                                the file i grabbed was SensebenderMicro.cpp.hex

                                tekkaT 1 Reply Last reply
                                0
                                • M mvader

                                  Hi - I need some clarification.
                                  I have mysensors connected to my vera lite (working)
                                  I bought 3 of the sensebender micro boards and got them talking with the gateway (working)
                                  loaded up myscontroller it's running and see the gateway and all 3 nodes.
                                  yay!
                                  the issue is the sensors are reporting in C instead of F, so i modified the sketch, compiled it, found the hex file (66k)
                                  and moved it to the correct folder per instructions.
                                  when i says "assign FW" nothing happens.
                                  am i understanding correctly that "firmware" is just a compiled sketch?
                                  if i need to make changes to my device, is this the correct way?
                                  modify sketch - > compile -> move hex to myscontroller folder - > edit firmware_config file -> right click assign fw -> pick new firmware
                                  is that correct?
                                  nothing is happening for me when i do that..
                                  please clarify.
                                  thanks!

                                  edit: file size says 66k in win7
                                  but in the compiler it says
                                  Sketch uses 23,724 bytes (77%) of program storage space. Maximum is 30,720 bytes.
                                  Global variables use 822 bytes (40%) of dynamic memory, leaving 1,226 bytes for local variables. Maximum is 2,048 bytes.

                                  the file i grabbed was SensebenderMicro.cpp.hex

                                  tekkaT Offline
                                  tekkaT Offline
                                  tekka
                                  Admin
                                  wrote on last edited by
                                  #133

                                  @mvader said:

                                  when i says "assign FW" nothing happens.
                                  am i understanding correctly that "firmware" is just a compiled sketch?
                                  if i need to make changes to my device, is this the correct way?
                                  modify sketch - > compile -> move hex to myscontroller folder - > edit firmware_config file -> right click assign fw -> pick new firmware
                                  is that correct?
                                  nothing is happening for me when i do that..

                                  For OTA updates you need to burn the MYSBootloader (instructions here). Once done, assign FW, reboot node and wait until FW is transferred.

                                  edit: file size says 66k in win7
                                  but in the compiler it says
                                  Sketch uses 23,724 bytes (77%) of program storage space. Maximum is 30,720 bytes.

                                  Yup, because the .hex file is not binary but a hex (hence the suffix) format with headers and checksums.

                                  M 1 Reply Last reply
                                  0
                                  • tekkaT tekka

                                    @mvader said:

                                    when i says "assign FW" nothing happens.
                                    am i understanding correctly that "firmware" is just a compiled sketch?
                                    if i need to make changes to my device, is this the correct way?
                                    modify sketch - > compile -> move hex to myscontroller folder - > edit firmware_config file -> right click assign fw -> pick new firmware
                                    is that correct?
                                    nothing is happening for me when i do that..

                                    For OTA updates you need to burn the MYSBootloader (instructions here). Once done, assign FW, reboot node and wait until FW is transferred.

                                    edit: file size says 66k in win7
                                    but in the compiler it says
                                    Sketch uses 23,724 bytes (77%) of program storage space. Maximum is 30,720 bytes.

                                    Yup, because the .hex file is not binary but a hex (hence the suffix) format with headers and checksums.

                                    M Offline
                                    M Offline
                                    mvader
                                    wrote on last edited by mvader
                                    #134

                                    @tekka said:

                                    @mvader said:

                                    when i says "assign FW" nothing happens.
                                    am i understanding correctly that "firmware" is just a compiled sketch?
                                    if i need to make changes to my device, is this the correct way?
                                    modify sketch - > compile -> move hex to myscontroller folder - > edit firmware_config file -> right click assign fw -> pick new firmware
                                    is that correct?
                                    nothing is happening for me when i do that..

                                    For OTA updates you need to burn the MYSBootloader (instructions here). Once done, assign FW, reboot node and wait until FW is transferred.

                                    edit: file size says 66k in win7
                                    but in the compiler it says
                                    Sketch uses 23,724 bytes (77%) of program storage space. Maximum is 30,720 bytes.

                                    Yup, because the .hex file is not binary but a hex (hence the suffix) format with headers and checksums.

                                    I thought i read those sensebender boards were going to come pre-burned with the MYSBootloader from the mfg? that why you wouldn't need a programmer. i'll check with those folks..

                                    edit: i found where they said it was pre-programmed..

                                    @hek said:

                                    Yes, FTDI, ISCP or over-the-air updates.

                                    It comes pre-programmed with MySensors variant of the DualOptiboot-bootloader.
                                    https://github.com/mysensors/DualOptiboot
                                    Which can take advantage of the extra flash memory to do a safe over-the-air firmware update.
                                    It comes pre-programmed with MySensors variant of the DualOptiboot-bootloader.
                                    https://github.com/mysensors/DualOptiboot
                                    Which can take advantage of the extra flash memory to do a safe over-the-air firmware update.

                                    M 1 Reply Last reply
                                    0
                                    • M mvader

                                      @tekka said:

                                      @mvader said:

                                      when i says "assign FW" nothing happens.
                                      am i understanding correctly that "firmware" is just a compiled sketch?
                                      if i need to make changes to my device, is this the correct way?
                                      modify sketch - > compile -> move hex to myscontroller folder - > edit firmware_config file -> right click assign fw -> pick new firmware
                                      is that correct?
                                      nothing is happening for me when i do that..

                                      For OTA updates you need to burn the MYSBootloader (instructions here). Once done, assign FW, reboot node and wait until FW is transferred.

                                      edit: file size says 66k in win7
                                      but in the compiler it says
                                      Sketch uses 23,724 bytes (77%) of program storage space. Maximum is 30,720 bytes.

                                      Yup, because the .hex file is not binary but a hex (hence the suffix) format with headers and checksums.

                                      I thought i read those sensebender boards were going to come pre-burned with the MYSBootloader from the mfg? that why you wouldn't need a programmer. i'll check with those folks..

                                      edit: i found where they said it was pre-programmed..

                                      @hek said:

                                      Yes, FTDI, ISCP or over-the-air updates.

                                      It comes pre-programmed with MySensors variant of the DualOptiboot-bootloader.
                                      https://github.com/mysensors/DualOptiboot
                                      Which can take advantage of the extra flash memory to do a safe over-the-air firmware update.
                                      It comes pre-programmed with MySensors variant of the DualOptiboot-bootloader.
                                      https://github.com/mysensors/DualOptiboot
                                      Which can take advantage of the extra flash memory to do a safe over-the-air firmware update.

                                      M Offline
                                      M Offline
                                      mvader
                                      wrote on last edited by
                                      #135
                                      This post is deleted!
                                      1 Reply Last reply
                                      0
                                      • G Offline
                                        G Offline
                                        gigaguy
                                        wrote on last edited by gigaguy
                                        #136

                                        I have a some questions. Couldnt find answer anywhere.

                                        If I am using an arduino connected to the serial port on a Raspberry pi (w/openhab) How do I assign fw, reboot, etc?

                                        Do I need to disconnect the GW and use windows temporarily to reboot, update fw? or can I have 2 GW's?

                                        I updated my nano with the MYS bootloader, and after I power it on, it never shows up in MYSController.

                                        1 Reply Last reply
                                        1
                                        • F Offline
                                          F Offline
                                          Fredrik Carlsson
                                          wrote on last edited by
                                          #137

                                          @tekka Hey, it seems like the downloadlink is broken. Can you check?

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


                                          16

                                          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