ESP8266 is it good and does it last? - Page 1
Forum section: electronics / beginners

author: mikael1985
author_rank: Contributor
timestamp: February 05, 2016, 04:45:10 pm
content: Hello´,I have tried doing some research on this issue, but don't feel informed as yet, so I turn to youI would like to ask if any of you have made a webserver using a ESP8266 board and an 3.3v arduino probably via the AT commands?I want to make a greenhouse controller and some other homeautomation this spring, that communicates via nrf24l01+s to a main hub, which I can acces at home, but also the internet, so that I can read sensor values and turn on relays etc only by using my phone/browser when I'm away. An ESP8266 seems to be able to do just thatA computer webserver seems like an overkill and Waste to much power just for this, so I wanted to make a very small webserver, but I'm unsure if my nrf24l01+ will interfere with the ESP8266? and how does the ESP8266 responds to powerloss and etc. will it require periodical maintaince and reprogramming, when my router is restarted etc? I really want it to be able to perform reliably and autonoumusly for a very long time after setup is completed, it will not control anything critical, but I don't want it to act up all time anyhow.So I would really appreciate it if anyone who can share their wisdom with me regarding this IC.thanks in advanceMikael

author: kripton2035
author_rank: Super Contributor
timestamp: February 05, 2016, 05:03:48 pm
content: the esp8266 is a very nice little chipthe known drawbacks are :1/ consumes not a lot but too much for a battery operated device (or eventually with solar cells you can charge the battery and operate the esp8266)2/ small number of I/O but it has i2c and spi so you can add other peripherals on it with that linkthe NRF24 is SPI connected so it can work with the esp8266.3/ only one 10 bits adc on it (but see #2 for more)4/ the eeprom on the module is often of bad quality so you can reprogram it a limited number of times (after that just change the eeprom and go for more)(or buy a new esp8266 may be it's cheaper than the eeprom ...) but once it is programmed it's like a eeprom it lasts for a long time.5/ lack of documentation at the beginning, but now a big community is here, and you have the arduino commandsthe advantages are :1/ very very cheap for what it is2/ sooo easy to program directly with the arduino ide 1.6+3/ really fast, you can generate video signals directly from the chip, or i2s digital audio signals4/ don't bother with the AT commands, and a second arduino to pilot it, program your esp8266 directly with the arduino ide version 1.6.4 and up5/ wide wifi range6/ ideal to make a small home server to monitor temperatures, lights, or plants like you want

author: mikael1985
author_rank: Contributor
timestamp: February 05, 2016, 06:56:17 pm
content: thank you for the quick and comprehensive reply it is really appreciated.I have only found one experiment online which used the ESP8266 a longer time periode (3 months), but I assume there is Little to lose by giving it a try.I have one follow up question thoughI migth at some point install have quite a few analog sensors at hub also and as such require some ADC pins, which was why I wanted to use the arduino, but I assume I can just reverse the roles and let the ESP8266 be the master and the arduino be connected as a slave and use its Analog pins or probably simpler buy a ADC module.¨this might be a stupid question but I Wonder if I could hook up more than one input to the analog pin with a shift register? my terminology may be off but a SIPO to controls transistors gating the analog inputs or PISO to control the inputs directly to the analog pin, or will this distort the signal? (need to read 10mv differences with some precision).thanks in advanceMikael

author: kripton2035
author_rank: Super Contributor
timestamp: February 05, 2016, 07:23:52 pm
content: I'm currently making my HVAC controller with an esp8266 as master (and one arduino as slave)I need to measure 4 barometric sensors with analog values, so I use a microchip MCP3424 connected with i2c to the esp8266it's working fine (I have a trouble with the reference voltage but it will be soon fixed with a MAX6126)you really dont need a second arduino, except if you have a very big need of I/O ?I use a second arduino to pilot the hvac motors. I send i2c commands from the esp8266 to the arduinothe arduino only captures the zero cross of the mains to have 16 speeds levels to the motors.it's easier to program like this and I was very short of I/O with only one esp8266.I would really love to have a wired ethernet input on the esp8266, sometimes you dont need wifi but it is soo cheaper than I will accomodate with it.

author: mikael1985
author_rank: Contributor
timestamp: February 05, 2016, 08:42:11 pm
content: Thank you for all the answer they have been really helpfulSo I bought and basic ESP8266 module (ESP-12) well as a breadboard friendly module (NodeMcu Lua) with full pinout with voltage regulator and USB etc which I can play around with and offcourse some some levelshifters, and a ADC module so I'm not limited by the sensorsand good luck with your own project.

author: kripton2035
author_rank: Super Contributor
timestamp: February 05, 2016, 08:55:31 pm
content: I bought a nodemcu board, but finally don't use it - the arduino ide is better than the lua language IMHOI bought esp12 (and esp07 formerly but it's almost the same) with these headers :http://www.ebay.com/itm/281740426318then you need a usb to serial adapterand the arduino IDE

author: mikael1985
author_rank: Contributor
timestamp: February 05, 2016, 09:33:46 pm
content: I'm under the impression that you can flash the firmware of the ESP on the NODE MCU LUA board rather easily, but I haven't done it myself so i'm is just passing on what I have read.and I liked that the board came with the peripherals and then planned to flash it to and arduino compatiable firmware, but time will tell if I'm right or wrong

