






How Does The MRAM 3 Click Board™ Work?
The MRAM 3 Click Board™ is based on the AS3001204, a 1Mb MRAM memory with an SPI interface and Write Protection feature from Avalanche Technology. The AS3001204 is organized as 128K words of 8 bits each and benefits from 1.000.000 years of data retention combining their unprecedented data storage with excellent energy efficiency. It is highly reliable, lasting 1014 full-memory read/write/erase cycles, which makes this Click board™ suitable for high-reliability applications as a non-volatile storage media or temporary RAM expansion for storing data in any embedded application.
The AS3001204 is an accurate random-access memory allowing both reads and writes to occur randomly in memory. It offers low latency, low power, and scalable non-volatile memory technology. The MRAM technology is analog to Flash technology with SRAM compatible read/write timings (Persistent SRAM, P-SRAM), where data is always non-volatile.
The MRAM 3 Click Board™ communicates with MCU using the SPI serial interface that supports the Dual/Quad SPI and the two most common modes, SPI Mode 0 and 3, with a maximum SPI frequency of 108MHz. Alongside an SPI-compatible bus interface, the AS3001204 also features an eXecute-In-Place (XIP) functionality which allows completing a series of reading and writing instructions without having to individually load the read or write command for each instruction and hardware/software-based data protection mechanisms.
Hardware Write Protection function, labelled as WP routed to the PWM pin of the mikroBUS™ socket, allows the user to freeze the entire memory area, thus protecting it from Write instructions. The other pin, the IO3 pin routed to the RST pin of the mikroBUS™ socket, represents the bidirectional I/O that transfers data into and out of the device in Dual and Quad SPI modes.
The MRAM 3 Click Board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
SPECIFICATIONS
Type | MRAM |
Applications | Can be used for applications that need data storage and retrieval without incurring significant latency penalties |
On-board modules | AS3001204 - 1Mb MRAM memory from Avalanche Technology |
Key Features | Virtually unlimited endurance and data, hardware/software-based data protection mechanisms, low power consumption, SPI/QSPI interface, and more |
Interface | QSPI, SPI |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout of the MRAM 3 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | ![]() |
Pin | Notes | |||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | WP | Write Protect / QSPI IO2 | |
QSPI IO3 | IO3 | 2 | RST | INT | 15 | NC | |
SPI Chip Select | CS | 3 | CS | RX | 14 | NC | |
SPI Clock | SCK | 4 | SCK | TX | 13 | NC | |
SPI Data OUT / QSPI IO1 | SDO | 5 | MISO | SCL | 12 | NC | |
SPI Data IN / QSPI IO0 | SDI | 6 | MOSI | SDA | 11 | NC | |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
MRAM 3 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | - | 3.3 | - | V |
Memory Size | - | - | 1 | Mb |
Endurance | 1014 | - | - | Cycles |
Data Retention | 106 | - | - | Years |
Operating Temperature Range | -40 | +25 | +85 | °C |
Software Support
We provide a library for the MRAM 3 Click Board™ as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on the MikroE Github account.
Library Description
This library contains API for the MRAM 3 Click Board™ driver.
Key functions
-
mram3_memory_write
This function writes the desired number of data bytes starting from the selected memory address. -
mram3_memory_read
This function reads the desired number of data bytes starting from the selected memory address. -
mram3_aug_memory_write
This function writes the desired number of data bytes starting from the selected augmented memory address.
Example Description
This example demonstrates the use of the MRAM 3 Click Board™ by writing specified data to the memory and reading it back.
void application_task ( void )
{
uint8_t data_buf[ 128 ] = { 0 };
memcpy ( data_buf, DEMO_TEXT_MESSAGE_1, strlen ( DEMO_TEXT_MESSAGE_1 ) );
if ( MRAM3_OK == mram3_memory_write ( &mram3, STARTING_ADDRESS,
data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, "Data written to address 0x%.5LX: %srn", ( uint32_t ) STARTING_ADDRESS,
data_buf );
}
memset ( data_buf, 0, sizeof ( data_buf ) );
if ( MRAM3_OK == mram3_memory_read ( &mram3, STARTING_ADDRESS,
data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, "Data read from address 0x%.5LX: %srn", ( uint32_t ) STARTING_ADDRESS,
data_buf );
Delay_ms ( 3000 );
}
memcpy ( data_buf, DEMO_TEXT_MESSAGE_2, strlen ( DEMO_TEXT_MESSAGE_2 ) );
if ( MRAM3_OK == mram3_memory_write ( &mram3, STARTING_ADDRESS,
data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, "Data written to address 0x%.5LX: %srn", ( uint32_t ) STARTING_ADDRESS,
data_buf );
}
memset ( data_buf, 0, sizeof ( data_buf ) );
if ( MRAM3_OK == mram3_memory_read ( &mram3, STARTING_ADDRESS,
data_buf, sizeof ( data_buf ) ) )
{
log_printf ( &logger, "Data read from address 0x%.5LX: %srnn", ( uint32_t ) STARTING_ADDRESS,
data_buf );
Delay_ms ( 3000 );
}
}
The complete application code and ready-to-use projects can be installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on the MikroE Github account.
Other MikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.MRAM3
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART Click Board™, USB UART 2 Click, or RS232 Click to connect to your PC for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.
MIKROSDK
The MRAM 3 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
MRAM 3 Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.