Hati-hati penggunaan PIN di NodeMCu ESP8266, tidak semua bisa digunakan

Print

nodemcu v3 pinout complete final 1024x839

? Pin yang Bisa Digunakan untuk SoftwareSerial di ESP8266

1. TX RX Default di NodeMCU

ESP8266 (NodeMCU)

Ya, pada ESP8266 (NodeMCU), SoftwareSerial bisa dipindahkan ke pin mana saja, kecuali pin yang sudah digunakan untuk fungsi khusus.

Toko Youtube TikTok  DONASI

? TX dan RX bawaan ini digunakan untuk komunikasi serial USB (Serial Monitor).


 

Kamu bisa memilih pin GPIO berikut untuk TX & RX:

Nama PinGPIOBisa Digunakan untuk SoftwareSerial?
D0 GPIO16 ❌ Tidak bisa (karena tidak mendukung attachInterrupt())
D1 GPIO5 ✅ Bisa
D2 GPIO4 ✅ Bisa
D3 GPIO0 ✅ Bisa (tapi hati-hati karena ini pin boot mode)
D4 GPIO2 ✅ Bisa (tapi hati-hati karena digunakan saat booting)
D5 GPIO14 ✅ Bisa
D6 GPIO12 ✅ Bisa
D7 GPIO13 ✅ Bisa
D8 GPIO15 ✅ Bisa (tapi hati-hati karena harus LOW saat boot)

ESP8266 (NodeMCU)

  • Bisa menggunakan SoftwareSerial untuk pindah TX RX ke pin lain.
  • Kekurangan: SoftwareSerial hanya mendukung baudrate rendah dan menggunakan CPU lebih banyak.

Pin S3, S2, S1, SC, SO, SK pada ESP8266 (NodeMCU) sebenarnya adalah pin yang digunakan untuk komunikasi SPI (Serial Peripheral Interface). Meskipun bisa digunakan sebagai GPIO biasa, ada beberapa hal yang perlu diperhatikan.

? Fungsi Default Pin S3, S2, S1, SC, SO, SK

Nama PinGPIOFungsi UtamaBisa Digunakan untuk SoftwareSerial?
S3 GPIO10 SPI MOSI (Data Output) ❌ Tidak disarankan (hanya tersedia di beberapa modul ESP) Dipakai untuk Flash Memory
S2 GPIO9 SPI MISO (Data Input) ❌ Tidak bisa diakses di NodeMCU biasa, Dipakai untuk Flash Memory
S1 GPIO8 SPI CS (Chip Select) ❌ Tidak bisa diakses di NodeMCU biasa, Dipakai untuk Flash Memory
SC GPIO0 SPI SS (Chip Select) ⚠️ Bisa, tapi hati-hati karena ini pin boot mode, Bisa mengganggu boot mode
SO GPIO12 SPI MISO ✅ Bisa (tidak disarankan beberapa kasus NodeMCU gagal exsekusi program)
SK GPIO14 SPI SCK (Clock) ✅ Bisa Bisa (tidak disarankan beberapa kasus NodeMCU gagal exsekusi program)

? Bisa Digunakan untuk TX RX SoftwareSerial?

  • S3 (GPIO10), S2 (GPIO9), dan S1 (GPIO8)
    Tidak bisa digunakan di NodeMCU standar karena terkait dengan flash memory internal.

    • Beberapa versi ESP8266 dengan memori lebih besar (4MB ke atas) mungkin bisa mengakses GPIO10, tapi tetap tidak stabil untuk SoftwareSerial.
  • SC (GPIO0)
    ⚠️ Bisa digunakan, tapi hati-hati!

    • GPIO0 berperan dalam mode booting ESP.
    • Jika digunakan sebagai TX/RX dan tertahan dalam kondisi tertentu, ESP bisa gagal boot.

SO (GPIO12) & SK (GPIO14)
Bisa digunakan untuk SoftwareSerial tanpa masalah.

Contoh pemindahan TX ke GPIO12 dan RX ke GPIO14 

#include 
// TX di GPIO12 (SO), RX di GPIO14 (SK)
SoftwareSerial mySerial(12, 14);  
void setup() {
  Serial.begin(115200);  // Debug Serial
  mySerial.begin(9600);  // SoftwareSerial baudrate
}
void loop() {
  if (mySerial.available()) {
    Serial.write(mySerial.read());  
  }
}
Informasi Pemilik Blog
JokoVlog
Author: JokoVlogWebsite: https://s.id/jokovlogEmail: This email address is being protected from spambots. You need JavaScript enabled to view it.
Assalamualaikum wr. wb salam satu Server
Blog ini hanya untuk menceritakan kegiatan sehari-hari. Saat ini masih aktif menjadi akademisi. Youtube Channel : https://s.id/jokovlog Donasi: https://saweria.co/jokovlog