# A. Berkenalan dengan ESP32

Memahami sedikit seluk beluk apa itu ESP32

# Salam kenal, aku ESP 32

<p class="callout success">dibuat untuk tugas mata kuliah EL5057 Sistem Penginderaan</p>

Halo teman-teman, mari berkenalan dengan mikrokontroler **ESP32**. jadi, apasih sebenarnya ESP32? ESP 32 adalah mikrokontroler serbaguna yang memiliki dua inti prosesor untuk kinerja yang cepat dan efisien. Dengan kemampuan WiFi dan Bluetooth terintegrasi, ESP32 memungkinkan pengembang untuk membuat proyek-proyek IoT yang terhubung ke internet tanpa perlu tambahan perangkat keras. Kelebihan ESP32 terletak pada fleksibilitasnya; dapat diprogram menggunakan Arduino IDE, MicroPython, atau bahasa pemrograman lainnya. Dengan dukungan sensor yang beragam, ESP32 memungkinkan pembuatan proyek-proyek yang mencakup pengukuran suhu, kendali perangkat, dan pengiriman data ke cloud. Kesederhanaan penggunaan dan ukurannya yang kecil membuat ESP32 menjadi pilihan populer untuk berbagai aplikasi, mulai dari perangkat pintar hingga robotika, memberikan para pengembang alat yang kuat untuk mewujudkan ide-ide kreatif mereka dengan mudah.

