Reading Device ID from SPI Flash Using Cheetah Adapter and Cheetah GUI


Programming and reading SPI memory devices is a common use case for the Cheetah Adapter. There are several ways to do this with the Cheetah adapter, including using Cheetah GUI, Flash Center, or the Cheetah API. This article focuses on how to take the information in a flash datasheet and execute the Read Devide ID command in Cheetah GUI. Although the following describes the SPI Flash M25P32 found on the SPI Flash Demo Board, similar steps can be used for other devices.


In this article the Cheetah adapter reads the Device ID from the memory. Here the Cheetah adapter is the SPI master and the SPI flash on the demo board is the SPI slave. The article uses an M25P32 instruction, which is described below.

Figure 1: M25P32 Instructions List

M25P32 Instructions List

The M25P32 Read Identification instruction (0x9f) allows the identification data to be read. This instruction includes the instruction opcode. Then the identification data is shifted out. The M25P32 Read Identification Data Out Sequence is 20 20 16 h.

Figure 2: M25P32 Read Identification Instruction

M25P32 Read Identification Instruction

Figure 3: M25P32 Read Identification Data Out Sequence

M25P32 Read Identification Data Out Sequence

Memory Read Device ID Guidelines

  1. Download and run the latest version of the Total Phase USB Drivers Installer.
  2. Download and unzip the latest version of Cheetah GUI. (?)
  3. Connect the Cheetah adapter to the PC via the USB connector.
  4. Connect the Cheetah adapter to the SPI flash demo board via the I2C/SPI connector. (?)
  5. Launch Cheetah GUI. (?)
  6. Connect the Cheetah adapter to Cheetah GUI. (?)
    1. Click Connect.
    2. Select the Cheetah adapter.
    3. Click Open to connect to the adapter.
  7. Configure the Modes to Mode 0, Bitrate to 400KHz, Bit Order to MSB, and SS Polarity to Active Low. (?)
  8. Enable SS0, Output Enable, Target Power, and All Bytes. (?)
  9. Read memory Device ID.
    1. Enter 9F 00 00 00 in the MOSI Message > Click Send. (The 3 extra 00 bytes are required to clock in the 3-byte Device ID from the memory on the MISO line.)
    2. The memory responds with Device ID 20 20 16.
  10. Figure 4: Cheetah Adapter Reads M25P32 Device ID

    Cheetah Adapter Reads M25P32 Device ID


For additional information, take a look at the Cheetah adapter user manual, Cheeath GUI manual and High Speed SPI Flash Demo Board User Manual.