ESP32 Pinout
Tags: esp32, guide, iot, pinout
Published: 2022-11-24 21:00:05

---
title: ESP32 Pinout
published: true
date: 2021-02-18 00:00:00 UTC
tags: ESP32,Guide,IoT,Pinout
canonical_url: https://ahonerd.com/esp32-pinout
---

Refensi pinout ESP32 termasuk informasi pin mana saja yang aman untuk digunakan.

## Wemos LOLIN32 Pinout

Berikut adalah pinout diagram untuk Wemos LOLIN32

![lolin32](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tvnrmqed0tztct6h8u5i.png)

## Wemos LOLIN32 Lite Pinout

Berikut adalah pinout diagram untuk Wemos LOLIN32 Lite

![lolin32 Lite](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ad6cgvhli46g7z5iq1j7.png)

## Which Pin to Use

Setiap pin yang ada pada board ini tidak semuanya bisa digunakan. Karena apabila sampai salah pengunaan pin, maka bisa jadi board kita gagal booting atau malah rusak.

![Pinout Table](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4n2lqfkdqze5ihpiilxq.jpg)

<blockquote>
  <table>
    <tbody><tr><td><code>Hijau</code>&nbsp;</td><td>Aman untuk digunakan</td></tr>
    <tr><td><code>Kuning</code>&nbsp;</td><td>Dapat digunakan, tapi perlu perhatian</td></tr>
    <tr><td><code>Merah</code>&nbsp;</td><td>Tidak dianjurkan untuk digunakan</td></tr>
  </tbody></table>
</blockquote>

### High at Boot

Ada beberapa pin yang mengeluarkan signal <code>HIGH</code> atau `PWM` pada saat reset atau booting, dan akan menjadi masalah apabila kita menghubungkannya pada relay.

## ESP32 Peripherals

Peripheral yang terdapat pada ESP32:

- 34 programmable GPIO
- 18 channel 12-bit SAR ADC (Analog-to-Digital Converter)
- 2 channel 8-bit DAC (Digital-to-Analog Converters)
- 10 capacitive touch sensor
- 4 SPI (Serial Peripheral Interface)
- 2 I2S (Inter-IC Sound interfaces)
- 2 I2C (Inter-Integrated Circuit) interface
- 3 UART (Universal Asynchronous Receiver Transmitter)
- 1 host (SD/eMMC/SDIO)
- 1 slave (SDIO/SPI)
- Ethernet MAC interface with dedicated DMA and IEEE 1588 support
- Two-Wire Automotive Interface (TWAI®, compatible with ISO11898-1)
- IR (TX/RX)
- Motor PWM
- 16 channel LED PWM output
- Hall sensor

### GPIO

ESP32 memiliki 34 pin <code>GPIO</code> yang dikategorikan menjadi:

- Digital only
- Analog enabled
- Capacitive touch enabled
- dll

Analog enabled GPIO dan Capacitive touch enabled GPIO dapat dikonfigurasi sebagai digital GPIO.
Kebanyakan digital GPIO dapat dikonfigurasi sebagai internal pull-up atau pull-down, atau disetting menjadi high impedance.

Pin berikut tidak memiliki internal pull-up atau pull-down resistors, sehingga hanya bisa digunakan sebagai input, diantaranya:

- <code>GPIO34</code>
- <code>GPIO35</code>
- <code>GPIO36</code>
- <code>GPIO39</code>

### Pin not to use

Pin berikut ini terhubung integrated SPI flash. Pada beberapa development board pin berikut ini available untuk user tapi tidak direkomendasikan untuk digunakan, diantaranya:

- <code>GPIO6</code>
- <code>GPIO7</code>
- <code>GPIO8</code>
- <code>GPIO9</code>
- <code>GPIO10</code>
- <code>GPIO11</code>

### ADC (Analog-to-Digital Converter) pin

