Hati-hati penggunaan PIN di NodeMCu ESP8266, tidak semua bisa digunakan
? Pin yang Bisa Digunakan untuk SoftwareSerial di ESP8266
1. TX RX Default di NodeMCU
ESP8266 (NodeMCU)
- TX (Transmit) → GPIO1 (TX) → D10
- RX (Receive) → GPIO3 (RX) → D9
Ya, pada ESP8266 (NodeMCU), SoftwareSerial bisa dipindahkan ke pin mana saja, kecuali pin yang sudah digunakan untuk fungsi khusus.
? TX dan RX bawaan ini digunakan untuk komunikasi serial USB (Serial Monitor).
Kamu bisa memilih pin GPIO berikut untuk TX & RX:
| Nama Pin | GPIO | Bisa 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 Pin | GPIO | Fungsi Utama | Bisa 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()); } }


