Closed-loop motor control
Hardware quadrature encoder decoding for wheel and joint feedback.
Engineering inference
Waveshare
Waveshare ESP32-P4-NANO is a 50 × 50 mm board built on the ESP32-P4NRW32 (dual-core RISC-V, 32 MB PSRAM, 16 MB flash), with an ESP32-C6-MINI-1 over SDIO for Wi-Fi 6 and Bluetooth 5. It has MIPI-DSI and MIPI-CSI (2-lane each), 100 Mbps Ethernet with a PoE header, USB 2.0 HS OTG on Type-A, Type-C power and flashing, a TF slot, a mic, a speaker amp and two 2×13 headers with 28 GPIO. From $18.99.
ESP32-P4-NANODevelopment boardFacts about the complete product. Unknown values remain open design questions.
Guidance to help you shortlist. The basis is shown for each recommendation.
Hardware quadrature encoder decoding for wheel and joint feedback.
Engineering inferenceOn-board radio: Wi-Fi 6 (via ESP32-C6 co-processor); Bluetooth 5 (via ESP32-C6).
Engineering inferencePrograms from ESP-IDF, Arduino IDE.
Engineering inferenceThe board is the parent product. Each chip has its own memory, pins, capabilities and thermal limits.
Espressif Systems
b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcuEspressif Systems
b0aaac01-aa2f-5dfe-b678-3c0051dc162a--u2Generated from the datasheet's dimensioned drawing and measured against it. Download the STEP to check fit in your own enclosure.
thickness=1.6 mm assumed: PCB thickness not printed; 1.6 mm assumed for the CAD envelope only
52 board pins and 28 explicit routes documented. The record marks the pinout complete. Alternate functions can share pins and may not be usable together.
Board connector positions are the physical points you wire to.
| Board pin | Connector / position | Electrical | Functions / constraints |
|---|---|---|---|
| 3V3ID L1 | H1 (left, LCD/CAM side)Position L1 | power out | power_out |
| 5VID L2 | H1 (left, LCD/CAM side)Position L2 | power in | power_in |
| GPIO7ID L3 | H1 (left, LCD/CAM side)Position L3 | gpio5 V tolerant: noMax drive 28 mA | SDA (wiki default), SPI2_CS, TOUCH_CHANNEL6 |
| 5VID L4 | H1 (left, LCD/CAM side)Position L4 | power in | power_in |
| GPIO8ID L5 | H1 (left, LCD/CAM side)Position L5 | gpio5 V tolerant: noMax drive 28 mA | SCL (wiki default), UART0_RTS, SPI2_D, TOUCH_CHANNEL7 |
| GNDID L6 | H1 (left, LCD/CAM side)Position L6 | 0 Vground | ground |
| GPIO23ID L7 | H1 (left, LCD/CAM side)Position L7 | gpio5 V tolerant: noMax drive 28 mA | REF_50M_CLK, ADC1_CHANNEL7 |
| GPIO37ID L8 | H1 (left, LCD/CAM side)Position L8 | gpio5 V tolerant: noMax drive 28 mA | UART0_TXD, SPI2_IO7 |
| GNDID L9 | H1 (left, LCD/CAM side)Position L9 | 0 Vground | ground |
| GPIO38ID L10 | H1 (left, LCD/CAM side)Position L10 | gpio5 V tolerant: noMax drive 28 mA | UART0_RXD, SPI2_DQS |
| GPIO5ID L11 | H1 (left, LCD/CAM side)Position L11 | gpio5 V tolerant: noMax drive 28 mA | MTDO, TOUCH_CHANNEL4 |
| GPIO4ID L12 | H1 (left, LCD/CAM side)Position L12 | gpio5 V tolerant: noMax drive 28 mA | MTMS, TOUCH_CHANNEL3 |
| GPIO20ID L13 | H1 (left, LCD/CAM side)Position L13 | gpio5 V tolerant: noMax drive 28 mA | ADC1_CHANNEL4 |
| GNDID L14 | H1 (left, LCD/CAM side)Position L14 | 0 Vground | ground |
| GPIO21ID L15 | H1 (left, LCD/CAM side)Position L15 | gpio5 V tolerant: noMax drive 28 mA | ADC1_CHANNEL5 |
| GPIO22ID L16 | H1 (left, LCD/CAM side)Position L16 | gpio5 V tolerant: noMax drive 28 mA | ADC1_CHANNEL6 |
| 3V3ID L17 | H1 (left, LCD/CAM side)Position L17 | power out | power_out |
| GPIO24ID L18 | H1 (left, LCD/CAM side)Position L18 | gpio5 V tolerant: noMax drive 28 mA | USB1P1_N0 |
| GPIO25ID L19 | H1 (left, LCD/CAM side)Position L19 | gpio5 V tolerant: noMax drive 28 mA | USB1P1_P0 |
| GNDID L20 | H1 (left, LCD/CAM side)Position L20 | 0 Vground | ground |
| GPIO26ID L21 | H1 (left, LCD/CAM side)Position L21 | gpio5 V tolerant: noMax drive 28 mA | USB1P1_N1 |
| GPIO27ID L22 | H1 (left, LCD/CAM side)Position L22 | gpio5 V tolerant: noMax drive 28 mA | USB1P1_P1 |
| GPIO32ID L23 | H1 (left, LCD/CAM side)Position L23 | gpio5 V tolerant: noMax drive 28 mA | SPI2_HOLD, GMAC_RMII_CLK |
| GPIO33ID L24 | H1 (left, LCD/CAM side)Position L24 | gpio5 V tolerant: noMax drive 28 mA | SPI2_WP, GMAC_PHY_TXEN |
| GNDID L25 | H1 (left, LCD/CAM side)Position L25 | 0 Vground | ground |
| GPIO36ID L26 | H1 (left, LCD/CAM side)Position L26 | gpio5 V tolerant: noMax drive 28 mA | SPI2_IO6, GMAC_PHY_TXER |
| 5VID R1 | H2 (right, MIC side)Position R1 | power in | power_in |
| ESP_LDO_VO4ID R2 | H2 (right, MIC side)Position R2 | power out | power_out ESP32-P4 internal LDO channel 4 output |
| GNDID R3 | H2 (right, MIC side)Position R3 | 0 Vground | ground |
| GNDID R4 | H2 (right, MIC side)Position R4 | 0 Vground | ground |
| 3V3ID R5 | H2 (right, MIC side)Position R5 | power out | power_out |
| GPIO0ID R6 | H2 (right, MIC side)Position R6 | gpio5 V tolerant: noMax drive 28 mA | XTAL_32K_N |
| GNDID R7 | H2 (right, MIC side)Position R7 | 0 Vground | ground |
| GPIO1ID R8 | H2 (right, MIC side)Position R8 | gpio5 V tolerant: noMax drive 28 mA | XTAL_32K_P |
| GPIO3ID R9 | H2 (right, MIC side)Position R9 | gpio5 V tolerant: noMax drive 28 mA | MTDI, TOUCH_CHANNEL2 |
| GNDID R10 | H2 (right, MIC side)Position R10 | 0 Vground | ground |
| GPIO2ID R11 | H2 (right, MIC side)Position R11 | gpio5 V tolerant: noMax drive 28 mA | MTCK, TOUCH_CHANNEL1 |
| GPIO6ID R12 | H2 (right, MIC side)Position R12 | gpio5 V tolerant: noMax drive 28 mA | SPI2_HOLD, TOUCH_CHANNEL5 |
| GPIO54ID R13 | H2 (right, MIC side)Position R13 | gpio5 V tolerant: noMax drive 28 mA | GMAC_PHY_RXER, ADC2_CHANNEL5, ANA_COMP1 |
| GPIO53ID R14 | H2 (right, MIC side)Position R14 | gpio5 V tolerant: noMax drive 28 mA | PA_Ctrl — speaker amplifier enable (active high), GMAC_PHY_RXD1, ADC2_CHANNEL4, ANA_COMP1 |
| GPIO47ID R15 | H2 (right, MIC side)Position R15 | gpio5 V tolerant: noMax drive 28 mA | SD1_CDATA6, GMAC_PHY_RXD1 |
| GPIO48ID R16 | H2 (right, MIC side)Position R16 | gpio5 V tolerant: noMax drive 28 mA | SD1_CDATA7, GMAC_PHY_RXER |
| GPIO46ID R17 | H2 (right, MIC side)Position R17 | gpio5 V tolerant: noMax drive 28 mA | SD1_CDATA5, GMAC_PHY_RXD0 |
| GNDID R18 | H2 (right, MIC side)Position R18 | 0 Vground | ground |
| GPIO45ID R19 | H2 (right, MIC side)Position R19 | gpio5 V tolerant: noMax drive 28 mA | SD1_CDATA4, GMAC_PHY_RXDV |
| C6_U0RXDID R20 | H2 (right, MIC side)Position R20 | other | c6_u0rxd ESP32-C6 co-processor pin (not an ESP32-P4 GPIO) |
| C6_IO12ID R21 | H2 (right, MIC side)Position R21 | other | c6_io12 ESP32-C6 co-processor pin (not an ESP32-P4 GPIO) |
| C6_U0TXDID R22 | H2 (right, MIC side)Position R22 | other | c6_u0txd ESP32-C6 co-processor pin (not an ESP32-P4 GPIO) |
| C6_IO13ID R23 | H2 (right, MIC side)Position R23 | other | c6_io13 ESP32-C6 co-processor pin (not an ESP32-P4 GPIO) |
| C6_IO9ID R24 | H2 (right, MIC side)Position R24 | other | c6_io9 ESP32-C6 co-processor pin (not an ESP32-P4 GPIO) |
| GNDID R25 | H2 (right, MIC side)Position R25 | 0 Vground | ground |
| GNDID R26 | H2 (right, MIC side)Position R26 | 0 Vground | ground |
A board label, a chip signal ID and a package lead number are different identifiers.
| Board connection | Chip instance | Chip signal | Package lead | Route |
|---|---|---|---|---|
L3 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO7ID GPIO7 | — | direct |
L5 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO8ID GPIO8 | — | direct |
L7 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO23ID GPIO23 | — | direct |
L8 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO37ID GPIO37 | — | direct |
L10 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO38ID GPIO38 | — | direct |
L11 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO5ID GPIO5 | — | direct |
L12 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO4ID GPIO4 | — | direct |
L13 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO20ID GPIO20 | — | direct |
L15 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO21ID GPIO21 | — | direct |
L16 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO22ID GPIO22 | — | direct |
L18 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO24ID GPIO24 | — | direct |
L19 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO25ID GPIO25 | — | direct |
L21 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO26ID GPIO26 | — | direct |
L22 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO27ID GPIO27 | — | direct |
L23 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO32ID GPIO32 | — | direct |
L24 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO33ID GPIO33 | — | direct |
L26 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO36ID GPIO36 | — | direct |
R6 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO0ID GPIO0 | — | direct |
R8 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO1ID GPIO1 | — | direct |
R9 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO3ID GPIO3 | — | direct |
R11 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO2ID GPIO2 | — | direct |
R12 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO6ID GPIO6 | — | direct |
R13 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO54ID GPIO54 | — | direct |
R14 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO53ID GPIO53 | — | direct |
R15 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO47ID GPIO47 | — | direct |
R16 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO48ID GPIO48 | — | direct |
R17 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO46ID GPIO46 | — | direct |
R19 | ESP32-P4NRW32XInstance b0aaac01-aa2f-5dfe-b678-3c0051dc162a--mcu | GPIO45ID GPIO45 | — | direct |
Chip signals stay attached to their chip instance, including their package lead and board exposure.
Chip package pins have not been transcribed for this instance.
Chip signals stay attached to their chip instance, including their package lead and board exposure.
Chip package pins have not been transcribed for this instance.
Supply voltage and GPIO logic voltage describe different parts of the design.
| Input | Voltage range | Connector | Notes |
|---|---|---|---|
| 5V | Unknown | — | — |
| 5V | Unknown | — | — |
| 5V | Unknown | — | — |
A 5 V supply input does not establish 5 V tolerance on GPIO. Check the documented power input and logic domain for each connection.
These describe the assembled board. Interface counts do not guarantee simultaneous operation.
| Interface | Support | Count | Details |
|---|---|---|---|
| i2c | Documented | Unknown | L3, L5 |
| other | Documented | Unknown | L3, L5, L7, L8, L10, L23, L24, L26, R12, R13, R14, R15, R16, R17, R19 |
| touch | Documented | Unknown | L3, L5, L11, L12, R9, R11, R12 |
| uart | Documented | Unknown | L5, L8, L10 |
| adc | Documented | Unknown | L7, L13, L15, L16, R13, R14 |
| jtag | Documented | Unknown | L11, L12, R9, R11 |
| usb | Documented | Unknown | L18, L19, L21, L22 |
| clock | Documented | Unknown | R6, R8 |
| control | Documented | Unknown | R14 |
Board capacity includes installed memory; chip-local memory is listed separately under each processor.
Capacities use KiB / MiB (1024-based units). Firmware partitions and runtime allocations reduce application-available memory.
Product operating conditions, chip ambient ratings, package case limits and junction maxima remain separate.
Reported product dimensions may exclude protruding components. Unknown height does not establish a complete clearance envelope.
Attached generated geometry is an approximate envelope. A generated outline does not establish an electrically verified PCB footprint.
| ID / type | Pins | Pitch | Notes |
|---|---|---|---|
| headerstwo 2×13 pin headers (H1 left, H2 right), 28 programmable GPIOs | 52 | Unknown | — |
| usb_cUSB Type-C — power supply, flashing, debugging | Unknown | Unknown | — |
| usb_aUSB Type-A, USB OTG 2.0 High Speed | Unknown | Unknown | — |
| rj45100 Mbps RJ45 Ethernet | Unknown | Unknown | — |
| dsiMIPI-DSI display connector, 2-lane | Unknown | Unknown | — |
| csiMIPI-CSI camera connector, 2-lane | Unknown | Unknown | — |
| speakerMX1.25 2P speaker connector (8 Ω 2 W) | 2 | 1.25 mm | — |
| poePoE module / external 5 V power header | Unknown | Unknown | — |
| tfTF card slot, SDIO 3.0 | Unknown | Unknown | — |
| rtcRTC battery holder (rechargeable cells only) | Unknown | Unknown | — |
Every available field, including details beyond the summaries. Null means the value has not been established.
US / USD is the target market. Observed price and stock are separate from a delivery quote.
US · USD
This observation is stale or has no verified check time. Recheck with the supplier.
Visit supplier (opens in a new tab)Delivery depends on quantity, postal code and shipping method. A dispatch statement such as “ship today” is not an arrival estimate.
Each source keeps its own verification status. Confirm the part revision and file contents before using it in a design.
Manufacturer reference
Manufacturer reference
inspected: black square board, two 2×13 headers on the sides, RJ45 + USB-A stack, USB-C, two FPC connectors (LCD / CAM), ESP32-C6 module, speaker and RTC connectors; silkscreen ESP32-P4-NANO
Generated asset
cad_check passed
Generated envelope geometry may also exist for this record. It does not replace manufacturer CAD or a verified electrical land pattern.
Document provenance, retrieval dates and the field groups supported by each source.
Supports: spec.constraints.electrical.io_voltage_v, spec.constraints.electrical.logic_high_min_v, spec.constraints.electrical.pin_drive_max_ma, spec.geometry.cad.assumptions, spec.geometry.cad.bbox.height_mm, spec.geometry.cad.bbox.length_mm, spec.geometry.cad.bbox.width_mm, spec.geometry.cad.envelope_complete, spec.geometry.cad.mesh_path, spec.geometry.cad.step_path, spec.geometry.cad.verification, spec.geometry.dimensions.length_mm, spec.geometry.dimensions.width_mm, spec.provides.capabilities, spec.provides.features, spec.provides.gpio_count, spec.provides.memory.flash_kb, spec.provides.memory.psram_kb, spec.provides.memory.sram_kb, spec.provides.software_frameworks, spec.provides.wireless, spec.usage.connectors, spec.usage.pin_mappings, spec.usage.pinout, spec.usage.pinout_complete, spec.usage.requirements.power_inputs
sha256 0e913c8b63d235c2a4572de8dd6f3aacc4c6e965d7199d0a6895432ce7e03158
Supports: offers
The Waveshare ESP32-P4-NANO is built around the ESP32-P4NRW32X, alongside ESP32-C6-MINI-1.
28 GPIO pins are exposed. Xirkit documents 52 board pins, 28 of them with pin-level electrical limits.
No. The I/O pins are not 5 V tolerant — they run at 3.3 V logic; use a level shifter for 5 V signals. Input-high threshold: 2.475–3.6 V.
Documented output-high current per pin: 40 mA typ. Values are traced to the chip datasheet; see the pinout table for per-pin limits and conditions.
Power inputs: 5V, 5V, 5V.
From $18.99 at www.waveshare.com. Prices are observed unit prices before tax and shipping.
50 × 50 mm. A STEP model is available for enclosure fit checks.
i2c, other, touch, uart, adc, jtag, usb, clock, control.
Supported frameworks: ESP-IDF, Arduino IDE.
Every value in this record is traced to a source — 2 documents including the board and chip datasheets — with the page and table cited per value. Unknowns are left explicit, never guessed.