NodeMCU adalah sebuah platform IoT yang bersifat opensource. Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System, juga firmware yang digunakan, yang menggunakan bahasa pemrograman scripting Lua. Istilah NodeMCU secara default sebenarnya mengacu pada firmware yang digunakan daripada perangkat keras development kit.

platform iot nodemcu board

Gambar. Diagram Penerapan Iot NodeMCU

NodeMCU bisa dianalogikan sebagai board arduino-nya ESP8266. Namun NodeMCU telah me-package ESP8266 ke dalam sebuah board yang kompak dengan berbagai fitur layaknya mikrokontroler dengan kapabilitas akses terhadap Wifi juga chip komunikasi USB to serial. Sehingga untuk memprogramnya hanya diperlukan ekstensi kabel data USB persis yang digunakan sebagai kabel data dan kabel charging smartphone.

  1. Sejarah NodeMcu

Sejarah lahirnya NodeMCU berdekatan dengan rilis ESP8266 pada 30 Desember 2013, Espressif Systems selaku pembuat ESP8266 memulai produksi ESP8266 yang merupakan SoC Wi-Fi yang terintegrasi dengan prosesor Tensilica Xtensa LX106. Sedangkan NodeMCU dimulai pada 13 Oktober 2014 saat Hong me-commit file pertama nodemcu-firmware ke Github. Dua bulan kemudian project tersebut dikembangkan ke platform perangkat keras ketika Huang R meng-commit file dari board ESP8266 , yang diberi nama devkit v.0.9.

Berikutnya, di bulan yang sama. Tuan PM memporting pustaka client MQTT dari Contiki ke platform SOC ESP8266 dan di-c0mmit ke project NodeMCU yang membuatnya mendukung protokol IOT MQTT melalui Lua. Pemutakhiran penting berikutnya terjadi pada 30 Januari 2015 ketika Devsaurus memporting u8glib ke project NodeMCU yang memungkinkan NodeMCU bisa mendrive display LCD, OLED, hingga VGA. Demikianlah, project NodeMCU terus berkebang hingga kini berkat komunitas open source dibaliknya, pada musim panas 2016 NodeMCU sudah terdiri memiliki 40 modul fungsionalitas yang bisa digunakan sesuai kebutuhan developer.

Artike Lainnya  Perbedaan IP Address IPv4 dan IPv6 dalam jaringan

Karena jantung dari NodeMCU adalah ESP8266 (khususnya seri ESP-12, termasuk ESP-12E) maka fitur – fitur yang dimiliki NodeMCU akan kurang lebih sama ESP-12 (juga ESP-12E untuk NodeMCU v.2 dan v.3) kecuali NodeMCU telah dibungkus oleh API sendiri yang dibangun berdasarkan bahasa pemrograman eLua, yang kurang lebih cukup mirip dengan javascript. Beberapa fitur tersebut antara lain

  1. 10 Port GPIO dari D0 – D10
  2. Fungsionalitas PWM
  3. Antarmuka I2C dan SPI
  4. Antarmuka 1 Wire
  5. ADC

Gambar berikut menjelaskan  posisi pin -pin dari ESP-12E

platform iot nodemcu board

  1. RST : berfungsi mereset modul
  2. ADC: Analog Digital Converter. Rentang tegangan masukan 0-1v, dengan skup nilai digital 0-1024
  3. EN: Chip Enable, Active High
  4. IO16 :GPIO16, dapat digunakan untuk membangunkan chipset dari mode deep sleep
  5. IO14 : GPIO14; HSPI_CLK
  6. IO12 : GPIO12: HSPI_MISO
  7. IO13: GPIO13; HSPI_MOSI; UART0_CTS
  8. VCC: Catu daya 3.3V (VDD)
  9. CS0 :Chip selection
  10. MISO : Slave output, Main input
  11. IO9 : GPIO9
  12. IO10 GBIO10
  13. MOSI: Main output slave input
  14. SCLK: Clock
  15. GND: Ground
  16. IO15: GPIO15; MTDO; HSPICS; UART0_RTS
  17. IO2 : GPIO2;UART1_TXD
  18. IO0 : GPIO0
  19. IO4 : GPIO4
  20. IO5 : GPIO5
  21. RXD : UART0_RXD; GPIO3
  22. TXD : UART0_TXD; GPIO1
  23. Tegangan Kerja

