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. Development
  3. MYSBootloader 1.3.0-beta.3

MYSBootloader 1.3.0-beta.3

Scheduled Pinned Locked Moved Development
182 Posts 44 Posters 59.4k Views 42 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.
  • G gonzalonal

    @mfalkvidd actually looking at the code of mysbootloder, it does support STK500 protocol. I haven't test if it really works...maybe it doesn't.

    mfalkviddM Offline
    mfalkviddM Offline
    mfalkvidd
    Mod
    wrote on last edited by
    #102

    @gonzalonal it did not a while ago according to this, but that might have changed. Maybe @tekka can shed a light?

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

      @mfalkvidd The most recent MYSBootloader supports OTA and serial uploads via STK500, see here: https://github.com/mysensors/MySensorsBootloaderRF24/tree/development

      mfalkviddM 1 Reply Last reply
      0
      • tekkaT tekka

        @mfalkvidd The most recent MYSBootloader supports OTA and serial uploads via STK500, see here: https://github.com/mysensors/MySensorsBootloaderRF24/tree/development

        mfalkviddM Offline
        mfalkviddM Offline
        mfalkvidd
        Mod
        wrote on last edited by
        #104

        @tekka thanks.
        I did look there, but didn't find anything that I understood was related to serial. I also looked at the list of commit messages but none of them mentions anything about added support.

        Anyway, thanks for clarifying. I'll update the ota page again.

        1 Reply Last reply
        0
        • gohanG Offline
          gohanG Offline
          gohan
          Mod
          wrote on last edited by
          #105

          Does that work for both nrf24 and rfm69?

          1 Reply Last reply
          0
          • J Offline
            J Offline
            jolo
            wrote on last edited by jolo
            #106

            Many thanks for help - today I made it work :) Here are my steps that worked for me:

            • I used MYSController 1.0.0 beta, took bootloader MYSBootloaderV13pre.hex and uploaded to Arduino Mini Pro with AVRDUDESS and USBasp programmer
            • then uploaded serial gateway sketch to another Mini Pro
            • attached nR24L01+ radios to both
            • connected MYSController, configured serial connection and all just started to work
            • then uploaded simple DHT sketch, edited csv file in MYSController and selected it for OTA FW update

            After less than minute new FW was already at the node and it started to send data. I am very happy :) I played with Arduino projects for several years, but this stuff you have made is absolutely amazing! Now time for some real nodes - first one will be stepper controller for telescope focuser.

            0_1501268069710_mysboot.jpg
            0_1501268078807_mysboot2.jpg

            astrojolo.com

            1 Reply Last reply
            3
            • J Offline
              J Offline
              jolo
              wrote on last edited by
              #107

              It still works fine - however I have one more question, maybe stupid :) About RF channels. I use nR24L01+ radios at default channel 76, however for final solution I would like to switch to some higher freq. Does precompiled bootlader work only at this default channel 76? So if I would like to switch to channel 101 I need to compile bootloader with this setting? Or there is some magic behind that makes it work some other way?

              astrojolo.com

              tekkaT 1 Reply Last reply
              0
              • J jolo

                It still works fine - however I have one more question, maybe stupid :) About RF channels. I use nR24L01+ radios at default channel 76, however for final solution I would like to switch to some higher freq. Does precompiled bootlader work only at this default channel 76? So if I would like to switch to channel 101 I need to compile bootloader with this setting? Or there is some magic behind that makes it work some other way?

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

                @jolo Glad to hear that :) re RF24 channel: yes, you need to change and recompile the bootloader for different communication settings. See here: https://github.com/mysensors/MySensorsBootloaderRF24/blob/development/MYSBootloader.c#L45-L51

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  moskovskiy82
                  wrote on last edited by
                  #109

                  Really want to try FOTA with MYSBoatloader but a little bit confused. First - do i have to burn the fuses (i'm using a chinese arduino mini pro 16Mhz) or can simply download MYSBootloader_16MHz.hex from dev brach and i'm good to go?

                  Another thing - i'm using an MQTT gateway attached to RPi3. Don't really want to change the gateway type - so is there a way to do OTA update? I have a spare UNO which i can connect to a notebook.

                  1 Reply Last reply
                  0
                  • gohanG Offline
                    gohanG Offline
                    gohan
                    Mod
                    wrote on last edited by
                    #110

                    It was mentioned in a previous thread that mycontroller can do fota also through mqtt

                    M 1 Reply Last reply
                    0
                    • gohanG gohan

                      It was mentioned in a previous thread that mycontroller can do fota also through mqtt

                      M Offline
                      M Offline
                      moskovskiy82
                      wrote on last edited by moskovskiy82
                      #111

                      @gohan Excellent. Searched through the thread but couldn't find any mentions how it can be done via mqtt What about the fuses?

                      1 Reply Last reply
                      0
                      • gohanG Offline
                        gohanG Offline
                        gohan
                        Mod
                        wrote on last edited by
                        #112

                        Just try using mycontroller, the procedure should be the same as the ethernet gateway

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          moskovskiy82
                          wrote on last edited by
                          #113

                          Yes thank you for the tip! Mycontroller works.
                          For Mini Pro - no fuses are needed. Just download the hex - rename and flash.
                          What about the nano?
                          Looking at boards.txt i see only two difeerences

                          Nano
                          nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
                          nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD

                          Mys
                          proMYSBL.bootloader.low_fuses=0xF7
                          proMYSBL.bootloader.extended_fuses=0x06

                          But at the same time PRO mini is same as nano... So can also flash straight away?

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            moskovskiy82
                            wrote on last edited by
                            #114

                            Nano also doesn't need any fuses. So everything works. Except to begin the flash procedure i have to unplug and plug the node. Is this intended behaviour? Otherwise i only see in MQTT one line of code and no response from node

                            1 Reply Last reply
                            0
                            • gohanG Offline
                              gohanG Offline
                              gohan
                              Mod
                              wrote on last edited by
                              #115

                              Is the node doing any kind of sleep?

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                moskovskiy82
                                wrote on last edited by
                                #116

                                No it's powered off mains so no sleep functions added

                                1 Reply Last reply
                                0
                                • gohanG Offline
                                  gohanG Offline
                                  gohan
                                  Mod
                                  wrote on last edited by
                                  #117

                                  I think you have to issue a reboot node from the mycontroller or myscontroller to have the OTA start

                                  M 1 Reply Last reply
                                  0
                                  • gohanG gohan

                                    I think you have to issue a reboot node from the mycontroller or myscontroller to have the OTA start

                                    M Offline
                                    M Offline
                                    moskovskiy82
                                    wrote on last edited by
                                    #118

                                    @gohan So is it first reboot. Or start flashing - reboot?

                                    J 1 Reply Last reply
                                    0
                                    • gohanG Offline
                                      gohanG Offline
                                      gohan
                                      Mod
                                      wrote on last edited by
                                      #119

                                      You assign firmware to upload to node and then you send a reboot, if I remember correctly

                                      1 Reply Last reply
                                      1
                                      • M moskovskiy82

                                        @gohan So is it first reboot. Or start flashing - reboot?

                                        J Offline
                                        J Offline
                                        jkandasa
                                        Plugin Developer
                                        wrote on last edited by
                                        #120

                                        @moskovskiy82 If you use MyController, Yes, you should assign the firmware for the node and send reboot.

                                        M 1 Reply Last reply
                                        0
                                        • J jkandasa

                                          @moskovskiy82 If you use MyController, Yes, you should assign the firmware for the node and send reboot.

                                          M Offline
                                          M Offline
                                          moskovskiy82
                                          wrote on last edited by moskovskiy82
                                          #121

                                          @jkandasa Thank you!

                                          One more question. Now need to use a 3,3V arduino Pro (chinese version) (Nano and 5V version flashed via the uno without a hitch)

                                          This is what i put into boards.txt The MYSBootloader_8Mhz.hex is from the dev branch

                                          proMYSBL8.name=ATmega328 8Mhz MYSBootloader
                                          
                                          proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
                                          proMYSBL8.upload.tool=avrdude
                                          proMYSBL8.upload.protocol=arduino
                                          proMYSBL8.upload.maximum_size=30720
                                          proMYSBL8.upload.maximum_data_size=2048
                                          proMYSBL8.upload.speed=57600
                                          proMYSBL8.bootloader.tool=avrdude
                                          proMYSBL8.bootloader.low_fuses=0xE2
                                          proMYSBL8.bootloader.high_fuses=0xDA
                                          proMYSBL8.bootloader.extended_fuses=0x06
                                          proMYSBL8.bootloader.unlock_bits=0x3F
                                          proMYSBL8.bootloader.lock_bits=0xFF
                                          proMYSBL8.bootloader.file=MySensors/MYSBootloader_8Mhz.hex
                                          proMYSBL8.build.mcu=atmega328p
                                          proMYSBL8.build.f_cpu=8000000L
                                          proMYSBL8.build.board=AVR_UNO
                                          proMYSBL8.build.core=arduino
                                          proMYSBL8.build.variant=standard
                                          

                                          Tried to flash the mysbootloader but get the following error

                                          C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x06:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE2:m 
                                          
                                          avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
                                                   Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                                                   Copyright (c) 2007-2014 Joerg Wunsch
                                          
                                                   System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
                                          
                                                   Using Port                    : COM7
                                                   Using Programmer              : stk500v1
                                                   Overriding Baud Rate          : 19200
                                                   AVR Part                      : ATmega328P
                                                   Chip Erase delay              : 9000 us
                                                   PAGEL                         : PD7
                                                   BS2                           : PC2
                                                   RESET disposition             : dedicated
                                                   RETRY pulse                   : SCK
                                                   serial program mode           : yes
                                                   parallel program mode         : yes
                                                   Timeout                       : 200
                                                   StabDelay                     : 100
                                                   CmdexeDelay                   : 25
                                                   SyncLoops                     : 32
                                                   ByteDelay                     : 0
                                                   PollIndex                     : 3
                                                   PollValue                     : 0x53
                                                   Memory Detail                 :
                                          
                                                                            Block Poll               Page                       Polled
                                                     Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
                                                     ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
                                                     eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                                     flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                                     lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                                     signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                          
                                                   Programmer Type : STK500
                                                   Description     : Atmel STK500 Version 1.x firmware
                                                   Hardware Version: 2
                                                   Firmware Version: 1.18
                                                   Topcard         : Unknown
                                                   Vtarget         : 0.0 V
                                                   Varef           : 0.0 V
                                                   Oscillator      : Off
                                                   SCK period      : 0.1 us
                                          
                                          avrdude: AVR device initialized and ready to accept instructions
                                          
                                          Reading | ################################################## | 100% 0.03s
                                          
                                          avrdude: Device signature = 0x1e950f (probably m328p)
                                          avrdude: erasing chip
                                          avrdude: reading input file "0x3F"
                                          avrdude: writing lock (1 bytes):
                                          
                                          Writing | ################################################## | 100% 0.01s
                                          
                                          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.01s
                                          
                                          avrdude: verifying ...
                                          avrdude: 1 bytes of lock verified
                                          avrdude: reading input file "0x06"
                                          avrdude: writing efuse (1 bytes):
                                          
                                          Writing |  ***failed;  
                                          ################################################## | 100% 0.07s
                                          
                                          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: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
                                          This behaviour is deprecated and will result in an error in future version
                                          You probably want to use 0xfe instead of 0x06 (double check with your datasheet first).
                                          avrdude: 1 bytes of efuse verified
                                          avrdude: reading input file "0xDA"
                                          avrdude: writing hfuse (1 bytes):
                                          
                                          Writing | ################################################## | 100% 0.01s
                                          
                                          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:
                                          
                                          C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader_8Mhz.hex:i -Ulock:w:0xFF:m 
                                          
                                          avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
                                          Reading | ################################################## | 100% 0.01s
                                                   Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
                                          
                                                   Copyright (c) 2007-2014 Joerg Wunsch
                                          avrdude: verifying ...
                                          
                                          avrdude: 1 bytes of hfuse verified
                                                   System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
                                          avrdude: reading input file "0xE2"
                                          avrdude: writing lfuse (1 bytes):
                                          
                                          Writing | ################################################## | 100% 0.01s
                                          
                                          avrdude: 1 bytes of lfuse written
                                          avrdude: verifying lfuse memory against 0xE2:
                                          avrdude: load data lfuse data from input file 0xE2:
                                          avrdude: input file 0xE2 contains 1 bytes
                                          avrdude: reading on-chip lfuse data:
                                          
                                          Reading | ################################################## | 100% 0.01s
                                          
                                          avrdude: verifying ...
                                          avrdude: 1 bytes of lfuse verified
                                          
                                          avrdude done.  Thank you.
                                          
                                          
                                                   Using Port                    : COM7
                                                   Using Programmer              : stk500v1
                                                   Overriding Baud Rate          : 19200
                                                   AVR Part                      : ATmega328P
                                                   Chip Erase delay              : 9000 us
                                                   PAGEL                         : PD7
                                                   BS2                           : PC2
                                                   RESET disposition             : dedicated
                                                   RETRY pulse                   : SCK
                                                   serial program mode           : yes
                                                   parallel program mode         : yes
                                                   Timeout                       : 200
                                                   StabDelay                     : 100
                                                   CmdexeDelay                   : 25
                                                   SyncLoops                     : 32
                                                   ByteDelay                     : 0
                                                   PollIndex                     : 3
                                                   PollValue                     : 0x53
                                                   Memory Detail                 :
                                          
                                                                            Block Poll               Page                       Polled
                                                     Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
                                                     ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
                                                     eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                                     flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                                     lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                                     calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                                     signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                          
                                                   Programmer Type : STK500
                                                   Description     : Atmel STK500 Version 1.x firmware
                                                   Hardware Version: 2
                                                   Firmware Version: 1.18
                                                   Topcard         : Unknown
                                                   Vtarget         : 0.0 V
                                                   Varef           : 0.0 V
                                                   Oscillator      : Off
                                                   SCK period      : 0.1 us
                                          
                                          avrdude: AVR device initialized and ready to accept instructions
                                          
                                          Reading | ################################################## | 100% 0.02s
                                          
                                          avrdude: Device signature = 0x1e950f (probably m328p)
                                          avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
                                                   To disable this feature, specify the -D option.
                                          avrdude: erasing chip
                                          avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader_8Mhz.hex"
                                          avrdude: writing flash (32754 bytes):
                                          
                                          Writing | ################################################## | 100% 0.00s
                                          
                                          avrdude: 32754 bytes of flash written
                                          avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader_8Mhz.hex:
                                          avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader_8Mhz.hex:
                                          avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/MySensors/MYSBootloader_8Mhz.hex contains 32754 bytes
                                          avrdude: reading on-chip flash data:
                                          
                                          Reading | ################################################## | 100% 0.00s
                                          
                                          avrdude: verifying ...
                                          avrdude: verification error, first mismatch at byte 0x7800
                                                   0x00 != 0x11
                                          avrdude: verification error; content mismatch
                                          
                                          avrdude done.  Thank you.
                                          
                                          Error while burning bootloader.
                                          
                                          
                                          luizrrochaL 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          17

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular