Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use W25Q128JV: Examples, Pinouts, and Specs

Image of W25Q128JV
Cirkit Designer LogoDesign with W25Q128JV in Cirkit Designer

Introduction

The W25Q128JV is a 128Mb (16MB) serial NOR Flash memory chip manufactured by Winbond. It is designed for high-performance applications requiring reliable and fast data storage. The chip operates using a Serial Peripheral Interface (SPI) and supports multiple I/O modes, including standard SPI, dual SPI, and quad SPI, for enhanced data transfer speeds. With its low power consumption and wide operating temperature range, the W25Q128JV is ideal for embedded systems, IoT devices, firmware storage, and other data storage applications.

Explore Projects Built with W25Q128JV

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
I2C-Controlled OLED Display with External EEPROM and Interactive Pushbuttons
Image of godmode: A project utilizing W25Q128JV in a practical application
This is a microcontroller-based interactive device featuring a Wemos D1 Mini, an OLED display, external EEPROM, and an I/O expander. It includes user input buttons and status LEDs, with potential MIDI interface capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
RTL8720DN-Based Interactive Button-Controlled TFT Display
Image of coba-coba: A project utilizing W25Q128JV in a practical application
This circuit features an RTL8720DN microcontroller interfaced with a China ST7735S 160x128 TFT LCD display and four pushbuttons. The microcontroller reads the states of the pushbuttons and displays their statuses on the TFT LCD, providing a visual feedback system for button presses.
Cirkit Designer LogoOpen Project in Cirkit Designer
Sound-Activated LED Lighting with ESP32 and INMP441 Microphone
Image of WS2815 v3: A project utilizing W25Q128JV in a practical application
This circuit features an ESP32 microcontroller interfacing with an INMP441 microphone module and controlling a WS2815 LED strip, with signal conditioning provided by an SN74AHC14 hex inverter. It includes a 12V power supply with a 5A fuse for protection and uses a ceramic capacitor for voltage regulation.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
Image of ColorSensor: A project utilizing W25Q128JV in a practical application
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with W25Q128JV

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of godmode: A project utilizing W25Q128JV in a practical application
I2C-Controlled OLED Display with External EEPROM and Interactive Pushbuttons
This is a microcontroller-based interactive device featuring a Wemos D1 Mini, an OLED display, external EEPROM, and an I/O expander. It includes user input buttons and status LEDs, with potential MIDI interface capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of coba-coba: A project utilizing W25Q128JV in a practical application
RTL8720DN-Based Interactive Button-Controlled TFT Display
This circuit features an RTL8720DN microcontroller interfaced with a China ST7735S 160x128 TFT LCD display and four pushbuttons. The microcontroller reads the states of the pushbuttons and displays their statuses on the TFT LCD, providing a visual feedback system for button presses.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of WS2815 v3: A project utilizing W25Q128JV in a practical application
Sound-Activated LED Lighting with ESP32 and INMP441 Microphone
This circuit features an ESP32 microcontroller interfacing with an INMP441 microphone module and controlling a WS2815 LED strip, with signal conditioning provided by an SN74AHC14 hex inverter. It includes a 12V power supply with a 5A fuse for protection and uses a ceramic capacitor for voltage regulation.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ColorSensor: A project utilizing W25Q128JV in a practical application
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Embedded systems and microcontroller-based designs
  • Firmware storage for consumer electronics
  • Data logging in IoT devices
  • Boot memory for computing systems
  • Automotive and industrial applications

Technical Specifications

Key Technical Details

Parameter Specification
Memory Density 128Mb (16MB)
Interface SPI (Standard/Dual/Quad)
Operating Voltage 2.7V to 3.6V
Operating Temperature -40°C to +85°C (Industrial Grade)
Maximum Clock Frequency 133 MHz (Quad SPI mode)
Page Size 256 bytes
Sector Size 4KB
Block Size 32KB or 64KB
Endurance 100,000 Program/Erase Cycles
Data Retention 20 years

Pin Configuration and Descriptions

The W25Q128JV is typically available in an 8-pin SOIC package. Below is the pinout and description:

