---
title: "W6300-evb-pico QSPI in Dual or Quad mode"
url: "https://maker.wiznet.io/forum/16021"
markdown_url: "https://maker.wiznet.io/forum/16021/md"
type: "Forum topic"
category: "MCU & Boards"
author: "randohinn"
created: "2026-03-26T01:23:53+09:00"
last_activity: "2026-03-26T20:48:23+09:00"
language: "en"
views: 6
replies: 2
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# W6300-evb-pico QSPI in Dual or Quad mode

## Question

Asked by randohinn on 2026-03-26 in MCU & Boards.

In the samples and port code presented in <https://github.com/WIZnet-ioNIC/WIZnet-PICO-C> , The file qspi_pio.c has multiple

```plaintext
 /* @todo: Implement to use. */
```

comments for QSPI in dual and Quad mode, and the chip does not initialize when using them. What should be done to get dual and quad mode to actually work?

## Replies

### Reply 1 by Aimee0, 2026-03-26

The `/* @todo: Implement to use. */` comments appear to be leftover and unintentionally pushed,
rather than indicating missing functionality.

Dual and Quad QSPI modes do not require additional implementation.
They can be enabled using the configuration described in the README.

By defining the following macro, Quad mode works properly:

add_definitions(-D_WIZCHIP_QSPI_MODE_=QSPI_QUAD_MODE)

In summary, the TODO comments can be ignored,
and Quad mode can be used by applying the above setting.

### Reply 2 by randohinn, 2026-03-26 (in reply to reply 1)

Ok, that does indeed work. Seems like my link yesterday was just not up to it. What's the most optimal way in macraw and qspi mode to read stuff? I am seeing cases where this approach get absolutely slammed with packets and causes pio on the ws2815 side to lag...

```plaintext
  while (true) {
    if (getSn_RX_RSR(0) > 0) {
        uint16_t frame_len = recvfrom(0, rx_buf, sizeof(rx_buf), NULL, NULL);
        if (frame_len > 0) {
            process_frame(rx_buf, frame_len);
        }
    }

    // other stuff here (ws2815)
}
```

---

Source: https://maker.wiznet.io/forum/16021
