ESP32-PICO-KIT V4 Getting Started Guide (CMake)¶
This user guide shows how to get started with the ESP32-PICO-KIT V4 mini development board. For description of other versions of the ESP32-PICO-KIT check ESP32 Hardware Reference.
What You Need¶
- 1 × ESP32-PICO-KIT V4 mini development board
- 1 × USB A / Micro USB B cable
- 1 × PC loaded with Windows, Linux or Mac OS
If you want to start using this board right now, go directly to Section Start Application Development.
ESP32-PICO-KIT V4 is a mini development board produced by Espressif. At the core of this board is the ESP32-PICO-D4, a System-in-Package (SIP) module with complete Wi-Fi and Bluetooth functionalities. Comparing to other ESP32 chips, the ESP32-PICO-D4 integrates several peripheral components in one single package, that otherwise would need to be installed separately. This includes a 40 MHz crystal oscillator, 4 MB flash, filter capacitors and RF matching links in. This greatly reduces quantity and costs of additional components, subsequent assembly and testing cost, as well as overall product complexity.
The development board integrates a USB-UART Bridge circuit, allowing the developers to connect the board to a PC’s USB port for downloads and debugging.
For easy interfacing, all the IO signals and system power on ESP32-PICO-D4 are led out through two rows of 20 x 0.1” pitch header pads on both sides of the development board. To make the ESP32-PICO-KIT V4 fit into mini breadboards, the header pads are populated with two rows of 17 pin headers. Remaining 2 x 3 pads grouped on each side of the board besides the antenna are not populated. The remaining 2 x 3 pin headers may be soldered later by the user.
The 2 x 3 pads not populated with pin headers are internally connected to the flash memory embedded in the ESP32-PICO-D4 SIP module. For more details see module’s datasheet in Related Documents.
The board dimensions are 52 x 20.3 x 10 mm (2.1” x 0.8” x 0.4”), see Section Board Dimensions. An overview functional block diagram is shown below.
The following list and figure below describe key components, interfaces and controls of ESP32-PICO-KIT V4 board.
- Standard ESP32-PICO-D4 module soldered to the ESP32-PICO-KIT V4 board. The complete system of the ESP32 chip has been integrated into the SIP module, requiring only external antenna with LC matching network, decoupling capacitors and pull-up resistors for EN signals to function properly.
- 5V-to-3.3V Low dropout voltage regulator (LDO).
- USB-UART Bridge
- A single chip USB-UART bridge provides up to 1 Mbps transfers rates.
- Micro USB Port
- USB interface. It functions as the power supply for the board and the communication interface between PC and ESP32-PICO-KIT V4.
- 5V Power On LED
- This light emitting diode lits when the USB or an external 5V power supply is applied to the board. For details see schematic in Related Documents.
- All the pins on ESP32-PICO-D4 are broken out to the pin headers on the board. Users can program ESP32 to enable multiple functions such as PWM, ADC, DAC, I2C, I2S, SPI, etc. For details please see Section Pin Descriptions.
- BOOT Button
- Holding down the Boot button and pressing the EN button initiates the firmware download mode. Then user can download firmware through the serial port.
- EN Button
- Reset button; pressing this button resets the system.
Power Supply Options¶
There following options are available to provide power supply to the ESP32-PICO-KIT V4:
- Micro USB port, this is default power supply connection
- 5V / GND header pins
- 3V3 / GND header pins
Above options are mutually exclusive, i.e. the power supply may be provided using only one of the above options. Attempt to power the board using more than one connection at a time may damage the board and/or the power supply source.
Start Application Development¶
Before powering up the ESP32-PICO-KIT V4, please make sure that the board has been received in good condition with no obvious signs of damage.
The two tables below provide the Name and Function of I/O headers on both sides of the board, see ESP32-PICO-KIT V4 board layout. The pin numbering and header names are the same as on a schematic in Related Documents.
GPIO8, SD_DATA1, SPID, HS1_DATA1 (1) , U2CTS
GPIO7, SD_DATA0, SPIQ, HS1_DATA0 (1) , U2RTS
GPIO6, SD_CLK, SPICLK, HS1_CLK (1) , U1CTS
GPIO21, VSPIHD, EMAC_TX_EN
GPIO22, VSPIWP, U0RTS, EMAC_TXD1
GPIO19, VSPIQ, U0CTS, EMAC_TXD0
GPIO23, VSPID, HS1_STROBE
GPIO18, VSPICLK, HS1_DATA7
GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD
GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD
GPIO3, U0RXD (4) , CLK_OUT2
GPIO1, U0TXD (4) , CLK_OUT3, EMAC_RXD2
GPIO38, ADC1_CH2, ADC_PRE_AMP (2b) , RTC_GPIO2
GPIO37, ADC_PRE_AMP (2a) , ADC1_CH1, RTC_GPIO1
3.3V power supply
GPIO16, HS1_DATA4 (1) , U2RXD, EMAC_CLK_OUT
GPIO17, HS1_DATA5 (1) , U2TXD, EMAC_CLK_OUT_180
GPIO11, SD_CMD, SPICS0, HS1_CMD (1) , U1RTS
GPIO36, ADC1_CH0, ADC_PRE_AMP (2a) , RTC_GPIO0
GPIO39, ADC1_CH3, ADC_PRE_AMP (2b) , RTC_GPIO3
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
32K_XP (3a) , ADC1_CH4, TOUCH9, RTC_GPIO9
32K_XN (3b) , ADC1_CH5, TOUCH8, RTC_GPIO8
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17
ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI (5) , HSPIQ,
HS2_DATA2, SD_DATA2, EMAC_TXD3
ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,
HS2_DATA3, SD_DATA3, EMAC_RX_ER
ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0
HS2_CMD, SD_CMD, EMAC_RXD3
ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,
ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, EMAC_TX_ER
ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1
3.3V power supply
5V power supply
Notes to Pin Descriptions
- This pin is connected to the flash pin of ESP32-PICO-D4.
- When used as ADC_PRE_AMP, connect 270 pF capacitors between: (a) SENSOR_VP and IO37, (b) SENSOR_VN and IO38.
- 32.768 kHz crystal oscillator: (a) input, (b) output.
- This pin is connected to the pin of the USB bridge chip on the board.
- The operating voltage of ESP32-PICO-KIT’s embedded SPI flash is 3.3V. Therefore, the strapping pin MTDI should hold bit ”0” during the module power-on reset.