Skip to main content
Macro view of SPI flash chip on PCB with Aardvark host adapter connection

Reading SPI Flash Device IDs with the Aardvark Host Adapter

GSAS Engineering · · 2 min read

Reading the JEDEC Device ID from an SPI flash chip is the essential first step in any flash programming workflow. It confirms that the Aardvark I2C/SPI Host Adapter can communicate with the flash device, verifies the device manufacturer and part number, and validates the SPI bus configuration (clock polarity, phase, bit rate, and chip select) before attempting to program or read flash contents.

The JEDEC Read ID Command

The Read Identification command is defined by the JEDEC SFDP (Serial Flash Discoverable Parameters) standard and is supported by virtually all SPI NOR flash devices. The command sequence is:

1. Assert chip select (SS active low).
2. Send opcode 0x9F on MOSI.
3. Clock 3 additional bytes while reading MISO, these are the 3-byte Manufacturer and Device ID.
4. De-assert chip select.

For example, a Micron M25P32 responds with 20 20 16 (hex): manufacturer ID 0x20 (Micron/STMicroelectronics), memory type 0x20 (SPI NOR), and memory capacity 0x16 (32 Mbit). A Winbond W25Q32JV responds with EF 40 16: manufacturer 0xEF (Winbond), type 0x40, capacity 0x16 (32 Mbit).

Step-by-Step with Control Center

1. Connect the Hardware

Connect the Aardvark to the SPI flash target using a 10-pin ribbon cable. The pin mapping is:

Aardvark PinSignalFlash Pin
1SCKCLK
3MOSIDI (Data In)
5MISODO (Data Out)
7SSCS (Chip Select)
9GNDGND
10VCC (target power)VCC

Enable Target Power in the Aardvark menu to supply 3.3V/5V to the flash device if it is not otherwise powered.

2. Configure SPI Settings

In Control Center Serial Software, set the SPI parameters:

  • Polarity: Rising/Falling (SPI Mode 0 for most flash devices)
  • Phase: Sample/Setup
  • Bit Rate: 1 MHz (conservative starting point, increase after communication is verified)
  • Bit Order: MSB first
  • Slave Select: Active Low

3. Send the Read ID Command

In the SPI Master panel, enter the MOSI data: 9F 00 00 00

The first byte (0x9F) is the Read ID opcode. The three 0x00 bytes are dummy bytes that clock out the 3-byte device ID response on MISO. The Aardvark transmits on MOSI and simultaneously receives on MISO.

4. Read the Response

Control Center displays both the MOSI (transmitted) and MISO (received) data. The MISO bytes corresponding to the three dummy bytes contain the Device ID. The first MISO byte (corresponding to the opcode byte) should be ignored, it is undefined during the command phase.

Verification and Next Steps

If the Device ID matches the expected value for your flash chip, the SPI bus configuration is confirmed correct and you can proceed to flash programming operations (erase, program, verify) using either Control Center, Flash Center Software, or the Aardvark API.

If the response is all 0xFF or all 0x00, check: chip select polarity, SPI mode (try Mode 3 if Mode 0 fails), target power, and physical connections.

Alternative Approaches

The same Read ID operation can be performed through:

  • Flash Center Software: automatically reads the device ID during target device selection, with a built-in database of thousands of flash devices.
  • Aardvark API: programmatically in C, Python, or C# for automated test scripts that need to verify flash device identity before programming.
  • Cheetah SPI Host Adapter or Promira Serial Platform: same command sequence, higher clock speeds available (40+ MHz and 80 MHz respectively).

GSAS Micro Systems provides the Aardvark alongside the I2C/SPI Activity Board and SPI Flash Demo Board for teams learning SPI flash programming workflows across India.

Interested in Total Phase tools?

Talk to our application engineers for personalized tool recommendations.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Embedded verification and unit test workflow, illustrating the economics of finding defects early, supported by GSAS Micro Systems in India
Technical Guides

Verification Economics: What a Late Defect Actually Costs, and What the Evidence Really Says

Finding a defect in month 2 instead of month 14 is a budget decision before it is a quality decision. This sets out what the published evidence supports, what it does not, including the 100x multiplier that traces back to a course handout rather than a study, and how an Indian embedded team builds the case on its own numbers.

21 Sept 2026 · 14 min read
Side by side comparison of a 10BASE-T1S multidrop mixing segment, one balanced pair with four nodes on short stubs and a termination at each end, against a point to point star of four separate links into switch ports, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

10BASE-T1S and PLCA: Multidrop Ethernet Explained

10BASE-T1S is the one member of the T1 single-pair Ethernet family that keeps a shared medium, and PLCA is the reconciliation sublayer that stops the nodes on it from colliding. This article covers what IEEE 802.3cg standardises, how the beacon and transmit opportunities schedule a cycle, the node count and segment length figures the OPEN Alliance interoperability test suite works to, and the failure modes that put a segment quietly back into contention while every link still looks up. Written by the GSAS Micro Systems engineering team in India for teams bringing up multidrop segments on the bench.

29 Aug 2026 · 12 min read
Two test paths leaving the same device under test, one into a conformance suite that returns a passed report and one into a partner node that surfaces a field defect, showing why an ECU can clear a published suite and still fail in a vehicle, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

Automotive Ethernet Conformance: TC8 and Testing Above It

Summarising TC8 as a layer 1 to layer 4 suite is wrong in both directions. The public OPEN Alliance ECU test documents run from transmitter distortion up to a SOME/IP chapter with its own standardised test stub, and they contain exactly one time synchronisation test case. This is what those documents enumerate, chapter by chapter, what genuinely lives above their boundary, why a passing ECU can still fail against a partner node, and how much pre-compliance work a Tier-1 in India can honestly do in-house before a test house visit. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 12 min read