M95080-RBN6
AI

## Overview of M95080-RBN6
The **M95080-RBN6** is a low-voltage, high-speed 8-Kbit Serial SPI (Serial Peripheral Interface) EEPROM manufactured by STMicroelectronics. It is commonly used for non-volatile data storage in applications requiring low power consumption and high reliability.
### Key Specifications
| Parameter | Specification |
| :--- | :--- |
| **Memory Size** | 8 Kbit (1,024 x 8 bits) |
| **Interface** | SPI (Mode 0 and Mode 3) |
| **Clock Frequency** | Up to 20 MHz (at Vcc > 4.5V) |
| **Operating Voltage** | 1.8V to 5.5V |
| **Package** | PDIP8 (Plastic Dual In-line Package) |
| **Operating Temp** | -40°C to +85°C |
| **Endurance** | 4 Million Write Cycles |
| **Data Retention** | 200 Years |
---
### Pin Configuration (PDIP8)
The device typically follows a standard 8-pin layout:
1. **S# (Chip Select):** When low, the device is selected.
2. **Q (Serial Data Output):** Data is shifted out on this pin during a read operation.
3. **W# (Write Protect):** Hardware protection to prevent write operations.
4. **Vss:** Ground.
5. **D (Serial Data Input):** Data, address, and instructions are latched on this pin.
6. **C (Serial Clock):** Provides the timing for data transfer.
7. **HOLD# (Hold):** Pauses communication without deselecting the device.
8. **Vcc:** Supply voltage.
---
### Technical Features
* **Page Write:** Supports writing up to 32 bytes in a single instruction cycle.
* **Write Protection:** Includes a Write Enable Latch (WEL) bit and software-programmable block protection (none, 1/4, 1/2, or whole memory).
* **High Reliability:** Optimized for industrial environments with high endurance cycles and long-term data retention.
* **Low Power Consumption:**
* Active Read Current: < 2 mA
* Standby Current: < 1 µA (at 1.8V)
### Part Number Breakdown (M95080-RBN6)
| Code Segment | Meaning |
| :--- | :--- |
| **M95** | SPI Family EEPROM |
| **080** | 8 Kbit Density |
| **-R** | Voltage Range: 1.8V to 5.5V |
| **BN** | Package: PDIP8 |
| **6** | Temperature Grade: Industrial (-40°C to +85°C) |
---
### Example Application: SPI Initialization
```cpp
// Example pseudocode for initializing an SPI Read
void read_eeprom(uint16_t address) {
digitalWrite(CHIP_SELECT, LOW); // Select device
SPI.transfer(0x03); // Read Instruction (READ)
SPI.transfer((address >> 8)); // MSB of Address
SPI.transfer((address & 0xFF)); // LSB of Address
uint8_t data = SPI.transfer(0x00);// Shift out data
digitalWrite(CHIP_SELECT, HIGH); // Deselect device
}
```
- ⤷
What are the main differences between the M95080 and an I2C equivalent like the M24C08?
- ⤷ How does the HOLD# pin function during an active SPI transfer?
- ⤷ What are the specific steps required to enable write operations on this chip?