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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.