All Projects → nodemcu → Nodemcu Firmware

nodemcu / Nodemcu Firmware

Licence: mit
Lua based interactive firmware for ESP8266, ESP8285 and ESP32

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Nodemcu Firmware

Esp32marauder
A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32
Stars: ✭ 233 (-96.62%)
Mutual labels:  esp32, firmware, espressif, esp8266
Awesome Esp
📶 A curated list of awesome ESP8266/32 projects and code
Stars: ✭ 212 (-96.92%)
Mutual labels:  esp32, nodemcu, espressif, esp8266
Lwesp
Lightweight Espressif AT parser library for ESP8266 and ESP32 devices.
Stars: ✭ 212 (-96.92%)
Mutual labels:  esp32, espressif, esp8266
n2d
An easy to use ESP8266 flash tool with built-in support for the Deauther Project.
Stars: ✭ 136 (-98.02%)
Mutual labels:  esp8266, nodemcu, esp32
ESPxWebFlMgr
Manage your ESP8266/ESP32 SPIFFS/LittleFS files with a simple web based interface
Stars: ✭ 33 (-99.52%)
Mutual labels:  esp8266, esp32, spiffs
Dhtesp
Optimized DHT library for ESP32/ESP8266 using Arduino framework
Stars: ✭ 184 (-97.33%)
Mutual labels:  esp32, espressif, esp8266
Mongoose Os
Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.
Stars: ✭ 2,234 (-67.55%)
Mutual labels:  esp32, firmware, esp8266
ESP DoubleResetDetector
ESP_DoubleResetDetector is a library for the ESP32/ESP8266 Arduino platform to enable trigger configure mode by resetting twice.
Stars: ✭ 34 (-99.51%)
Mutual labels:  esp32, espressif, spiffs
nodemcu-shell
UNIX-like ultra-lightweight Shell for NodeMCU supported devices (ESP8266, ESP32, Raspberry Pi, NanoPi, Orange Pi) written in Lua
Stars: ✭ 25 (-99.64%)
Mutual labels:  esp8266, nodemcu, esp32
home
Monorepo for all home automation related development, including integrated firmware, PCBs, configuration, and bridges
Stars: ✭ 104 (-98.49%)
Mutual labels:  esp8266, firmware, esp32
Farm-Data-Relay-System
A system that uses ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
Stars: ✭ 97 (-98.59%)
Mutual labels:  esp8266, esp32, espressif
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (-64.95%)
Mutual labels:  esp32, nodemcu, esp8266
Wifimanager
WiFi manager for ESP8266 - ESP12 - ESP32 - micropython
Stars: ✭ 176 (-97.44%)
Mutual labels:  esp32, espressif, esp8266
Bleeper
Library to manage your firmware configurations written in C++
Stars: ✭ 54 (-99.22%)
Mutual labels:  esp32, firmware, esp8266
Retroesp32
Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
Stars: ✭ 313 (-95.45%)
Mutual labels:  esp32, firmware, espressif
Esp3d
FW for ESP8266/ESP8285/ESP32 used with 3D printer
Stars: ✭ 979 (-85.78%)
Mutual labels:  esp32, firmware, esp8266
Easyntpclient
Library to read time from Network Time Protocol (NTP) servers.
Stars: ✭ 20 (-99.71%)
Mutual labels:  nodemcu, espressif, esp8266
ESP32 BLE OTA Arduino
OTA update on ESP32 via BLE
Stars: ✭ 41 (-99.4%)
Mutual labels:  firmware, esp32, spiffs
Blynk Library
Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
Stars: ✭ 3,305 (-51.99%)
Mutual labels:  esp32, espressif, esp8266
Ideasnprojects
That Project's Source Code
Stars: ✭ 344 (-95%)
Mutual labels:  esp32, nodemcu, esp8266

NodeMCU 3.0.0

Join the chat at https://gitter.im/nodemcu/nodemcu-firmware Build Status Documentation Status License

A Lua based firmware for ESP8266 WiFi SOC

NodeMCU is an open source Lua based firmware for the ESP8266 WiFi SOC from Espressif and uses an on-module flash-based SPIFFS file system. NodeMCU is implemented in C and is layered on the Espressif NON-OS SDK.

The firmware was initially developed as is a companion project to the popular ESP8266-based NodeMCU development modules, but the project is now community-supported, and the firmware can now be run on any ESP module.

Summary

  • Easy to program wireless node and/or access point
  • Based on Lua 5.1.4 or Lua 5.3 but without debug, io, os and (most of the) math modules
  • Asynchronous event-driven programming model
  • more than 70 built-in C modules and close to 20 Lua modules
  • Firmware available with or without floating point support (integer-only uses less memory)
  • Up-to-date documentation at https://nodemcu.readthedocs.io

LFS support

In July 2018 support for a Lua Flash Store (LFS) was introduced. LFS allows Lua code and its associated constant data to be executed directly out of flash-memory; just as the firmware itself is executed. This now enables NodeMCU developers to create Lua applications with up to 256Kb Lua code and read-only constants executing out of flash. All of the RAM is available for read-write data!

Programming Model

The NodeMCU programming model is similar to that of Node.js, only in Lua. It is asynchronous and event-driven. Many functions, therefore, have parameters for callback functions. To give you an idea what a NodeMCU program looks like study the short snippets below. For more extensive examples have a look at the /lua_examples folder in the repository on GitHub.

-- a simple HTTP server
srv = net.createServer(net.TCP)
srv:listen(80, function(conn)
	conn:on("receive", function(sck, payload)
		print(payload)
		sck:send("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n<h1> Hello, NodeMCU.</h1>")
	end)
	conn:on("sent", function(sck) sck:close() end)
end)
-- connect to WiFi access point
wifi.setmode(wifi.STATION)
wifi.sta.config{ssid="SSID", pwd="password"}

Documentation

The entire NodeMCU documentation is maintained right in this repository at /docs. The fact that the API documentation is maintained in the same repository as the code that provides the API ensures consistency between the two. With every commit the documentation is rebuilt by Read the Docs and thus transformed from terse Markdown into a nicely browsable HTML site at https://nodemcu.readthedocs.io.

Releases

Due to the ever-growing number of modules available within NodeMCU, pre-built binaries are no longer made available. Use the automated custom firmware build service to get the specific firmware configuration you need, or consult the documentation for other options to build your own firmware.

This project uses two main branches, release and dev. dev is actively worked on and it's also where PRs should be created against. release thus can be considered "stable" even though there are no automated regression tests. The goal is to merge back to release roughly every 2 months. Depending on the current "heat" (issues, PRs) we accept changes to dev for 5-6 weeks and then hold back for 2-3 weeks before the next snap is completed.

A new tag is created every time dev is merged back to release. They are listed in the releases section here on GitHub. Tag names follow the <SDK-version>-release_yyyymmdd pattern.

Support

See https://nodemcu.readthedocs.io/en/release/support/.

License

MIT © zeroday/nodemcu.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].