author: JSnyder
author_rank: Contributor
timestamp: February 05, 2016, 09:38:01 pm
content: I've been using an esp8266 as a thermostat in my house for awhile, I've found it to be incredibly reliable. The people who cry about it being unstable or flaky are doing something wrong, have damaged the esp, or their code isn't up to snuff. Just for a frame of reference, I've been logging the temp (ds18b20) and the status of 3 relays starting on 2015-06-14 till today, and have accumulated more than 300,000 data pts. The only time the esp didn't log is when I upgraded the firmware on the router, or messed with the thingspeak push settings. This setup is using the first esp-12 modules that were available, however through testing I have found that the ESP-12F modules are really the best in terms of range imo (for trace antenna types). Kripton2035 has already pointed out the main limitations of the chips, but if you can deal with that, and it suits your project, I feel like these modules are very good at what they do. (also as an aside, I've had no problems with the flash endurance on any of the modules that I've had, I think the complaints came from people who had previously damaged their esp (sending 5v into the pins) or were very isolated cases from specific vendors)

author: wblock
author_rank: Regular Contributor
timestamp: February 05, 2016, 10:59:10 pm
content: Quote from: mikael1985 on February 05, 2016, 09:33:46 pmYes, the Arduino firmware on the NodeMCU works fine. In fact, better than Lua. There was no combination of pull-up resistors or circuitry that could get the NodeMCU to wake up reliably with Lua. Works all the time with Arduino.With half a dozen of these boards reporting temperature and humidity every minute over the last few months, I did have one fail recently. It was reporting a boot loader error over the serial output. The board failed completely when I pried it off the double-sided tape used to mount it, so further debugging was not possible. (Note to self: mount these with zip ties, not double-sided tape.)

author: mikael1985
author_rank: Contributor
timestamp: February 06, 2016, 01:20:04 am
content: Thank you for your feedback>> JSnyder Glad to hear it Works so great for you looked at your post and looked uphttps://thingspeak.com/you posted a Picture from and realised it is a free server which apparently also supports 2 way communication, I had decided just have my ESP8266 handle all ingoing Communications but maybe thingspeak can an additional cloudbased backup.>> wblock So it is confirmed you can do it, and it Works, that is great news for me, do you still have a link for the method you used to perform this?, sorry about the board luckily they are cheap

author: wblock
author_rank: Regular Contributor
timestamp: February 06, 2016, 01:28:46 am
content: It's been a couple of months, but I took notes.Install the Arduino environment, and install the ESP8266 Arduino toolchain (https://github.com/esp8266/Arduino).Sparkfun has a tutorial on this:https://learn.sparkfun.com/tutorials/esp8266-thing-hookup-guide/installing-the-esp8266-arduino-addon.First-time setup of Arduino on NodeMCU:WAKE/D0 must *not* be connected to RST.On PC, choose the Arduino serial port and set it to 9600 baud.Press and hold Flash, press Reset, and release both.Upload the Arduino sketch.After the first time, baud rate can be set to 115200.WAKE/D0 can be connected to RST for automatic wake after sleep.

author: zapta
author_rank: Super Contributor
timestamp: February 06, 2016, 02:14:21 am
content: Two more issues* Limited SSL implementation (try for example to connect tohttps://www.yahoo.com).* Lua interpreter runs fast out of memory.The ESP32 is expected to be much better.

author: kripton2035
author_rank: Super Contributor
timestamp: February 06, 2016, 08:23:00 am
content: Quote from: mikael1985 on February 05, 2016, 09:33:46 pmI did not want to mess my nodemcu lua module, so I did not flash it with the arduino ide but yes this should work

author: kripton2035
author_rank: Super Contributor
timestamp: February 06, 2016, 08:28:01 am
content: Quote from: mikael1985 on February 06, 2016, 01:20:04 amin my hvac controller, I already send temperature, pressure and humidity of 4 channels simultaneously on thingspeak... so 12 channelsin fact you can send 8 datas simultanously on the same channel of thingspeakthe esp8266 handled it with no problem.

author: mstoer
author_rank: Contributor
timestamp: February 06, 2016, 08:46:59 pm
content: I have a couple of ESP-01 modules that I use as "weather" stations in the house using a BME280 or SI7021 as sensors. They are a bit power hungry with the WIFI to run on batteries for long, so a solar charger is in the works now. I agree programming them with the Arduino IDE is easy, but I could only compile the ESP8266 libraries with version 1.6.5 of the IDE so watch for that perhaps.

author: mikael1985
author_rank: Contributor
timestamp: February 08, 2016, 09:44:05 am
content: Hi Again,Just been gone in the weekend, but can see there has come a few additions to the subject I would like to thank everyone that contributed.FYI I looked up the ESP-12f Jsnyder mentioned which is arguable the best board sofar. and found one a recently released "sandwich" Development board for 2.9$ including shipping! or 3.55$ if you want it from a "old" shop, anyway I ordered a copy and look forward to see if this is really to good to be true, but just wanted to share the link.(new shop, but general good feedback from other products)http://www.aliexpress.com/item/ESP8266-serial-WIFI-Witty-cloud-Development-Board-ESP-12F-module-MINI-nodemcu/32577398010.html?spm=2114.30010308.3.159.7Lo9xu&ws_ab_test=searchweb201556_1,searchweb201644_2_505_506_503_504_301_502_10001_10002_10016_10017_10010_10005_10011_10006_10003_10004_401_10009_10008,searchweb201560_3,searchweb1451318400_-1,searchweb1451318411_6448&btsid=89b828ce-c3f3-4be2-af10-b8d5689611aareview/discussion:http://www.esp8266.com/viewtopic.php?f=13&t=7409ESP-12f "datasheet"https://docs.google.com/document/d/1B06YzToSKxJ-tA1-AaTqacpzbxyexaV7Ick-ZtmvQj8/edit