ESP8266 menggunakan standar tegangan JEDEC (tegangan 3.3V) untuk bisa berfungsi. Tidak seperti mikrokontroler AVR dan sebagian besar board Arduino yang memiliki tegangan TTL 5 volt. Meskipun begitu, node mcu masih bisa terhubung dengan 5V namun melalui port micro USB atau pin Vin yang disediakan oleh board-nya. Namun karena semua pin pada ESP8266 tidak toleran terhadap masukan 5V. Maka jangan sekali – kali langsung mencatunya dengan tegangan TTL jika tidak ingin merusak board anda. Anda bisa menggunakan Level Logic Converter untuk mengubah tegangan ke nilai aman 3.3v.

  1. Versi NodeMCU
Artike Lainnya  Tips mendinginkan Mainboard komputer yang overheat

Beberapa pengguna awal masih cukup bingung dengan beberapa kehadiran board NodeMCU. Karena sifatnya yang open source tentu akan banyak produsen yang memproduksinya dan mengembangkannya. Secara umum ada tiga produsen NodeMCU yang produknya kini beredar di pasaran:  Amica, DOIT, dan Lolin/WeMos. Dengan beberapa varian board yang diproduksi yakni V1, V2 dan V3.

1. Generasi pertama / board v.0.9 (Biasa disebut V1)

Board versi 0.9 sering disebut di pasar sebagai V.1 adalah versi asli yang berdimensi 47mm x 31mm. Memiliki inti ESP-12 dengan flash memory berukuran 4MB. Berikut adalah pinout dari board v.0.9

platform iot nodemcu board

Gambar. PinOut nodemcu devkit v1

Namun beberapa produk juga ada yang menggunakan chip ESP-12E sebagai inti dari board v.0.9 dengan tampilan board berubah menjadi hitam.

platform iot nodemcu board

Gambar. NodeMCU v1

2. Generasi kedua / board v 1.0 (biasa disebut V2)

paltform iot nodemcu board

Gambar. NodeMCU v2

Generasi kedua adalah pengembangan dari versi sebelumnya, dengan chip yang ditingkatkan dari sebelumnya ESP12 menjadi ESP12E. Dan IC Serial diubah dari CHG340 menjadi  CP2102.

platform iot nodemcu board

Gambar. Pin Out NodeMCU v2

3. Generasi ketiga / board v 1.0 ( biasa disebut V3 Lolin)

NodeMCU-Lua-V3-1

Gambar. NodeMCU v3

Sedangkan untuk V3 sebenarnya bukanlah versi resmi yang dirilis oleh NodeMCU. Setidaknya sampai sekarang, belum ada versi resmi untuk V3 NodeMCU. V3 hanyalah versi yang diciptakan oleh produsen LoLin dengan perbaikan minor terhadap V2. Diklaim memiliki antarmuka USB yang lebih cepat.

esp8266-nodemcu-dev-kit-v3-pins

Gambar. PinOut NodeMCU v3

Jika anda bandingkan dengan versi sebelumnya, dimensi dari board V3. akan lebih besar dibanding V2. Lolin menggunakan 2 pin cadangan untuk daya USB dan yang lain untuk GND tambahan.

Tentu  3 jenis versi ini akan berkembang  dan bertambah seiring dengan waktu karena sifatnya yang opensource. Mungkin  beberapa bulan atau beberapa tahun aka nada lagi versi-versi baru dari NodeMCU.