ESP32 terintegerasi 12-bit SAR ADC dan supports pengukuran pada 18 channel. ULP-coprocessor pada ESP32 juga di-design untuk mengukur voltage bakan dalam kondisi sleep mode, yang memungkinkan penggunaan dengan konsumsi low-power.

Berikut adalah pin ADC dan channel-nya:

- <code>GPIO36</code> (ADC1_CH0)
- <code>GPIO37</code> (ADC1_CH1)
- <code>GPIO38</code> (ADC1_CH2)
- <code>GPIO39</code> (ADC1_CH3)
- <code>GPIO32</code> (ADC1_CH4)
- <code>GPIO33</code> (ADC1_CH5)
- <code>GPIO34</code> (ADC1_CH6)
- <code>GPIO35</code> (ADC1_CH7)
- <code>GPIO4</code> (ADC2_CH0)
- <code>GPIO0</code> (ADC2_CH1)
- <code>GPIO2</code> (ADC2_CH2)
- <code>GPIO15</code> (ADC2_CH3)
- <code>GPIO13</code> (ADC2_CH4)
- <code>GPIO12</code> (ADC2_CH5)
- <code>GPIO14</code> (ADC2_CH6)
- <code>GPIO27</code> (ADC2_CH7)
- <code>GPIO25</code> (ADC2_CH8)
- <code>GPIO26</code> (ADC2_CH9)

### Hall Sensor

ESP32 terintegerasi hall sensor berbasis N-carrier resistor. Ketika chip didekatkan pada medan magnet, hall sensor menghasilkan (sedikit) voltage yang dapat diukur oleh ADC.

### DAC (Digital-to-Analog Converter) pin

ESP32 memiliki 2 channel 8-bit DAC yang dapat digunakan untuk mengkonversi 2 signal digital menjadi 2 signal analog. DAC ini juga support konversi independent. Berikut ini pin DAC:

- <code>GPIO25</code> (DAC1)
- <code>GPIO26</code> (DAC2)

### Touch sensors

ESP32 memiliki 10 internal capacitive touch sensors. Touch sensor dapat mendeteksi sentuhan, baik secara langsung ataupun dengan menghubungkannya dengan capacitive pads. Selain dapat mendeteksi sentuhan, touch sensor juga dapat digunakan untuk membangunkan ESP32 dari deep sleep, diantaranya

- T0 <code>GPIO4</code>
- T1 <code>GPIO0</code>
- T2 <code>GPIO2</code>
- T3 <code>GPIO15</code> (MTDO)
- T4 <code>GPIO13</code> (MTCK)
- T5 <code>GPIO12</code> (MTDI)
- T6 <code>GPIO14</code> (MTMS)
- T7 <code>GPIO27</code>
- T8 <code>GPIO33</code> (32K_XN)
- T9 <code>GPIO32</code> (32K_XP)

### ULP (Ultra-Low-Power) Co-processor

ULP processor dan RTC memory akan terus aktif selama deep sleep. Dengan begitu kita dapat menyimpan sebuah program untuk ULP processor di dalam RTC (slow) memory untuk mengakses peripheral devices, timer internal dan sensor internal selama deep sleep. Feature ini sangat berguna untuk aplikasi yang membutuhkan CPU untuk terbangun oleh event external, atau timer, atau mungkin kombinasinya, selagi tetap menggunakan konsumsi daya minimal.

### Ethernet MAC Interface

Sebua IEEE-802.3-2008-compliant MAC (Media Access Controller) tersedia untuk komunikasi ethernet LAN. ESP32 memerlukan sebuah PHY (physical interface device) untuk bisa terhubung ke LAN bus fisik. PHY dapat dihubungkan dengan ESP32 melalui 17 signal MII atau 9 signal RMII. Berikut ini feature yang support oleh Ethernet MAC (EMAC) interface:

- 10 Mbps and 100 Mbps rates
- Dedicated DMA controller allowing high-speed transfer between the dedicated SRAM and Ethernet MAC
- Tagged MAC frame (VLAN support)
- Half-duplex (CSMA/CD) and full-duplex operation
- MAC control sublayer (control frames)
- 32-bit CRC generation and removal
- Several address-filtering modes for physical and multicast address (multicast and group addresses)
- 32-bit status code for each transmitted or received frame
- Internal FIFOs to buffer transmit and receive frames. The transmit FIFO and the receive FIFO are both 512 words (32-bit)
- Hardware PTP (Precision Time Protocol) in accordance with IEEE 1588 2008 (PTP V2)
- 25 MHz/50 MHz clock output

### SD/SDIO/MMC Host Controller

Feature yang di-support SD/SDIO/MMC host controller pada ESP32, adalah:

- Secure Digital memory (SD mem Version 3.0 and Version 3.01)
- Secure Digital I/O (SDIO Version 3.0)
- Consumer Electronics Advanced Transport Architecture (CE-ATA Version 1.1)
- Multimedia Cards (MMC Version 4.41, eMMC Version 4.5 and Version 4.51)

Controller mengizinkan output sampai 80 MHz dalam 3 mode data-bus berbeda, yaitu: 1-bit, 4-bit and 8-bit. Support untuk 2 SD/SDIO/MMC4.41 card dalam mode data-bus 4-bit. Support 1 SD card untuk beroperasi pada 1.8V.

### UART (Universal Asynchronous Receiver Transmitter)

Pada ESP32 terdapat 3 UART interface, yaitu `UART0`, `UART1` dan `UART2` yang menyediakan komunikasi secara asynchronous (RS232 and RS485) dan support IrDA, dapat berkomunikasi pada kecepatan 5Mbps.

### I2C Interface

Pada ESP32 terdapat 2 I2C bus interface yang dapat diperlakukan sebagai master ataupun slave. I2C interface support:

- Standard mode (100 Kbit/s)
- Fast mode (400 Kbit/s)
- Up to 5 MHz, yet constrained by SDA pull-up strength
- 7-bit/10-bit addressing mode
- Dual addressing mode

Pada penggunaan ESP32 dengan Arduino IDE, pin I2C default adalah:

- <code>SDA</code> <code>GPIO21</code>
- <code>SCL</code> <code>GPIO22</code>

### I2S Interface

Pada ESP32 terdapat 2 standard I2S interface yang dapat dioperasikan dalam mode master atau slave, dalam mode komunikasi full-duplex dan half-duplex, juga dapat beroperasi dengan resolusi 8-/16-/32-/48-/64-bit sebagai channel input atau output. Support BCK clock frequency, dari 10 kHz sampai 40 MHz.

> Kedua I2S interface memiliki dedicated DMA controllers. Support juga PDM dan BT PCM interface.

### PWM (Pulse Width Modulation)

PWM controller dapat digunakan sebagai driver motor digital dan smart lights.

### LED PWM

LED PWM controller dapat membuat 16 channel independent dari digital waveforms periods dan duties yang dapat dikonfigurasi.

### SPI (Serial Peripheral Interface)

Pada ESP32 terdapat 3 SPI: SPI, HSPI dan VSPI, dalam mode slave dan master dalam mode komunikasi 1-line full-duplex dan 1/2/4-line half-duplex.

Support general-purpose SPI features:

- 4 mode SPI transfer format, yang tergantung pada polarity (CPOL) dan phase (CPHA) dari SPI clock
- Sampai 80 MHz (kecepatan aktual dapat dicapai tergantung pada pad yang digunakan, PCB tracing, peripheral characteristics, dll.)
- Sampai 64-byte FIFO

Semua SPI dapat juga dihubungkan ke external flash/SRAM dan LCD.

### Interrupts

Semua GPIO pin pada ESP32 dapat dikonfigurasi sebagai interrupts.

## Wi-Fi

