- Build on [ESP8266 sdk 1.4.0](http://bbs.espressif.com/viewtopic.php?f=46&t=1124)
- Build on [ESP8266 NONOS SDK 1.4.0](http://bbs.espressif.com/viewtopic.php?f=46&t=1124)
- Lua core based on [eLua project](http://www.eluaproject.net/)
- Lua core based on [eLua project](http://www.eluaproject.net/)
- cjson based on [lua-cjson](https://github.com/mpx/lua-cjson)
- cjson based on [lua-cjson](https://github.com/mpx/lua-cjson)
- File system based on [spiffs](https://github.com/pellepl/spiffs)
- File system based on [spiffs](https://github.com/pellepl/spiffs)
- Open source development kit for NodeMCU [nodemcu-devkit](https://github.com/nodemcu/nodemcu-devkit)
- Open source development kit for NodeMCU [nodemcu-devkit-v0.9](https://github.com/nodemcu/nodemcu-devkit)[nodemcu-devkit-v1.0](https://github.com/nodemcu/nodemcu-devkit-v1.0)
| NodeMCU Studio GUI | https://github.com/nodemcu/nodemcu-studio-csharp |
| NodeMCU Studio GUI | https://github.com/nodemcu/nodemcu-studio-csharp |
# To Do List (pull requests are very welcome)
- loadable c module
- fix wifi smart connect
- add spi module (done)
- add mqtt module (done)
- add coap module (done)
- cross compiler (done)
# Programming Examples
# Programming Examples
Because Lua is a high level language and several modules are built into the firmware, you can very easily program your ESP8266. Here are some examples!
Because Lua is a high level language and several modules are built into the firmware, you can very easily program your ESP8266. Here are some examples!
...
@@ -220,8 +211,7 @@ There are several options for building the NodeMCU firmware.
...
@@ -220,8 +211,7 @@ There are several options for building the NodeMCU firmware.
Please try Marcel's [NodeMCU custom builds](http://frightanic.com/nodemcu-custom-build) cloud service and you can choose only the modules you need, and download the firmware once built.
Please try Marcel's [NodeMCU custom builds](http://frightanic.com/nodemcu-custom-build) cloud service and you can choose only the modules you need, and download the firmware once built.
NodeMCU custom builds can build from the master branch (0.9.6; deprecated) and dev
NodeMCU custom builds can build from the master branch and dev branch (with the latest fixes).
branch (1.4.0).
## Docker containerised build
## Docker containerised build
...
@@ -325,6 +315,16 @@ editing `app/include/user_config.h` and change BIT_RATE_DEFAULT, e.g.:
...
@@ -325,6 +315,16 @@ editing `app/include/user_config.h` and change BIT_RATE_DEFAULT, e.g.:
#define BIT_RATE_DEFAULT BIT_RATE_115200
#define BIT_RATE_DEFAULT BIT_RATE_115200
```
```
## Debugging
To enable runtime debug messages to serial console, edit `app/include/user_config.h`
```c
#define DEVELOP_VERSION
```
`DEVELOP_VERSION` changes the startup baud rate to 74880.
# Flash the firmware
# Flash the firmware
## Flash tools for Windows
## Flash tools for Windows
...
@@ -358,7 +358,8 @@ Otherwise, if you built your own firmware from source code:
...
@@ -358,7 +358,8 @@ Otherwise, if you built your own firmware from source code:
Also, in some special circumstances, you may need to flash `blank.bin` or `esp_init_data_default.bin` to various addresses on the flash (depending on flash size and type).
Also, in some special circumstances, you may need to flash `blank.bin` or `esp_init_data_default.bin` to various addresses on the flash (depending on flash size and type).
If upgrading from `spiffs` version 0.3.2 to 0.3.3 or later, or after flashing any new firmware, you should run `file.format()` to re-format your flash filesystem.
If upgrading from `spiffs` version 0.3.2 to 0.3.3 or later, or after flashing any new firmware (particularly one with a much different size), you may need to run `file.format()` to re-format your flash filesystem.
You will know if you need to do this because your flash files disappeared, or they exist but seem empty, or data cannot be written to new files.