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. Hardware
  3. OTA flash types for MySensors

OTA flash types for MySensors

Scheduled Pinned Locked Moved Hardware
64 Posts 23 Posters 24.6k Views 20 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.
  • tbowmoT Offline
    tbowmoT Offline
    tbowmo
    Admin
    wrote on last edited by
    #19

    @Dirk_H

    I think that DualOptiboot is writing to the external flash, after a successful upgrade of the internal flash, as it tries to delete the image stored there.

    But I haven't looked that much into the design of dualoptiboot.. Just forked it, and adjusted bits here and there, to be suitable for the sensebender :) So I don't know what commands it uses to erase the data.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      Dirk_H
      Contest Winner
      wrote on last edited by Dirk_H
      #20

      @tbowmo
      I looked at the defines inside the DualOptibootloader, I truly hope that there is no "hardcoded" opcode hidden somewhere... Assuming this, dualoptiboot does not write to the SPIFlash. It does erase, however thats not writing in this scope ;)

      #define SPIFLASH_STATUSWRITE      0x01        // write status register
      #define SPIFLASH_STATUSREAD       0x05        // read status register
      #define SPIFLASH_WRITEENABLE      0x06        // write enable
      #define SPIFLASH_ARRAYREADLOWFREQ 0x03        // read array (low frequency)
      #define SPIFLASH_BLOCKERASE_32K   0x52        // erase one 32K block of flash memory
      #define SPIFLASH_BLOCKERASE_64K   0xD8        // erase one 32K block of flash memory
      #define SPIFLASH_JEDECID          0x9F        // read JEDEC ID
      

      @Koresh please post a link to the datasheet. You can also check on your own: check if your spi-flash supports all commands listed in the SPIFlash.h defines. Of cause obvious things such as pinning and supply voltage range must also be checked.

      A caveeat I fell into, was that opcode 0x02 supports byte and pageprogramming for some SPI-Flash types but not for all (e.g. SST25 does not support pageprogramming but therefore has the AAI Wordprogramming feature).

      1 Reply Last reply
      0
      • scalzS Offline
        scalzS Offline
        scalz
        Hardware Contributor
        wrote on last edited by
        #21

        interesting..on my side I like the AT25DF512 for its voltage range 1.65v min and its low power mode 0.2uA in deepest mode. better for low power batt nodes I think..too bad there is not something like this in i2c format but I guess these flash types prefer faster spi transfer..

        1 Reply Last reply
        1
        • D Offline
          D Offline
          Dirk_H
          Contest Winner
          wrote on last edited by
          #22

          Yes the AT25DF512 seems to outperform other memories and is truly a good chip. However unfortunately its hard to get in Germany (and maybe other parts of the world ;) ). The common distributors here do not have it in stock...

          AWIA 1 Reply Last reply
          1
          • D Dirk_H

            Yes the AT25DF512 seems to outperform other memories and is truly a good chip. However unfortunately its hard to get in Germany (and maybe other parts of the world ;) ). The common distributors here do not have it in stock...

            AWIA Offline
            AWIA Offline
            AWI
            Hero Member
            wrote on last edited by AWI
            #23

            @Dirk_H said:

            AT25DF512
            Hard for me to determine but is this different from AT25F512N?

            D 1 Reply Last reply
            0
            • AWIA AWI

              @Dirk_H said:

              AT25DF512
              Hard for me to determine but is this different from AT25F512N?

              D Offline
              D Offline
              Dirk_H
              Contest Winner
              wrote on last edited by Dirk_H
              #24

              @AWI
              The AT25F512 (from Atmel?) is quiet different from the Adesto AT25DF512. As far as I can see the Atmel one seems not to have a Block erase command (32k/64k), which is used in MySensor AND in Bootloader code.

              If I'm not wrong with that assumption (and I dont think I am), I would NOT recommend to use the Atmel AT25F512.

              To all: please provide links to the Datasheet if you expect help... Its tedious to search them every time. Gulpman did great preparation work in his post above.

              Edit: Never mind what I said in this Post. I got confused with sectors pages and blocks :eyes: ... I'll write some more later.

              1 Reply Last reply
              0
              • tbowmoT Offline
                tbowmoT Offline
                tbowmo
                Admin
                wrote on last edited by
                #25

                @Dirk_H

                It seems that atmel is calling it "Sector erase" instead of "Block erase".

                1 Reply Last reply
                0
                • bjacobseB Offline
                  bjacobseB Offline
                  bjacobse
                  wrote on last edited by
                  #26

                  Hi I just wonder if this Spansion, S25FL208K0RMFI040 could be used?

                  http://www.mouser.com/ds/2/100/S25FL208K_00-933907.pdf

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    Dirk_H
                    Contest Winner
                    wrote on last edited by
                    #27

                    About the AT25F512N wich was proposed by @AWI: tbowmo was right, I got confused by Sector, Page and Block erase. Like tbowmo said atmel does call blocks sectors... The AT25F512 does not support Block Erase 64k, which is defined but AFAIK not used in SPIFlash.cpp BUT it is used in the Bootloader if the "Imagesize" is > 32k. But I dont know how Image size is retrieved. Also I think for an ATMega 328p the image size should never be >32k. So this Flashtype could probably work as long as the image size is below 32k. I'd expect the Bootloader to crash or fail when program size is >32k.

                    About the S25FL... @bjacobse proposed I see the problem that it does not support the Bock Erase 32k opcode which is used in SPIFlash.cpp and Bootloader. Both must be changed when S25FL... should be used. (I would emulate the 32k Block erase by 8 times 4k Block erase.) However remember that Dualoptiboot must also be altered which requires "non-arduino" programming and some work / knowlegde about makefiles / compiler/linker settings in IDE.

                    bjacobseB 1 Reply Last reply
                    1
                    • D Dirk_H

                      About the AT25F512N wich was proposed by @AWI: tbowmo was right, I got confused by Sector, Page and Block erase. Like tbowmo said atmel does call blocks sectors... The AT25F512 does not support Block Erase 64k, which is defined but AFAIK not used in SPIFlash.cpp BUT it is used in the Bootloader if the "Imagesize" is > 32k. But I dont know how Image size is retrieved. Also I think for an ATMega 328p the image size should never be >32k. So this Flashtype could probably work as long as the image size is below 32k. I'd expect the Bootloader to crash or fail when program size is >32k.

                      About the S25FL... @bjacobse proposed I see the problem that it does not support the Bock Erase 32k opcode which is used in SPIFlash.cpp and Bootloader. Both must be changed when S25FL... should be used. (I would emulate the 32k Block erase by 8 times 4k Block erase.) However remember that Dualoptiboot must also be altered which requires "non-arduino" programming and some work / knowlegde about makefiles / compiler/linker settings in IDE.

                      bjacobseB Offline
                      bjacobseB Offline
                      bjacobse
                      wrote on last edited by
                      #28

                      @Dirk_H
                      Thank you Dirk for checking the flash I asked about. I have noticed that the company I'm working is using this device. And then I hoped I could buy it from the company to a hopefully reduced price compared to retail price for private.

                      1 Reply Last reply
                      0
                      • L Offline
                        L Offline
                        LastSamurai
                        Hardware Contributor
                        wrote on last edited by
                        #29

                        Hey, guys I am currently looking for a (cheap) solution for OTA available in germany. I wanted to use the AT25DF512C-SSHN-B but the only source I could find was aliexpress which only sells 150 pcs at a time (a little too much, although future proof for me I guess ;) ).
                        I did not really understand this thread so far: is there another model that works with my sensors?

                        Or do you by chance know a place where I can get some of the AT25DF512C-SSHN-B ones here in europe? Thanks!

                        jbjallingJ 1 Reply Last reply
                        0
                        • L LastSamurai

                          Hey, guys I am currently looking for a (cheap) solution for OTA available in germany. I wanted to use the AT25DF512C-SSHN-B but the only source I could find was aliexpress which only sells 150 pcs at a time (a little too much, although future proof for me I guess ;) ).
                          I did not really understand this thread so far: is there another model that works with my sensors?

                          Or do you by chance know a place where I can get some of the AT25DF512C-SSHN-B ones here in europe? Thanks!

                          jbjallingJ Offline
                          jbjallingJ Offline
                          jbjalling
                          Hardware Contributor
                          wrote on last edited by jbjalling
                          #30

                          @LastSamurai said:

                          AT25DF512C

                          Well not in EU, but you can order from DigiKey or Mouser if everything else fails - thats where I order my parts.

                          EDIT: And I live in DK - maybe worth mentioning.

                          BR Jonas

                          L 1 Reply Last reply
                          0
                          • jbjallingJ jbjalling

                            @LastSamurai said:

                            AT25DF512C

                            Well not in EU, but you can order from DigiKey or Mouser if everything else fails - thats where I order my parts.

                            EDIT: And I live in DK - maybe worth mentioning.

                            BR Jonas

                            L Offline
                            L Offline
                            LastSamurai
                            Hardware Contributor
                            wrote on last edited by
                            #31

                            @LastSamurai said:

                            AT25DF512C-SSHN-B

                            Thanks, but both have shipping costs of abount 20€ (if you pay <50€ overall). Or is there a way around it?

                            I also found SST25VF020B‑80‑4I‑SAE and 25VF512A33-4C-SA flash modules in german stores though. Would they work too?

                            jbjallingJ 1 Reply Last reply
                            0
                            • L LastSamurai

                              @LastSamurai said:

                              AT25DF512C-SSHN-B

                              Thanks, but both have shipping costs of abount 20€ (if you pay <50€ overall). Or is there a way around it?

                              I also found SST25VF020B‑80‑4I‑SAE and 25VF512A33-4C-SA flash modules in german stores though. Would they work too?

                              jbjallingJ Offline
                              jbjallingJ Offline
                              jbjalling
                              Hardware Contributor
                              wrote on last edited by
                              #32

                              @LastSamurai Yes, thats true. My order is always above the "free shipping" limit :-)
                              I'll give the datasheets a look, of the devices you mentioned.

                              BR Jonas

                              1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                Dirk_H
                                Contest Winner
                                wrote on last edited by
                                #33

                                @LastSamurai The SST25VF020B... should work fine with the 2.0 developversion and #define MY_SPIFLASH_SST25TYPE set. It seems to be very close to the SST25PF020B I used. However keep an eye on the even more limited voltage range of the SST25VF Type which needs at least 2,7V which would be a problem if you want to power your circuit directly by 2xNiMH Batteries.

                                The SST25VF512 needs also 2,7V but additionally does not support the 64k erase command (see my comments on that issue some posts above where I wrote something about the AT25F512).

                                1 Reply Last reply
                                0
                                • X Offline
                                  X Offline
                                  XavTroniC
                                  wrote on last edited by XavTroniC
                                  #34

                                  Hi all,

                                  A question, why don't use an EPPROM SPI 25AA020A or 25AA512?

                                  They works between 1.8 and 5.5V.

                                  BR
                                  Xavier

                                  S 1 Reply Last reply
                                  0
                                  • alexsh1A Offline
                                    alexsh1A Offline
                                    alexsh1
                                    wrote on last edited by alexsh1
                                    #35

                                    I have AT25512N-SH-T SOIC-8 -> http://www.mouser.com/ds/2/36/Atmel-5165-SEEPROM-AT25512-Datasheet-476711.pdf

                                    Anyone knows if it is fully interchangeable with AT25DF512C? I cannot see any difference from the datasheet. The pinout is the same.

                                    1 Reply Last reply
                                    0
                                    • X Offline
                                      X Offline
                                      XavTroniC
                                      wrote on last edited by
                                      #36

                                      Hi all,

                                      Any news with the EEPROM compatibility and the new Mysensors version 2.0?

                                      BR,
                                      Xavier

                                      1 Reply Last reply
                                      0
                                      • tbowmoT Offline
                                        tbowmoT Offline
                                        tbowmo
                                        Admin
                                        wrote on last edited by
                                        #37

                                        @XavTroniC

                                        It's the bootloader that sets the limit on which flash / eeprom you can use, not the library. So the support in 2.0.0 is the same as for 1.5.x

                                        1 Reply Last reply
                                        1
                                        • M Offline
                                          M Offline
                                          mardah
                                          Hardware Contributor
                                          wrote on last edited by
                                          #38

                                          Hello,

                                          Would AT45DB041E be a good choice as a OTA flash? I see it's in the schematics for the new Sensebender Micro mk2.

                                          https://www.adestotech.com/wp-content/uploads/doc8783.pdf

                                          BR
                                          Martin

                                          tbowmoT S 2 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          11

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


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

                                          • Don't have an account? Register

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