[![image.png](https://blog.sandihex.id/uploads/images/gallery/2024-03/scaled-1680-/LGiimage.png)](https://blog.sandihex.id/uploads/images/gallery/2024-03/LGiimage.png)

Jadi, bayangkan ESP32 seperti otak kecil yang super pintar untuk proyek-proyek elektronik kamu. Ini adalah mikrokontroler canggih yang bisa melakukan banyak hal seru. Jadi, apa yang bikin ESP32 istimewa?

<div class="w-full text-token-text-primary" data-testid="conversation-turn-3" id="bkmrk-dua-dalam-satu%3A-esp3" style="text-align: justify;"><div class="px-4 py-2 justify-center text-base md:gap-6 m-auto"><div class="flex flex-1 text-base mx-auto gap-3 md:px-5 lg:px-1 xl:px-5 md:max-w-3xl group"><div class="relative flex w-full flex-col agent-turn"><div class="flex-col gap-1 md:gap-3"><div class="flex flex-grow flex-col max-w-full"><div class="min-h-[20px] text-message flex flex-col items-start gap-3 whitespace-pre-wrap break-words [.text-message+&]:mt-5 overflow-x-auto" data-message-author-role="assistant" data-message-id="dedb5e4e-86ac-46ee-8cf8-0e0fc003b675"><div class="markdown prose w-full break-words dark:prose-invert dark">1. **Dua dalam Satu:** ESP32 sebenarnya seperti paket hemat, karena seolah-olah kamu mendapatkan dua mikrokontroler dalam satu! Ada dua inti prosesor di dalamnya, yang artinya ESP32 bisa melakukan beberapa tugas sekaligus tanpa jadi lelet.
2. **WiFi dan Bluetooth:** Nah, ESP32 juga punya kemampuan WiFi dan Bluetooth bawaan. Bayangkan kamu bisa membuat gadget yang bisa terhubung ke internet tanpa perlu mikrokontroler ekstra. Seru, kan?
3. **Luar Biasa Ringkas:** Meskipun kecil, ESP32 itu luar biasa hebat. Kamu bisa pakai ini untuk buat perangkat pintar, seperti sensor suhu yang bisa dikontrol dari jauh, atau mungkin robot mini yang bisa diarahkan pakai smartphone.
4. **Sahabat Programmer:** ESP32 juga sangat ramah buat para programmer. Kamu bisa pakai Arduino IDE atau bahkan MicroPython untuk membuat programnya. Jadi, meskipun kamu bukan ahli, kamu bisa tetap membuat proyek seru dengan ESP32.
5. **Banyak Fitur Keren:** Sensor, koneksi ke internet, kemampuan pengolahannya, semuanya lengkap di ESP32. Kamu bisa mengukur suhu, mengontrol perangkat, bahkan memonitor data dan mengirimnya ke cloud. Gila, kan?

</div></div></div></div></div></div></div></div>Jadi, singkatnya, ESP32 itu seperti sihir untuk dunia elektronik. Kamu bisa berkreasi tanpa batas dan membuat proyek-proyek seru dengan mudah. Nah, biasanya ESP32 yang dijual di pasaran sudah termasuk dengan *development board* nya agar kita bisa langsung pakai untuk pemrograman. Contoh *dev-board* nya adalah sebagai berikut.

[![image.png](https://blog.sandihex.id/uploads/images/gallery/2024-03/scaled-1680-/8eCimage.png)](https://blog.sandihex.id/uploads/images/gallery/2024-03/8eCimage.png)

# Spesifikasi ESP32

<p class="callout success">dibuat untuk tugas mata kuliah EL5057 Sistem Penginderaan</p>

Mari mengenal lebih detail ESP32 ini, dari namanya sih sepertinya singkatan dari nama perusahaan yang membungkus chipset ini kedalam satu chip yaitu ESPRESSIF. Espressif Systems adalah perusahaan semikonduktor yang berkantor pusat di Tiongkok, yang terkenal dengan pengembangan mikrokontroler, khususnya seri ESP8266 dan ESP32 yang sangat populer di komunitas elektronika dan *Internet of Things* (IoT). Didirikan pada tahun 2008, Espressif fokus pada inovasi dalam desain chip nirkabel dan sistem chip terintegrasi untuk aplikasi WiFi dan Bluetooth. Produk unggulan mereka, seperti ESP8266 dan ESP32, telah memainkan peran penting dalam mendorong pertumbuhan ekosistem IoT dan DIY (*Do It Yourself*).

Berdasarkan data dari laman resmi Espressif System tentang chipset ESP32 ([https://esp32.net](https://esp32.net)), berikut adalah blok fungsi (*function block*) lengkap dari ESP32 yang akan kita gunakan untuk belajar pemrograman mikrokontroler.

[![Screenshot 2024-03-03 at 09.37.29.png](https://blog.sandihex.id/uploads/images/gallery/2024-03/scaled-1680-/screenshot-2024-03-03-at-09-37-29.png)](https://blog.sandihex.id/uploads/images/gallery/2024-03/screenshot-2024-03-03-at-09-37-29.png)

Nah, terlihat sangat lengkap sekali bukan, walaupun ukurannya sekecil kotak penghapus, ternyata kelengkapannya sangat mirip dengan personal computer yang kita punya. Berikut adalah fitur-fitur tambahan dari ESP32 yang sudah tertanam dalam SoC (*System on Chip*).

---

##### Wi-Fi

- 802.11b/g/n
- 802.11n (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 Note that when ESP32 is in Station mode, performing a scan, the SoftAP channel will be changed.
- Antenna diversity

---

##### Bluetooth<sup>®</sup>

- Compliant with Bluetooth v4.2 BR/EDR and Bluetooth LE specifications
- Class-1, class-2 and class-3 transmitter without external power amplifier
- Enhanced Power Control
- +9 dBm transmitting power
- NZIF receiver with –94 dBm Bluetooth LE sensitivity
- Adaptive Frequency Hopping (AFH)
- Standard HCI based on SDIO/SPI/UART
- High-speed UART HCI, up to 4 Mbps
- Bluetooth 4.2 BR/EDR and Bluetooth LE dual mode controller
- Synchronous Connection-Oriented/Extended (SCO/eSCO)
- CVSD and SBC for audio codec
- Bluetooth Piconet and Scatternet
- Multi-connections in Classic Bluetooth and Bluetooth LE
- Simultaneous advertising and scanning

---

##### CPU and Memory

- Xtensa® single-/dual-core 32-bit LX6 microprocessor(s)
- CoreMark® score: 
    - 1 core at 240 MHz: 504.85 CoreMark; 2.10 CoreMark/MHz
    - 2 cores at 240 MHz: 994.26 CoreMark; 4.14 CoreMark/MHz
- 448 KB ROM
- 520 KB SRAM
- 16 KB SRAM in RTC
- QSPI supports multiple flash/SRAM chips

---

##### Clocks and Timers

- Internal 8 MHz oscillator with calibration
- Internal RC oscillator with calibration
- External 2 MHz ~ 60 MHz crystal oscillator (40 MHz only for Wi-Fi/Bluetooth functionality)
- External 32 kHz crystal oscillator for RTC with calibration
- Two timer groups, including 2 × 64-bit timers and 1 × main watchdog in each group
- One RTC timer
- RTC watchdog

---

##### Advanced Peripheral Interfaces

- 34 × programmable GPIOs 
    - 5 strapping GPIOs
    - 6 input-only GPIOs
    - 6 GPIOs needed for in-package flash/PSRAM (ESP32-D0WDR2-V3, ESP32-U4WDH)
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DAC • 10 × touch sensors
- 4 × SPI
- 2 × I2S
- 2 × I2C
- 3 × UART
- 1 host (SD/eMMC/SDIO)
- 1 slave (SDIO/SPI)
- Ethernet MAC interface with dedicated DMA and IEEE 1588 support
- TWAI®, compatible with ISO 11898-1 (CAN Specification 2.0)
- RMT (TX/RX)
- Motor PWM
- LED PWM up to 16 channels

---

##### Power Management

- Fine-resolution power control through a selection of clock frequency, duty cycle, Wi-Fi operating modes, and individual power control of internal components
- Five power modes designed for typical scenarios: Active, Modem-sleep, Light-sleep, Deep-sleep, Hibernation
- Power consumption in *Deep-sleep* mode is **10 µA**
- Ultra-Low-Power (ULP) coprocessors
- RTC memory remains powered on in Deep-sleep mode

---

Nah, satu lagi saya tambahkan disini adalah data konsumsi daya dari **ESP32**. <span style="color: rgb(224, 62, 45);">Kenapa konsumsi daya penting?</span>, karena sistem IoT yang dipasang di lapangan biasanya menggunakan baterai sehingga dengan mendesain ESP32 agar irit daya, menjadikan alat IoT kita tahan lama. Berikut adalah tabel konsumsi daya dari ESP32.

[![Screenshot 2024-03-03 at 10.11.19.png](https://blog.sandihex.id/uploads/images/gallery/2024-03/scaled-1680-/screenshot-2024-03-03-at-10-11-19.png)](https://blog.sandihex.id/uploads/images/gallery/2024-03/screenshot-2024-03-03-at-10-11-19.png)

# ESP 32 pinout

---

#### <span style="color: rgb(35, 111, 161);">**ESP-32 Devkit V1 Pinout 30 Pin**</span>  


[![image.png](https://blog.sandihex.id/uploads/images/gallery/2024-03/scaled-1680-/EMDimage.png)](https://blog.sandihex.id/uploads/images/gallery/2024-03/EMDimage.png)

---

#### <span style="color: rgb(35, 111, 161);">**ESP-32 Devkit V1 Pinout 38 Pin**</span>

[![image.png](https://blog.sandihex.id/uploads/images/gallery/2024-03/scaled-1680-/yrDimage.png)](https://blog.sandihex.id/uploads/images/gallery/2024-03/yrDimage.png)