Skip to main content
Explorer
April 4, 2025
Solved

Do STM32s have EEPROM ?

  • April 4, 2025
  • 3 replies
  • 718 views

Hello,
I am currently evaluating STM32s for use in professional developments.
I'm going to substitute them for Microchip's AVR DB family microcontrollers.
I still have one point to evaluate: is there an EEPROM built into the STM32s that allows parameters to be saved?
Thanks for your clarifications

    This topic has been closed for replies.
    Best answer by Andrew Neil

    Only a few.

    Otherwise, you have to use the Flash.

    Resources to find an STM32 suitable to your requirements:

    https://www.st.com/en/development-tools/st-mcu-finder-pc.html

    https://www.st.com/en/development-tools/stm32-finder.html

    https://www.st.com/content/st_com/en/stm32-mcu-developer-zone/mcu-portfolio.html

     

    Distributors often have good parametric search tools ...

     

    #McuFinder #STM32Finder

    3 replies

    Super User
    April 4, 2025

    Only a few.

    Otherwise, you have to use the Flash.

    Resources to find an STM32 suitable to your requirements:

    https://www.st.com/en/development-tools/st-mcu-finder-pc.html

    https://www.st.com/en/development-tools/stm32-finder.html

    https://www.st.com/content/st_com/en/stm32-mcu-developer-zone/mcu-portfolio.html

     

    Distributors often have good parametric search tools ...

     

    #McuFinder #STM32Finder

    LigeaAuthor
    Explorer
    April 4, 2025

    Thank you andrew for your reply.

    If I understand your answer correctly, data can be stored in Flash memory (the memory in which the program is stored).

    I'll look into this.

    Graduate II
    April 4, 2025

    You can carve out space so it's not used by the linker. For the F4's the non-uniform size, and latter sectors being 128KB, can drive use of smaller 16KB sectors toward the front. Other parts have linear 2KB pages, for example, and these can be more manageable/flexible

    But yes you can use structures and pointers to manage configuration/calibration data either at production test, or limited user interaction, ie them not reconfiguring tens of thousands of times.

    Graduate II
    April 4, 2025

    The F0 do not, the L0 have some

    https://www.st.com/en/microcontrollers-microprocessors/stm32l0-series.html

    Generally most of the STM32 don't have EEPROM as the technology is not particularly compatible with the process technology employed, or the size it would take.

    Most you could use FLASH, either by you manually, journalling over a couple of available pages, where adequately small/uniform, or via EEPROM Emulation library, TBH mostly a hack, and using a lot of metadata to carry the illusion.

    If you have relatively manageable needs to store configuration, serialization or calibration data the FLASH can be used. Most provide for 10K cycles, and the journalling can keep the erase cycles in check.

    Permanent stuff there's often OTP, and where you have backup power perhaps RTC/NVRAM

    Super User
    April 4, 2025

    Can you precise the requirement? What is the size of data to keep? Update how often? External EEPROMs are small, cheap and easy to wire up. You can find parts with interesting capabilities such as "self-saving" or encryption.