Getting started with the X-NUCLEO-EEPRMA2 standard I²C and SPI EEPROM
memory expansion board based on M24xx and M95xx series for STM32 Nucleo
Introduction
The X-NUCLEO-EEPRMA2 expansion board is designed for M24xx series I²C and M95xx series SPI EEPROM for data reading
and writing.
The expansion board acts as an external storage device that can be used to store data such as manufacturing traceability,
calibration, user settings, error flags, data logs and monitoring data to make applications more flexible and accurate.
The X-NUCLEO-EEPRMA2 expansion board is compatible with the Arduino UNO R3 connector pin assignment and can be
easily plugged to any STM32 Nucleo development board. You can mount the ST morpho connectors if required.
Figure 1. X-NUCLEO-EEPRMA2 expansion board
UM2665 - Rev 3 - August 2020
For further information contact your local STMicroelectronics sales office.
www.st.com
1Acronyms and abbreviations
Table 1. List of acronyms
AcronymDescription
EEPROMElectrically erasable programmable read only memory
MHzMega Hertz
MCUMicrocontroller unit
SPISerial peripheral interface
I2CInter-integrated circuit
UM2665
Acronyms and abbreviations
UM2665 - Rev 3
page 2/23
2Getting started
2.1Overview
The X-NUCLEO-EEPRMA2 main features are:
•Up to 1-Mbit serial I²C bus embedded EEPROM
•Up to 4-Mbit SPI bus embedded EEPROM
•Easy portability across different MCU families
•Equipped with Arduino™ UNO R3 connector
•Compatible with STM32 Nucleo boards
•Free comprehensive development firmware library and sample implementation available when the X-
NUCLEO-EEPRMA2 expansion board is plugged on top of a NUCLEO-F401RE or NUCLEO-L053R8
development board
•Developer can choose and solder an EEPROM to be tested using the evaluation software provided
2.2Typical applications
The X-NUCLEO-EEPRMA2 expansion board acts as an external storage device that can be used for storing data
such as manufacturing traceability, calibration data, user setting, error flags, data log and monitoring data to make
applications more flexible and accurate.
UM2665
Getting started
UM2665 - Rev 3
page 3/23
2.3Hardware requirements
To use STM32 Nucleo development boards with the X-NUCLEO-EEPRMA2 expansion board, connect the boards
as shown below.
Figure 2. X-NUCLEO-EEPRMA2 expansion board connected to an STM32 Nucleo development board
UM2665
Hardware requirements
2.4
2.5
UM2665 - Rev 3
The EEPROM communicates with the STM32 Nucleo development board host microcontroller through the SPI or
I²C signals available on the Arduino UNO R3 connector.
The X-NUCLEO-EEPRMA2 has been designed to allow using any STM32 Nucleo board, although complete
testing has been performed using the NUCLEO-F401RE and NUCLEO-L053R8 boards.
System requirements
To use the STM32 Nucleo development boards with the X-NUCLEO-EEPRMA2 expansion board you need:
•a Windows PC/laptop (Windows 7 or above) to install the firmware package (X-CUBE-EEPRMA1)
•a type A to Mini-B USB cable to connect the STM32 Nucleo board to the PC
•an STM32 Nucleo development board (NUCLEO-F401RE or NUCLEO-L053R8)
•an X-NUCLEO-EEPRMA2 expansion board
Board setup
Step 1.Check the jumper on J1 and J2 connectors are connected.
These jumpers provide the required voltage to the devices.
Step 2.Ensure jumper on J11 is put between VCC and WPn.
Step 3.Ensure jumper on J10 is put between U7_Sn and CN5_3_U7_Sn.
page 4/23
Step 4.Connect the X-NUCLEO-EEPRMA2 to the STM32 Nucleo board as shown in Figure 2.
Step 5.Power the STM32 Nucleo development board using the Mini-B USB cable.
Step 6.Program the firmware in the development board.
Step 7.Reset the MCU board using the reset button on the STM32 Nucleo development board.
The evaluation kit is ready-to-use.
UM2665
Board setup
UM2665 - Rev 3
page 5/23
UM2665
Hardware description and configuration
3Hardware description and configuration
3.1Interconnection details
The X-NUCLEO-EEPRMA2 expansion board and the NUCLEO-L053R8 or NUCLEO-F401RE board connection
details are listed below.
Table 2. X-NUCLEO-EEPRMA2 and NUCLEO-L053R8 connection details (left connector)
Signal name
NC IOREF RESET3V35VGND GNDVINA0A1A2A3A4A5
Connector name
CN6 PowerCN8 Analog
Pin number
12345678123456
NUCLEO-L053R8 MCU port
NRSTPA0PA1PA4PB0PC1/PB9PC0/PB8
NUCLEO-L053R8 MCU signals
3.3 V
RESET
REF
NC3V3GND GNDM95_WPn M24_VCCM95_HnU8_Sn
3.3 V
input/
output
5 V
output
GND GND
POWER
INPUT
X-NUCLEO-EEPRMA2 expansion board signals
ADC_IN0ADC_IN1 ADC_IN4 ADC_IN8
ADC_IN11(PC1)
or
I2C1_SDA(PB9)
ADC_IN10(PC0)
or
I2C1_SCL(PB8)
UM2665 - Rev 3
page 6/23
UM2665
Interconnection details
Table 3. X-NUCLEO-EEPRMA2 and NUCLEO-L053R8 connection details (right connector)
J1 can be used to monitor the I²C device power consumption, whereas J2 can be used to monitor the SPI device
power consumption. Connect an ammeter probe between the connector pin 1 and pin 2 for measurements.
Single supply voltage1.7 to 5.5 V (full temperature range) and 1.6 to 1.7 V (limited temperature range)
FeatureDescription
Sales typeM24256-DFDW6TP
PackageTSSOP8
Single supply voltage and high speed1 MHz clock from 1.7 to 5.5 V
UM2665
Component description
Table 6. M24C02 details
Table 7. M24256 details
Sales typeM24M01-DFMN6TP
PackageSO8
Single supply voltage and high speed1 MHz clock from 1.7 to 5.5 V
4.2M95XX
Sales typeM95040-RMC6TG
PackageUFDFPN8
Single supply voltage1.7 to 5.5 V
Sales typeM95256-DFDW6TP
PackageTSSOP8
Single supply voltage1.7 to 5.5 V
Table 8. M24M01 details
FeatureDescription
Table 9. M95040 details
FeatureDescription
Table 10. M95256 details
FeatureDescription
UM2665 - Rev 3
page 11/23
Table 11. M95M04 details
FeatureDescription
Sales typeM95M04-DRMN6TP
PackageSO8
Single supply voltage1.8 to 5.5 V
UM2665
M95XX
UM2665 - Rev 3
page 12/23
5External EEPROMs
External SPI EEPROM
You can easily solder a specific EEPROM density I²C or SPI to be used with the X-NUCLEO-EEPRMA2
expansion board. The software can handle any density between 2 Kbit and 4 Mbits.
To use the external EEPROM, you have to apply some changes to the firmware and the hardware, as described
below.
Step 1.Uncomment the macro M24XX (to use the I²C EEPROM) or M95XX (to use the SPI EEPROM) in the
“eeprom_expansion.h” file
Step 2.Comment the macro I²C (to use the external I²C EEPROM) or the macro SPI (to use the external SPI
EEPROM).
Step 3.Open J5 and J6 3V3 and VCC pins and short the EXT and VCC pins
Note:External VCC can be used to power EEPROM with a different VCC for specific evaluations.
Figure 6. I2C and SPI EEPROM soldered on the X-NUCLEO-EEPRMA2 expansion board
Figure 6. I2C and SPI EEPROM soldered on the X-NUCLEO-EEPRMA2 expansion board ..................... 13
Figure 7. X-NUCLEO-EEPRMA2 circuit schematic (1 of 4)............................................ 16
Figure 8. X-NUCLEO-EEPRMA2 circuit schematic (2 of 4)............................................ 17
Figure 9. X-NUCLEO-EEPRMA2 circuit schematic (3 of 4)............................................ 18
Figure 10. X-NUCLEO-EEPRMA2 circuit schematic (4 of 4)............................................ 18
UM2665 - Rev 3
page 22/23
UM2665
IMPORTANT NOTICE – PLEASE READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST
products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST
products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of
Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, please refer to www.st.com/trademarks. All other product or service
names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.