Skip to content

MicroPython reference + your SDMMC/I2S example configs verified on the ESP32-P4-NANO #8

@Tangerino

Description

@Tangerino

Hi Waveshare team — thanks for the ESP32-P4-Platform examples. They were the authoritative source that let me bring up several peripherals in MicroPython on the ESP32-P4-NANO, and I wanted to (a) say the configs match the hardware exactly, and (b) offer a MicroPython reference back to the community.

Specifically, the pin/LDO values in:

  • examples/esp-idf/06_sdmmcKconfig.projbuild: P4 CLK=43 CMD=44 D0=39 D1=40 D2=41 D3=42, SD_PWR_CTRL_LDO_IO_ID=4
  • examples/esp-idf/07_I2SCodec — ES8311 @ I2C 0x18, amp enable GPIO53, I2S MCLK=13 BCLK=12 WS=10 DOUT=9 DIN=11

all match, and let me drive the microSD slot (native SDMMC slot 0 + on-chip LDO ch 4) and the ES8311/NS4150B speaker under MicroPython v1.29.0-preview.

I've published a MicroPython hardware test bench for the P4-NANO (WiFi, Ethernet, CPU/mem/flash, microSD, I2C, sleep/wake, audio, GPIO), each test a small package with a one-shot report and an interactive menu:

👉 https://github.com/Tangerino/Waveshare-P4-Test-Bench

Two things that might help other users:

  1. Would you be open to an examples/micropython/ folder, or a wiki link to a community MicroPython reference for this board? Happy to contribute.
  2. (Minor, FYI) The microSD slot is unusable from MicroPython unless the firmware exposes the P4 ldo kwarg, which was added to MicroPython master in commit dc44bdbac (2026-04-02) — worth noting for users on older images, who otherwise hit ESP_ERR_TIMEOUT because the card IO LDO never powers on.

Thanks again for the examples — they saved a lot of reverse-engineering.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions