loading

ESP8266 modules are great low cost stand alone controllers with built in Wi-Fi, and I already made a simple Blink instructable with ESP8266 NodeMCU module.

The advantage of the ESP8266 over Arduino and other controllers is the builtin Wi-Fi. In this Instructable I will show you how with the help of Visuino you can use two ESP8266 modules to make a remote LCD Display for Temperature and Humidity DHT11 sensor.

In the Instructable, I will use 2 NodeMCU modules. One version 0.9, and the other 1.0. The NodeMCU are the easiest way to program and experiment with ESP8266 controllers. This Instructable however can easily be done with other modules, and the Sensor module can even use ESP-01 module as it needs only one GPIO pin to connect to the DHT11 sensor.

Please note that the annotation on some of the pictures in this Instructable will work correctly on some browsers only after you click on the image to expand it.
Please make sure you click on the image to see the annotation showing the correct spot on the image!

Step 1: Components

  1. 2 NodeMCU ESP8266 boards (I used both NodeMCU 0.9, and NodeMCU 1.0 versions, but any other combination, or even stand alone ESP-12 will work)
  2. One DHT11 Sensor module I got from this cheap 37 sensors set
  3. One I2C 16x2 LCD Display (Back side of the LCD with the I2C adapter showed on Picture 2)
  4. 7 Female-Female jumper wires
