M24C01-RBN3TP/G
AI

### M24C01-RBN3TP/G Technical Overview
The **M24C01-RBN3TP/G** is a low-voltage, 1-Kbit I²C-compatible serial EEPROM (Electrically Erasable Programmable Memory) manufactured by STMicroelectronics. It is designed for applications requiring small amounts of non-volatile data storage.
---
### Key Specifications
| Parameter | Specification |
| :--- | :--- |
| **Memory Size** | 1 Kbit (128 bytes) |
| **Organization** | 128 x 8 bits |
| **Interface** | I²C (Inter-Integrated Circuit) |
| **Clock Frequency** | 400 kHz |
| **Operating Voltage ($V_{CC}$)** | 1.8V to 5.5V |
| **Operating Temperature** | -40°C to +125°C (Automotive/Industrial Grade) |
| **Package Type** | SOT23-5 |
| **Write Cycles** | 4 million cycles |
| **Data Retention** | 200 years |
---
### Component Features
1. **I²C Serial Interface:** Uses a two-wire serial interface (SCL for clock, SDA for data). This reduces the number of pins required on the microcontroller.
2. **Low Power Consumption:** Optimized for battery-powered devices, with very low active and standby currents.
3. **Byte and Page Write:** Supports writing a single byte or a page of up to 16 bytes.
4. **Write Protection:** It features a hardware Write Control (WC) pin to prevent accidental data overwriting.
5. **Robustness:** High endurance (4 million cycles) makes it suitable for frequently updated parameters like sensor calibration data or user settings.
---
### Pin Configuration (SOT23-5)
Typical pinout for this specific package:
| Pin | Name | Function |
| :--- | :--- | :--- |
| 1 | **SCL** | Serial Clock Input |
| 2 | **VSS** | Ground |
| 3 | **SDA** | Serial Data Input/Output (Open Drain) |
| 4 | **VCC** | Power Supply |
| 5 | **WC** | Write Control (Low = Write enabled; High = Write protected) |
---
### Practical Application Example
Below is a simple pseudo-code example of how a microcontroller might address this chip using I²C:
```c
// Define the 7-bit device address (Typical for M24C01)
#define M24C01_ADDR 0xA0
void write_byte(uint8_t mem_addr, uint8_t data) {
I2C_Start();
I2C_Send(M24C01_ADDR | 0); // Device Address + Write bit
I2C_Send(mem_addr); // Target memory location
I2C_Send(data); // Data to store
I2C_Stop();
delay_ms(5); // Internal write cycle time
}
```
- ⤷
What is the difference between the M24C01 and the M24C02 versions?
- ⤷ Can the Write Control (WC) pin be left floating in a circuit?
- ⤷ How do I calculate the pull-up resistor values for the SDA and SCL lines?