Pin No. Pin Name Description
1 CS# Chip Select (Active Low)
2 DO (IO1) Data Output (or I/O1 in Quad SPI mode)
3 WP# Write Protect (Active Low)
4 GND Ground
5 DI (IO0) Data Input (or I/O0 in Quad SPI mode)
6 CLK Serial Clock Input
7 HOLD# Hold (Active Low)
8 VCC Power Supply (2.7V to 3.6V)

Usage Instructions

How to Use the W25Q128JV in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V power source and the GND pin to ground.
  2. SPI Interface: Connect the SPI pins (CS#, CLK, DI, DO) to the corresponding SPI pins on your microcontroller or processor.
  3. Write Protect (WP#): If write protection is not required, connect WP# to VCC.
  4. Hold (HOLD#): If the hold function is not used, connect HOLD# to VCC.
  5. Pull-Up Resistors: Use pull-up resistors on CS#, WP#, and HOLD# pins if necessary to ensure proper operation.

Important Considerations

  • Voltage Levels: Ensure the operating voltage is within the specified range (2.7V to 3.6V).
  • Clock Frequency: Configure the SPI clock frequency according to the mode being used (standard, dual, or quad SPI).
  • Erase Before Write: Always erase a sector or block before writing new data to it.
  • Data Retention: Avoid exceeding the endurance limit of 100,000 program/erase cycles to maintain data integrity.

Example: Interfacing W25Q128JV with Arduino UNO

Below is an example of how to interface the W25Q128JV with an Arduino UNO using the SPI library:

#include <SPI.h>

// Pin definitions for W25Q128JV
#define CS_PIN 10  // Chip Select pin connected to Arduino pin 10

void setup() {
  // Initialize Serial Monitor
  Serial.begin(9600);
  
  // Initialize SPI
  SPI.begin();
  
  // Set CS_PIN as output and set it HIGH
  pinMode(CS_PIN, OUTPUT);
  digitalWrite(CS_PIN, HIGH);
  
  Serial.println("W25Q128JV Initialization Complete");
}

void loop() {
  // Example: Read Manufacturer ID
  digitalWrite(CS_PIN, LOW); // Select the chip
  
  SPI.transfer(0x90); // Command to read Manufacturer ID
  SPI.transfer(0x00); // Dummy byte 1
  SPI.transfer(0x00); // Dummy byte 2
  SPI.transfer(0x00); // Dummy byte 3
  
  byte manufacturerID = SPI.transfer(0x00); // Read Manufacturer ID
  byte deviceID = SPI.transfer(0x00);       // Read Device ID
  
  digitalWrite(CS_PIN, HIGH); // Deselect the chip
  
  // Print the IDs to Serial Monitor
  Serial.print("Manufacturer ID: 0x");
  Serial.println(manufacturerID, HEX);
  Serial.print("Device ID: 0x");
  Serial.println(deviceID, HEX);
  
  delay(1000); // Wait for 1 second
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Issue: The chip is not responding to SPI commands.

    • Solution: Verify the SPI connections and ensure the CS# pin is toggled correctly.
    • Solution: Check that the SPI clock frequency is within the supported range.
  2. Issue: Data corruption during write operations.

    • Solution: Ensure the sector or block is erased before writing new data.
    • Solution: Avoid power interruptions during write or erase operations.
  3. Issue: The device does not retain data after power cycling.

    • Solution: Verify that the endurance limit of 100,000 program/erase cycles has not been exceeded.
    • Solution: Ensure the operating voltage is stable and within the specified range.

FAQs

  • Q: Can the W25Q128JV operate at 5V?
    A: No, the W25Q128JV operates within a voltage range of 2.7V to 3.6V. Use a level shifter if interfacing with a 5V system.

  • Q: How do I enable Quad SPI mode?
    A: Quad SPI mode can be enabled by setting the appropriate bit in the Status Register. Refer to the datasheet for detailed instructions.

  • Q: What happens if I exceed the endurance limit?
    A: Exceeding the endurance limit may result in unreliable data storage. Plan your application to minimize unnecessary write/erase cycles.


This concludes the documentation for the W25Q128JV. For further details, refer to the official datasheet provided by Winbond.