<p>Hello ! <br><br>I just finished my first project with ESP8266 ! It's fantastic !</p><p><br>I would like to thank BoianM for the help with the errors i was facing.</p>
<p>Looks nice :-) Enjoy!</p>
<p>Hello,</p><p>Could this be done using only one ESP8266 ? I mean, connecting the LCD + DHT11 in one ESP8266 and as an extra feature, display the temp and humidity also on a Website?</p><p>Kind Regards,</p><p>PedroM.</p>
<p>You can even combine the 2 Instructables and do both :-)</p>
<p>I already made a few changes:</p><p>I only used one ESP8266 and i attached the LCD + DHT11 and made it online to monitor the Temps. I noticed that the Temps and Humidity, specially the humidity takes a few seconds longer to update.. why is that? Too much charge for one ESP8266? Maybe the humidity and temp are stable in the room.. but i will make a few tests and post them.</p><p>Next objectives:<br><br>- Make it portable (Using AA? Solar power?) Any ideas?<br>- Making a better Website without the 5 sec refresh page (Whats the impact of not having refresh and having a live timing temperature monitor?)</p><p>-Buy more sensors and put them in other places, outside my house, other divisions and have a central website with all the information.</p>
<p>If you want good sensor, the DHT22 is a much better sensor, although somewhat more expensive. You should use it if you can get one.</p><p>I am working to make it easier to implement web services. It may be best if the sensor works with REST web service to communicate with a web site running JavaScript. I will try to make Instructable for this too ASAP</p>
<p>Yes:</p><p><a href="http://www.instructables.com/id/ESP8266-and-Visuino-DHT11-Temperature-and-Humidity/">http://www.instructables.com/id/ESP8266-and-Visuin...</a></p><p>:-D</p>
<p>Nice, so basically you are saying i can attach the LCD + DHT11 sensor to one single NodeMCU ESP8266? instead of using two like in this tutorial?<br><br>But i will need to change the schematic and Visuino and re-compile :) </p><p>I guess i will give it a try hehe and i will post the updates soon :)</p>
<p>You can also still have 2 modules, but one can also work as web server. There are many options ;-)</p>
<p>Yeah..., but by now you should know how to change the schematic I hope ;-)</p>
<p>Hehe i just putted inside an old box.</p>
<p>Neat :-)</p>
<p>Hello,</p><p>Im trying to verify and to write to the NODEMCU 0.9 but im getting the following error:</p><p>In file included from C:\Users\Pedro Maia\Documents\Visuino\Generated\Generated.ino:17:0:</p><p>C:\Users\Pedro Maia\Documents\Arduino\libraries\Mitov/Mitov_FormattedSerial.h:18:8: error: 'SerialConfig' does not name a type</p><p> const SerialConfig CSerialInits[] = </p><p> ^</p><p>In file included from C:\Users\Pedro Maia\Documents\Visuino\Generated\Generated.ino:17:0:</p><p>C:\Users\Pedro Maia\Documents\Arduino\libraries\Mitov/Mitov_FormattedSerial.h: In member function 'virtual void Mitov::SerialPort&lt;T_SERIAL_TYPE, T_SERIAL&gt;::StartPort()':</p><p>C:\Users\Pedro Maia\Documents\Arduino\libraries\Mitov/Mitov_FormattedSerial.h:123:40: error: 'CSerialInits' was not declared in this scope</p><p> T_SERIAL-&gt;begin( inherited::Speed, CSerialInits[ AIndex ], SERIAL_FULL );</p><p> ^</p><p>C:\Users\Pedro Maia\Documents\Arduino\libraries\Mitov/Mitov_FormattedSerial.h:126:40: error: 'CSerialInits' was not declared in this scope</p><p> T_SERIAL-&gt;begin( inherited::Speed, CSerialInits[ AIndex ], SERIAL_RX_ONLY );</p><p> ^</p><p>C:\Users\Pedro Maia\Documents\Arduino\libraries\Mitov/Mitov_FormattedSerial.h:129:40: error: 'CSerialInits' was not declared in this scope</p><p> T_SERIAL-&gt;begin( inherited::Speed, CSerialInits[ AIndex ], SERIAL_TX_ONLY );<br><br>What should i do? </p><p><br>INFORMATION:</p><p>Windows 10 64 Bits</p><p>Arduino 1.6.7 (Package version: 2.1.0 RC2)</p><p>Visuino 7.7.0.74</p>
Hello PedroM104,<br><br>Update to the &quot;Stable&quot; 2.1.0.<br>The Stable 2.1.0 is not compatible with the 2.1.0 RC2 and this is the reason for the error. Visuino was updated to be compatible with the Stable &quot;2.1.0&quot; version.<br>To update:<br>1. Uninstall 2.1.0 RC2<br>2. Delete manually the &quot;C:\Users\[USER_NAME]\AppData\Local\Arduino15\packages\esp8266&quot; !<br>3. Change the preferences to point to the &quot;stable&quot; release as described here : http://www.instructables.com/id/Setting-Up-the-Arduino-IDE-to-Program-ESP8266/<br>4. Install the stable 2.1.0<br><br>Make sure you do step 2! Otherwise you will have errors, and will not be able to compile any ESP 8266 projects!
<p>It worked, i managed to pass a few errors after this, i changed to COM5 and recompiled everything and its working ! YES ! My first Projected completed ! Thanks a lot !!!</p>
<p>Great! :-) You can post a picture of it ;-) . There is the &quot;I made it&quot; button on the top. It will be cool :-)</p>
<p>I will :) Thanks for the help.</p><p>You got any advice to make this a more portable device? <br>Currently im using two Smartphone Chargers connected to the devices.</p><p>Tomorrow i will take a further look, to tweak, make a few changes to learn more about this :) </p>
<p>I will :) Thanks for the help.</p><p>You got any advice to make this a more portable device? <br>Currently im using two Smartphone Chargers connected to the devices.</p><p>Tomorrow i will take a further look, to tweak, make a few changes to learn more about this :) </p>
<p>I will :) Thanks for the help.</p><p>You got any advice to make this a more portable device? <br>Currently im using two Smartphone Chargers connected to the devices.</p><p>Tomorrow i will take a further look, to tweak, make a few changes to learn more about this :) </p>
<p>I will :) Thanks for the help.</p><p>You got any advice to make this a more portable device? <br>Currently im using two Smartphone Chargers connected to the devices.</p><p>Tomorrow i will take a further look, to tweak, make a few changes to learn more about this :) </p>
<p>I will :) Thanks for the help.</p><p>You got any advice to make this a more portable device? <br>Currently im using two Smartphone Chargers connected to the devices.</p><p>Tomorrow i will take a further look, to tweak, make a few changes to learn more about this :) </p>
<p>If I read this corectly then it only reads Celcius and only goes to 0 degree or 32 F is there a F sensor?</p>
<p>The DHT11 component in Visuino has &quot;InFahrenheit&quot; boolean property ;-) . Check it, and you are in F ;-)</p>
<p>ets Jan 8 2013,rst cause:2, boot mode:(3,7)</p><p>load 0x4010f000, len 1264, room 16 </p><p>tail 0</p><p>chksum 0x42</p><p>csum 0x42</p><p>~ld</p><p>get this error on the sensor board any help would be great</p>
What sensor board you use? DHT11?
<p>Arduino: 1.6.7 (Windows 10), Board: &quot;NodeMCU 0.9 (ESP-12 Module), 80 MHz, Serial, 115200, 4M (3M SPIFFS)&quot;</p><p>After uploading to arduino and verifying, I get the following error:</p><p><em>Board nodemcu (platform esp8266, package esp8266) is unknown<br></em></p><p><em>Error compiling.</em></p><p>Any ideas?</p>
<p>I think you will need to reinstall the Arduino and the ESP libraries. It happened to few people and was fixed after reinstall. Seems to be bad install of the ESP support somehow...</p>
<p>I want to use this or some thing like it to monitor temps in a green house can it be set up for more than one sensor array? I want some under ground to monitor the geothermal I will install</p><p>thanks</p>
<p>Yes, you can easily do that :-)</p>
<p>I want to use this or some thing like it to monitor temps in a green house can it be set up for more than one sensor array? I want some under ground to monitor the geothermal I will install</p><p>thanks</p>
<p>You can very easily set it up for many sensors and many ESP8266 connected together. It should be extremely easy. Assign different IPs to the different ESPs and if you want more sensors to a single ESP, just add more elements to the Make/Split structure. Should take just few minutes to setup with Visuino :-)</p>
Thank you. Job will have to wait for spring but will tell you what turned out<br>
<p>Can this be installed in a truck and if so any hints on how?</p>
<p>The radio waves will be no problem it is the powering I am concerned about. Can it be powered out of a cigarette lighter?</p>
<p>Yes, it can, with a USB adapter as example rough the USB port.</p>
<p>Where in the truck you want to install it? If the compartment allows radio waves to go trough, it should work. You also will have to decide how to power it.</p>
<p>I'd love to be able to modify this a bit... it'd be my first project.</p><p>I want to measure the temp of my pool, save the data, then display it on a web page I could view on my phone. The web design/layout I can do... but the waterproof temp sensor and the moving/storing of the data is my stumbling block....</p><p>Thanks for this inspiration</p>
<p>Hello bsmith5.</p><p>You can use the code in the description here - <a href="https://thingspeak.com/channels/42236" rel="nofollow">https://thingspeak.com/channels/42236</a></p><p>To do just that, you'd need a waterproof sensor but you can then parse any data fields you wish to display any way you wish directly from thingspeak. Mine display via a home screen widget on a tablet.</p><p>Hope this helps.</p>
<p>You are Welcome! Enjoy :-)<br>I will see to also post a version with built it Web server sometime soon :-)</p>
<p>Hello again..! I had success with your other Visuino instructables with the temp and humidity sensor and a LCD display. I managed to combine this with your other instructable regardig displaying the data through the serial port and in the serial monitor included in the Visuino. </p><p> But I am a bit confused about this OpenWire library. Do I have to install this first ? You dont mention this in this instructable. And I cant find it in Github either. </p><p> And, thanks again for this great project :) Keep up the good work.. ! </p><p> I like that you take your time explaining how things are connected, and why it have to be done this way. I find it really difficult, but in a way I understand the basics. So please keep it simple and understandable for us &quot;dummies&quot; </p>
<p>Thank you!</p><p>All you need to do is install Visuino. It has the OpenWire.h file.</p><p>This is a special slim down OpenWire design for Arduino type boards.</p><p>The OpenWire project is a much larger library and more complex architecture. It is used internally in Visuino, but you don't need it to program Arduino or ESP8266.</p><p>Probably your problems ware related with some path not being properly set or something.</p>
Ok...I understand... But some other issues is there. There should be an option in un-installation of the Visuino software to remove all of the registry files as well. If I re-install the software, all the previous settings are still there. I even tried to downgrade to Arduino 1.6.5 , but the result was the same. I even tried to install on my laptop. Its running Win10, but it didnt work . <br><br> The strange thing is that the other project files didnt work as well. I am sure its just a minor fault. But I am sure that I have the right librarys . <br><br> Hope to solve this tomorrow, cause I think this is a great program..! And I am looking forward to get it to work, and learn how to hook up different sensors, and get them to work together. <br><br> I have noticed that there were different kinds of the ESP8266WiFi library. This, I think is difficult to solve and get right. <br><br> Heres the fault message:<br><br>Arduino: 1.6.7 (Windows 7), Board: &quot;NodeMCU 1.0 (ESP-12E Module), 80 MHz, Serial, 115200, 4M (3M SPIFFS)&quot;<br><br>In file included from D:\Privat\Kjetil\Generated\Generated.ino:14:0:<br><br>C:\Users\ROV\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\ESP8266WiFi\src/WiFiUDP.h:28:0: warning: &quot;UDP_TX_PACKET_MAX_SIZE&quot; redefined [enabled by default]<br><br> #define UDP_TX_PACKET_MAX_SIZE 8192<br><br> ^<br><br>In file included from C:\Users\ROV\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\Ethernet\src/Dhcp.h:7:0,<br><br> from C:\Users\ROV\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\Ethernet\src/Ethernet.h:9,<br><br> from C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_BasicEthernet.h:14,<br><br> from C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h:14,<br><br> from D:\Privat\Kjetil\Generated\Generated.ino:13:<br><br>C:\Users\ROV\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.0.0\libraries\Ethernet\src/EthernetUdp.h:42:0: note: this is the location of the previous definition<br><br> #define UDP_TX_PACKET_MAX_SIZE 24<br><br> ^<br><br>In file included from D:\Privat\Kjetil\Generated\Generated.ino:13:0:<br><br>C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h: In member function 'virtual void Mitov::ESP8266WiFiModule::StartEthernet()':<br><br>C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h:429:9: error: 'class ESP8266WiFiClass' has no member named 'setAutoReconnect'<br><br> WiFi.setAutoReconnect( AutoReconnect );<br><br> ^<br><br>C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h: In member function 'virtual void Mitov::ESP8266WiFiModule::SystemLoopBegin(long unsigned int)':<br><br>C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h:441:45: error: 'class ESP8266WiFiClass' has no member named 'isConnected'<br><br> RemoteConnectedOutputPin.SetValue( WiFi.isConnected(), true );<br><br> ^<br><br>C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h: In member function 'virtual void Mitov::ESP8266ModuleReconnectOperation::DoClock(void*)':<br><br>C:\Users\ROV\Documents\Arduino\libraries\Mitov/Mitov_ESP8266_WiFi.h:527:9: error: 'class ESP8266WiFiClass' has no member named 'reconnect'<br><br> WiFi.reconnect();<br><br> ^<br><br>Multiple libraries were found for &quot;OpenWire.h&quot;<br> Used: C:\Users\ROV\Documents\Arduino\libraries\Mitov<br> Not used: C:\Program Files (x86)\Arduino\libraries\Mitov<br>exit status 1<br>Error compiling.<br><br> This report would have more information with<br> &quot;Show verbose output during compilation&quot;<br> enabled in File &gt; Preferences.<br>
<p>The autoReconnect is added in the new versions of the ESP libraries.</p><p>Get the latest version from:</p><p><a href="http://arduino.esp8266.com/staging/package_esp8266com_index.json">http://arduino.esp8266.com/staging/package_esp8266com_index.json</a></p><p>Not the stable one.</p>
<p>Hello again... I gave up the compiling and upload on my two desktop pc`s running Win7 and Win10 . Both running 64 bit. Tried on my old laptop running win7 and 32 bit, and all went smooth. No problem at all. So now I can go on exploring the Visuino :) Hope there will be support for OLED soon. </p><p> Thanks again ! </p>
<p>BTW: It is best to join the G+ Visuino community <a href="https://plus.google.com/communities/116125623808250792822">https://plus.google.com/communities/11612562380825...</a></p><p>Plenty of resources there, and it is easier to communicate. You can also post the devices that you want supported, and I will try to do them :-)</p>
<p>Great! :-) OLED will come soon too :-)</p>
<p>Update on my question about openwire... This might be included in the Visuino software? I upgraded the Arduino to version 1.6.7 vith the Visuino running. Could this have done so it wont find the openwire.h file ? I thought it was just my latest try, but none of the project files work now.</p>
<p>favorited for future projects, would love to install this to an automated greenhouse. very useful information here..</p>
<p>Thank you! :-) Enjoy!</p>

About This Instructable

32,054views

473favorites

License:

More by BoianM:Arduino Nano and Visuino: Control 2 Stepper Motors with Joystick Arduino Nano: Bitmap animation in SSD1306 I2C OLED Display with Visuino Arduino 101 and Visuino: Control LED from Smartphone with Bluetooth LE 
Add instructable to: