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.
  • 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
                                      • n3roN Offline
                                        n3roN Offline
                                        n3ro
                                        wrote on last edited by
                                        #138

                                        i dont understand how to use this...
                                        Can somebody explain it?

                                        pimatic + MySensors + Homeduino + z-way
                                        https://github.com/n3roGit/MySensors_n3ro

                                        1 Reply Last reply
                                        0
                                        • F Fredrik Carlsson

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

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

                                          @Fredrik-Carlsson link works for me (https://goo.gl/48Yn6y)

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


                                          9

                                          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