Chapter 1

Chapter 1: Pengenalan ESP32

Apa itu ESP32?

ESP32 adalah microcontroller dengan built-in WiFi dan Bluetooth yang dikembangkan oleh Espressif Systems. ESP32 sangat populer untuk project IoT (Internet of Things) karena harganya murah dan fiturnya lengkap.

Spesifikasi ESP32

Processor

  • CPU: Dual-core Xtensa LX6 (hingga 240 MHz)
  • RAM: 520 KB SRAM
  • ROM: 448 KB

Konektivitas

  • WiFi: 802.11 b/g/n (2.4 GHz)
  • Bluetooth: v4.2 BR/EDR dan BLE
  • Range: Hingga 100m (outdoor)

GPIO & Peripheral

  • GPIO pins: 34 pins (beberapa input only)
  • ADC: 18 channel 12-bit
  • DAC: 2 channel 8-bit
  • PWM: 16 channel
  • Touch sensor: 10 pins
  • SPI: 4 sets
  • I2C: 2 sets
  • UART: 3 sets

Perbandingan ESP32 vs Arduino Uno

FiturESP32Arduino Uno
ProcessorDual-core 240MHzSingle-core 16MHz
RAM520KB2KB
WiFi✅ Built-in❌ Perlu shield
Bluetooth✅ Built-in❌ Perlu shield
Harga~$3-5~$20-25
GPIO34 pins14 pins

Kenapa Pilih ESP32?

Kelebihan

Murah - Harga lebih terjangkau dengan fitur lebih banyak ✅ WiFi & Bluetooth - Built-in, tidak perlu module tambahan ✅ Powerful - Dual-core processor dengan clock speed tinggi ✅ Banyak GPIO - Cocok untuk project yang butuh banyak sensor ✅ Low Power - Ada deep sleep mode untuk battery powered project ✅ Community - Dokumentasi dan library yang lengkap

Kekurangan

Kompleks - Lebih susah dipelajari untuk pemula dibanding Arduino Uno ❌ Pin Voltage - GPIO hanya 3.3V (Arduino Uno 5V) ❌ Dokumentasi - Beberapa fitur advanced kurang dokumentasi

ESP32 Development Boards

Ada banyak varian ESP32 board:

  • Layout pin yang jelas
  • Integrated USB to Serial (CH340)
  • Harga murah (~$3)

2. ESP32 DevKit V1

  • Board original dari Espressif
  • 30 pins
  • Build quality bagus

3. ESP32-CAM

  • Built-in camera module
  • MicroSD card slot
  • Cocok untuk computer vision project

Pinout ESP32

Berikut adalah pinout umum untuk ESP32 DevKit:

                    +-----------------+
                    |    ESP32        |
         3.3V  -->  |EN          D23  |
         GND   -->  |VP          D22  | <-- I2C SCL
         D36   -->  |VN          TX0  |
         D39   -->  |D34         RX0  |
         D35   -->  |D35         D21  | <-- I2C SDA
         D32   -->  |D32         GND  |
         D33   -->  |D33         D19  | <-- MISO
         D25   -->  |D25         D18  | <-- SCK
         D26   -->  |D26         D5   | <-- CS
         D27   -->  |D27         D17  |
         D14   -->  |D14         D16  |
         D12   -->  |D12         D4   |
         GND   -->  |GND         D0   |
         D13   -->  |D13         D2   | <-- Built-in LED
         D9    -->  |SD2         D15  |
         D10   -->  |SD3         GND  |
         CMD   -->  |CMD         5V   | <-- Power input
         5V    -->  |5V          GND  |
                    +-----------------+

Important Notes

⚠️ Voltage Warning: GPIO ESP32 hanya support 3.3V! Jangan input 5V langsung atau bisa rusak.

⚠️ Boot Mode Pins: Pin GPIO0, GPIO2, GPIO12, GPIO15 digunakan untuk boot mode. Hindari menggunakannya jika tidak yakin.

⚠️ Input Only Pins: GPIO34, GPIO35, GPIO36, GPIO39 hanya bisa digunakan sebagai input, tidak ada internal pull-up/pull-down.

Kesimpulan

ESP32 adalah pilihan tepat untuk belajar embedded systems dan IoT karena:

  • Murah dan powerful
  • Built-in WiFi & Bluetooth
  • Banyak library dan community support
  • Cocok untuk project dari yang simple sampai kompleks

Di chapter selanjutnya, kita akan setup development environment dan install tools yang diperlukan.


Next: Chapter 2 - Setup Development Environment →