Chat freely about anything...

User avatar
By ncnmra
#38629 I found out about the ESP8266 and am very intrigued. I have ordered an Adafruit Feather HUZZAH (2821) to play with. I am trying to wrap my head around all of the options. Is there a guide that explains the various interactions with the Espressif SDKs and firmwares?

I understand that these firmwares exist:
- Stock AT Firmware
- Electrodragon custom AT firmware (what's the difference)
- NodeMCU
- MicroPython
- ESP8266Basic
- Arduino?
- Custom using C/C++ and GCC?

How do the various ESP8266 SDK packages fit in? What is the Non-OS SDK, and the RTOS SDK? How do they relate to the above firmware options?

I would eventually like the following features:
- Ability to read data from a UART
- Ability to display UART data on an embedded web page
- Ability to do HTTP(S) POST of data in JSON / XML format
- TLS or SSL for HTTPS posting
- Ability to configure WiFi parameters using AP mode
- Possibly Modbus/RTU?

Which firmware is best to try to achieve this? I feel like nodeMCU is the most feature rich to try achieve this. It sounds like using the AT mode would require a lot of processing on a separate host processor. I have a good understanding of firmware coding using C/C++, but would prefer not to reinvent the wheel (http client, ssl, user configuration).

Any pointers and information much appreciated!
User avatar
By Mmiscool
#38633 All of the firmware option above are written in one of the sdks.

I use the arduino environment wich is c/c++ with all of the arduino function with the espresif SDK rolled right in. I would suggest this path if you want to have the largest selection of code, snipets and demos to play with to get started.

I use the arduino environment to create the ESP8266 basic firmware and it is very robust.

You can create your own firmware using the arduino environment in fact each time you flash the chip from the arduino ide is will blow away any firmware previously installed.

Hope this is helpful.
User avatar
By ncnmra
#38635 Yes, this is helpful, thank you! I assume you use the Non-RTOS SDK with the Arduino environment?

It is possible to run multiple processes (ie: HTTP Server, as well HTTP POST) at the same time? (either through threading, or multi-tasking)?