ESP32 mengimplementasikan TCP/IP dan protokol Wi-Fi MAC 802.11 full b/g/n. Support BSS (Basic Service Set) STA dan SoftAP di bawah DCF (Distributed Control Function).

Wi-Fi Key Features

- 802.11 b/g/n
- 802.11 n (2.4 GHz), up to 150 Mbps
- WMM
- TX/RX A-MPDU, RX A-MSDU
- Immediate Block ACK
- Defragmentation
- Automatic Beacon monitoring (hardware TSF)
- 4 × virtual Wi-Fi interfaces
- Simultaneous support for Infrastructure Station, SoftAP, and Promiscuous modes
- Antenna diversity

> Ketika ESP32 dalam Station mode dan melakukan scan, maka SoftAP channel akan berubah.

## Bluetooth

Pada ESP32 terintegerasi sebuah Bluetooth link controller dan Bluetooth baseband, yang membawa baseband protocols dan low-level link routines lainnya, seperti modulation/demodulation, packet processing, bit stream processing, frequency hopping, dll.

### Bluetooth Key Features

- Bluetooth v4.2 BR/EDR dan BLE specifications
- Class-1, class-2 dan class-3 transmitter tanpa external power amplifier
- Enhanced Power Control
- +12 dBm transmitting power
- NZIF receiver dengan –94 dBm BLE sensitivity
- Adaptive Frequency Hopping (AFH)
- Standard HCI berbasis SDIO/SPI/UART
- High-speed UART HCI, sampai 4 Mbps
- Bluetooth 4.2 BR/EDR BLE dual mode controller
- Synchronous Connection-Oriented/Extended (SCO/eSCO)
- CVSD dan SBC for audio codec
- Bluetooth Piconet dan Scatternet
- Multi-connections in Classic BT dan BLE
- Simultaneous advertising dan scanning

### Bluetooth Interface

- UART HCI interface, sampai 4 Mbps
- SDIO / SPI HCI interface
- PCM / I2S audio interface

### Bluetooth Stack

Bluetooth stack dari chip ini sesuai dengan spesifikasi Bluetooth v4.2 BR/EDR dan Bluetooth LE.

## RTC and Low-Power Management

Dengan penggunaan advanced power-management technologies, ESP32 dapat berganti antara mode daya yang berbeda.

### Power modes

- **Active mode**: Radio chip radio menyala. Chip dapat menerima, mengirimkan, atau mendengarkan.
- **Modem-sleep mode**: CPU beroperasi dan clock dapat dikonfigurasi. Baseband dan radio Wi-Fi/Bluetooth dinonaktifkan.
- **Light-sleep mode**: CPU dijeda. RTC memory dan RTC peripherals, serta prosesor bersama ULP berjalan. Setiap wake-up events (MAC, host, RTC timer, atau external interrupts) akan membangunkan chip.
- **Deep-sleep mode**: Hanya RTC memory dan RTC peripherals yang menyala. Data koneksi Wi-Fi dan Bluetooth disimpan di memori RTC. ULP co-processor berfungsi.
- **Hibernation mode**: Oscillator internal 8-MHz dan ULP co-processor dinonaktifkan. RTC recovery memory dimatikan. Hanya satu RTC timer pada slow clock dan GPIO RTC tertentu yang aktif. RTC timer atau RTC GPIO dapat mengaktifkan chip dari Hibernation mode.

## Security

Feature keamanan yang ditawarkan oleh chip ini diantaranya:

- Secure boot
- Flash encryption
- 1024-bit OTP, up to 768-bit for customers
- Cryptographic hardware acceleration:
  - AES
  - Hash (SHA-2)
  - RSA
  - ECC
  - RNG (Random Number Generator)

## Reference

ESP32 pinout reference guide ini diambil dari berbagai sumber, diantaranya: [docs.espressif.com](https://docs.espressif.com/), [www.espressif.com](https://www.espressif.com/) dll.