Knowledge (XXG)

NodeMCU

Source 📝

948: 115: 27: 295:
and the Arduino IDE to compile an Arduino C/C++ source file for the target MCU's machine language. Some ESP8266 enthusiasts developed an Arduino core for the ESP8266 WiFi SoC, popularly called the "ESP8266 Core for the Arduino IDE". This has become a leading software development platform for the various ESP8266-based modules and development boards, including NodeMCUs.
265:
to the ESP8266 SoC platform, and committed to NodeMCU project, then NodeMCU was able to support the MQTT IoT protocol, using Lua to access the MQTT broker. Another important update was made on 30 Jan 2015, when Devsaurus ported the u8glib to the NodeMCU project, enabling NodeMCU to easily drive LCD,
294:
so it would be relatively easy to change the IDE to support alternate toolchains to allow Arduino C/C++ to be compiled for these new processors. They did this with the introduction of the Board Manager and the SAM Core. A "core" is the collection of software components required by the Board Manager
252:
began production of the ESP8266. NodeMCU started on 13 Oct 2014, when Hong committed the first file of nodemcu-firmware to GitHub. Two months later, the project expanded to include an open-hardware platform when developer Huang R committed the
1313: 269:
In the summer of 2015 the original creators abandoned the firmware project and a group of independent contributors took over. By the summer of 2016 the NodeMCU included more than 40 different modules.
193:
for embedded controllers. Due to resource constraints, users need to select the modules relevant for their project and build a firmware tailored to their needs. Support for the 32-bit
189:
scripting language. The firmware is based on the eLua project, and built on the Espressif Non-OS SDK for ESP8266. It uses many open source projects, such as lua-cjson and SPIFFS, a
204:(DIP) which integrates a USB controller with a smaller surface-mounted board containing the MCU and antenna. The choice of the DIP format allows for easy prototyping on 975: 1339: 458: 968: 861: 1023: 757: 1094: 730: 783: 1155: 961: 304: 48: 550: 1344: 1349: 1272: 186: 426:
D0 (GPIO16) can only be used for GPIO read/write. It does not support open-drain/interrupt/PWM/I²C or 1-Wire.
1048: 579: 164: 63: 610: 1206: 1038: 984: 287: 201: 471: 228:
There are two available versions of NodeMCU as version 0.9 & 1.0 where the version 0.9 contains
1018: 1089: 1013: 126: 638: 171:
unit). Strictly speaking, the term "NodeMCU" refers to the firmware rather than the associated
1247: 1003: 454: 249: 190: 1277: 913: 172: 168: 140: 114: 1303: 1257: 1196: 435: 947: 307:(General Purpose Input/Output) and a pin mapping table is part of the API documentation. 1282: 1226: 1181: 1130: 1008: 1333: 1318: 1191: 1079: 1043: 254: 1252: 1242: 1145: 290:
processors like the ARM/SAM MCU used in the Arduino Due, they needed to modify the
147:
Systems, and hardware which was based on the ESP-12 module. Later, support for the
734: 26: 1287: 1267: 998: 704: 291: 179: 160: 453:
Zohaib Hassan, Abhijeet, and Apoorva Sharma. "Internet of Life (IOL)." (2015).
1308: 1262: 1216: 1084: 524: 257:
file of an ESP8266 board, named devkit v0.9. Later that month, Tuan PM ported
205: 1099: 497: 213: 200:
The prototyping hardware typically used is a circuit board functioning as a
144: 731:"IoT Wi-Fi 802.11b/g/n integrated SoC implementation of volume production" 1221: 1211: 1140: 1135: 1033: 130: 1125: 1120: 1064: 953: 941: 283: 262: 245: 209: 134: 809: 1201: 1160: 1150: 891: 886: 835: 679: 653: 1069: 1186: 1074: 1028: 194: 148: 137: 113: 587: 1104: 258: 957: 208:. The design was initially based on the ESP-12 module of the 654:"Lua CJSON is a fast JSON encoding/parsing module for Lua" 163:
board designs are available. The name "NodeMCU" combines "
101: 680:"Wear-leveled SPI flash file system for embedded devices" 159:
NodeMCU is an open source firmware for which open source
216:
Xtensa LX106 core, widely used in IoT applications (see
836:"Universal Graphics Library for 8 Bit Embedded Systems" 178:
Both the firmware and prototyping board designs are
1296: 1235: 1174: 1113: 1057: 991: 633: 631: 573: 571: 96: 88: 80: 72: 62: 54: 44: 36: 969: 286:began developing new MCU boards based on non- 8: 19: 525:"A lua based firmware for wifi-soc esp8266" 976: 962: 954: 946: 25: 18: 611:"A DEV BOARD FOR THE ESP LUA INTERPRETER" 212:, which is a Wi-Fi SoC integrated with a 309: 446: 729:Espressif system (December 30, 2013). 244:NodeMCU was created shortly after the 217: 7: 705:"NodeMCU - A Perfect Board for IoT" 472:"An SDK for the ESP8266 Wi-Fi chip" 784:"Initial design of NodeMCU devkit" 758:"First commit of NodeMCU Firmware" 470:Brian Benchoff (25 October 2014). 14: 810:"MQTT client library for ESP8266" 609:Brian Benchoff (2 January 2015). 266:Screen, OLED, even VGA displays. 1340:Open hardware electronic devices 248:came out. On December 30, 2013, 129:platform. It initially included 303:NodeMCU provides access to the 236:where E stands for "Enhanced". 1095:Radio-frequency identification 914:"gpio - NodeMCU Documentation" 1: 49:Single-board microcontroller 40:ESP8266 Opensource Community 436:MCU (Micro Controller Unit) 197:has also been implemented. 1366: 887:"ESP8266 core for Arduino" 125:is a low-cost open source 118:NodeMCU DEVKIT 1.0, bottom 834:Olikraus; Daniel Sittig. 232:and version 1.0 contains 24: 1049:Wireless sensor networks 16:Open-source IoT platform 1273:Josef Preishuber-Pflügl 733:. 中国上海讯. Archived from 918:nodemcu.readthedocs.io 551:"NodeMCU LUA Firmware" 185:The firmware uses the 151:32-bit MCU was added. 119: 1207:Internet refrigerator 117: 1039:Ubiquitous computing 985:Ambient intelligence 862:"U8glib for esp8266" 578:Systems, Espressif. 278:ESP8266 Arduino Core 261:client library from 202:dual in-line package 1019:Object hyperlinking 580:"Espressif Systems" 21: 1345:Internet of things 1090:Machine to machine 1014:Internet of things 590:on 1 December 2017 584:Espressif-WikiDevi 133:which runs on the 120: 55:Introductory price 31:NodeMCU DEVKIT 1.0 1350:Robotics hardware 1327: 1326: 1248:Gaetano Borriello 1004:Context awareness 459:978-93-5156-328-0 424: 423: 250:Espressif Systems 191:flash file system 112: 111: 1357: 1278:John Seely Brown 978: 971: 964: 955: 950: 945: 944: 942:Official website 928: 927: 925: 924: 910: 904: 903: 901: 899: 883: 877: 876: 874: 872: 857: 851: 850: 848: 846: 831: 825: 824: 822: 820: 805: 799: 798: 796: 794: 779: 773: 772: 770: 768: 753: 747: 746: 744: 742: 726: 720: 719: 717: 716: 709:circuito.io blog 701: 695: 694: 692: 690: 675: 669: 668: 666: 664: 649: 643: 642: 635: 626: 625: 623: 621: 606: 600: 599: 597: 595: 586:. Archived from 575: 566: 565: 563: 561: 546: 540: 539: 537: 535: 520: 514: 513: 511: 509: 498:"NodeMCU Devkit" 493: 487: 486: 484: 482: 467: 461: 451: 310: 273:Related projects 218:related projects 173:development kits 169:micro-controller 108: 105: 103: 29: 22: 1365: 1364: 1360: 1359: 1358: 1356: 1355: 1354: 1330: 1329: 1328: 1323: 1304:Ambient Devices 1292: 1258:Stefano Marzano 1231: 1197:Home automation 1170: 1109: 1053: 987: 982: 940: 939: 936: 931: 922: 920: 912: 911: 907: 897: 895: 885: 884: 880: 870: 868: 859: 858: 854: 844: 842: 833: 832: 828: 818: 816: 807: 806: 802: 792: 790: 781: 780: 776: 766: 764: 755: 754: 750: 740: 738: 737:on 2 April 2015 728: 727: 723: 714: 712: 703: 702: 698: 688: 686: 677: 676: 672: 662: 660: 651: 650: 646: 639:"IBM Developer" 637: 636: 629: 619: 617: 608: 607: 603: 593: 591: 577: 576: 569: 559: 557: 548: 547: 543: 533: 531: 522: 521: 517: 507: 505: 495: 494: 490: 480: 478: 469: 468: 464: 452: 448: 444: 432: 301: 280: 275: 242: 226: 157: 100: 32: 17: 12: 11: 5: 1363: 1361: 1353: 1352: 1347: 1342: 1332: 1331: 1325: 1324: 1322: 1321: 1316: 1314:Ebbits project 1311: 1306: 1300: 1298: 1294: 1293: 1291: 1290: 1285: 1283:Bruce Sterling 1280: 1275: 1270: 1265: 1260: 1255: 1250: 1245: 1239: 1237: 1233: 1232: 1230: 1229: 1227:Smarter Planet 1224: 1219: 1214: 1209: 1204: 1199: 1194: 1189: 1184: 1182:Ambient device 1178: 1176: 1172: 1171: 1169: 1168: 1163: 1158: 1153: 1148: 1143: 1138: 1133: 1128: 1123: 1117: 1115: 1111: 1110: 1108: 1107: 1102: 1097: 1092: 1087: 1082: 1077: 1072: 1067: 1061: 1059: 1055: 1054: 1052: 1051: 1046: 1041: 1036: 1031: 1026: 1021: 1016: 1011: 1009:Device ecology 1006: 1001: 995: 993: 989: 988: 983: 981: 980: 973: 966: 958: 952: 951: 935: 934:External links 932: 930: 929: 905: 878: 852: 826: 800: 774: 748: 721: 696: 670: 644: 627: 601: 567: 541: 515: 504:. NodeMCU Team 488: 462: 445: 443: 440: 439: 438: 431: 428: 422: 421: 418: 414: 413: 410: 406: 405: 402: 398: 397: 394: 390: 389: 386: 382: 381: 378: 374: 373: 370: 366: 365: 362: 358: 357: 354: 350: 349: 346: 342: 341: 338: 334: 333: 330: 326: 325: 322: 318: 317: 314: 300: 297: 279: 276: 274: 271: 241: 238: 225: 222: 156: 153: 110: 109: 98: 94: 93: 90: 86: 85: 82: 78: 77: 74: 70: 69: 68:ESP8266(LX106) 66: 60: 59: 56: 52: 51: 46: 42: 41: 38: 34: 33: 30: 15: 13: 10: 9: 6: 4: 3: 2: 1362: 1351: 1348: 1346: 1343: 1341: 1338: 1337: 1335: 1320: 1319:IPSO Alliance 1317: 1315: 1312: 1310: 1307: 1305: 1302: 1301: 1299: 1295: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1266: 1264: 1261: 1259: 1256: 1254: 1251: 1249: 1246: 1244: 1241: 1240: 1238: 1234: 1228: 1225: 1223: 1220: 1218: 1215: 1213: 1210: 1208: 1205: 1203: 1200: 1198: 1195: 1193: 1192:Connected car 1190: 1188: 1185: 1183: 1180: 1179: 1177: 1173: 1167: 1164: 1162: 1159: 1157: 1154: 1152: 1149: 1147: 1144: 1142: 1139: 1137: 1134: 1132: 1129: 1127: 1124: 1122: 1119: 1118: 1116: 1112: 1106: 1103: 1101: 1098: 1096: 1093: 1091: 1088: 1086: 1083: 1081: 1080:IEEE 802.15.4 1078: 1076: 1073: 1071: 1068: 1066: 1063: 1062: 1060: 1056: 1050: 1047: 1045: 1044:Web of Things 1042: 1040: 1037: 1035: 1032: 1030: 1027: 1025: 1022: 1020: 1017: 1015: 1012: 1010: 1007: 1005: 1002: 1000: 997: 996: 994: 990: 986: 979: 974: 972: 967: 965: 960: 959: 956: 949: 943: 938: 937: 933: 919: 915: 909: 906: 894: 893: 888: 882: 879: 867: 863: 856: 853: 841: 837: 830: 827: 815: 811: 804: 801: 789: 785: 778: 775: 763: 759: 752: 749: 736: 732: 725: 722: 710: 706: 700: 697: 685: 681: 674: 671: 659: 655: 648: 645: 640: 634: 632: 628: 616: 612: 605: 602: 589: 585: 581: 574: 572: 568: 556: 552: 549:Hari Wiguna. 545: 542: 530: 526: 519: 516: 503: 499: 492: 489: 477: 473: 466: 463: 460: 456: 450: 447: 441: 437: 434: 433: 429: 427: 419: 416: 415: 411: 408: 407: 403: 400: 399: 395: 392: 391: 387: 384: 383: 379: 376: 375: 371: 368: 367: 363: 360: 359: 355: 352: 351: 347: 344: 343: 339: 336: 335: 331: 328: 327: 323: 320: 319: 315: 312: 311: 308: 306: 298: 296: 293: 289: 285: 277: 272: 270: 267: 264: 260: 256: 251: 247: 239: 237: 235: 231: 223: 221: 219: 215: 211: 207: 203: 198: 196: 192: 188: 183: 181: 176: 174: 170: 167:" and "MCU" ( 166: 162: 154: 152: 150: 146: 142: 139: 136: 132: 128: 124: 116: 107: 99: 95: 91: 87: 83: 79: 75: 71: 67: 65: 61: 57: 53: 50: 47: 43: 39: 35: 28: 23: 1253:Adam Dunkels 1243:Kevin Ashton 1175:Applications 1165: 1146:Raspberry Pi 1058:Technologies 921:. Retrieved 917: 908: 896:. Retrieved 890: 881: 869:. Retrieved 865: 855: 843:. Retrieved 839: 829: 817:. Retrieved 813: 803: 791:. Retrieved 787: 777: 765:. Retrieved 761: 751: 739:. Retrieved 735:the original 724: 713:. Retrieved 711:. 2018-11-21 708: 699: 687:. Retrieved 683: 673: 661:. Retrieved 657: 647: 618:. Retrieved 614: 604: 592:. Retrieved 588:the original 583: 558:. Retrieved 554: 544: 532:. Retrieved 528: 518: 506:. Retrieved 501: 491: 479:. Retrieved 475: 465: 449: 425: 316:ESP8266 pin 302: 281: 268: 243: 233: 229: 227: 199: 184: 177: 158: 122: 121: 1288:Mark Weiser 1268:Roel Pieper 999:Ambient IoT 860:Devsaurus. 840:Google code 292:Arduino IDE 206:breadboards 180:open source 161:prototyping 1334:Categories 1309:AmbieSense 1263:Don Norman 1217:Smart city 1085:Internet 0 923:2018-11-11 898:10 January 715:2021-05-27 442:References 313:I/O index 284:Arduino.cc 1131:Gadgeteer 1114:Platforms 1100:Smartdust 1024:Profiling 808:Tuan PM. 782:Huang R. 678:Pellepl. 523:Zeroday. 496:Vowstar. 214:Tensilica 145:Espressif 76:128kBytes 37:Developer 1236:Pioneers 1222:Smart TV 1212:Nabaztag 1141:Netduino 1136:ioBridge 1034:Supranet 992:Concepts 615:Hackaday 555:Hackaday 476:Hackaday 430:See also 155:Overview 131:firmware 104:.nodemcu 1166:NodeMCU 1126:Contiki 1121:Arduino 1065:6LoWPAN 871:2 April 845:2 April 819:2 April 793:2 April 767:2 April 741:2 April 689:2 April 663:2 April 620:2 April 560:2 April 534:2 April 508:2 April 481:2 April 420:GPIO10 388:GPIO15 380:GPIO13 372:GPIO12 364:GPIO14 324:GPIO16 263:Contiki 246:ESP8266 240:History 234:ESP-12E 210:ESP8266 135:ESP8266 123:NodeMCU 97:Website 84:4MBytes 81:Storage 20:NODEMCU 1202:HomeOS 1161:Xively 1156:Wiring 1151:TinyOS 892:GitHub 866:Github 814:Github 788:Github 762:Github 756:Hong. 684:GitHub 658:Github 594:3 June 529:Github 502:Github 457:  412:GPIO9 404:GPIO1 396:GPIO3 356:GPIO2 348:GPIO0 340:GPIO4 332:GPIO5 255:gerber 230:ESP-12 73:Memory 1297:Other 1187:CeNSE 1075:DASH7 1029:Spime 652:Mpx. 224:Types 195:ESP32 149:ESP32 143:from 138:Wi-Fi 89:Power 1105:XBee 1070:ANT+ 900:2019 873:2015 847:2015 821:2015 795:2015 769:2015 743:2015 691:2015 665:2015 622:2015 596:2017 562:2015 536:2015 510:2015 483:2015 455:ISBN 305:GPIO 299:Pins 259:MQTT 165:node 106:.com 45:Type 417:12 409:11 401:10 321:0 288:AVR 282:As 220:). 187:Lua 141:SoC 127:IoT 102:www 92:USB 64:CPU 58:$ 5 1336:: 916:. 889:. 864:. 838:. 812:. 786:. 760:. 707:. 682:. 656:. 630:^ 613:. 582:. 570:^ 553:. 527:. 500:. 474:. 393:9 385:8 377:7 369:6 361:5 353:4 345:3 337:2 329:1 182:. 175:. 977:e 970:t 963:v 926:. 902:. 875:. 849:. 823:. 797:. 771:. 745:. 718:. 693:. 667:. 641:. 624:. 598:. 564:. 538:. 512:. 485:.

Index


Single-board microcontroller
CPU
www.nodemcu.com

IoT
firmware
ESP8266
Wi-Fi
SoC
Espressif
ESP32
prototyping
node
micro-controller
development kits
open source
Lua
flash file system
ESP32
dual in-line package
breadboards
ESP8266
Tensilica
related projects
ESP8266
Espressif Systems
gerber
MQTT
Contiki

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.