Featured post

Mission

Hello!  Welcome to the Variable Industries playground. The articles contained in this website cover a wide range of fun subjects including Arduino, Raspberry Pi, audio processing, and basic electronic circuits. The goal of this site is to document my projects and point others to useful or relevant information in these fields. Please register and comment if you have questions or tips.

<Disclaimer>
I am not an electrical engineer, I don’t even play one on TV, so…
Variable Industries is not responsible for, and expressly disclaims all liability for, damages of any kind arising out of use, reference to, or reliance on any information contained within the site.
</Disclaimer>

-varind

Web-To-LCD 2

This new-and improved version of my earlier project that leaves the Arduino out of the picture. Everything runs on the ESP8266. Same results, just simpler to build and much simpler code.

You can join the ESP’s wifi network and tell it which access point to join.  The code is also updatable from a web browser.

Initially, you’ll have to upload the sketch to the ESP using a breadboard and a serial to USB converter, or some other configuration of the following schematic:
ESPFlasher_schem
** Be careful to use only 3.3v on the RX pin and VCC Pins of the ESP8266 **
If your FTDI programmer is 5v you’ll need to add a level shifter, or voltage divider on it’s TX pin.

From here on out you can modify the code and flash wirelessly using a browser.

To get the ESP connected to your home network:

  • First join the WiFi network: ESP LCD.
  • Use the password you set for ESPpassword
  • Launch your browser and navigate to 192.168.0.1
  • Here you’ll find a page that lets you set the SSID and PASSWORD for your wifi network
  • Now you can connect your computer back to your home network

To update and upload a modified sketch:

  • Back in your browser, navigate to http://esp.local
  • Select the binary to upload, then click “upload”.
  • Done!

Output examples are shown on my earlier project.

Here’s the schematic with LCD:

Web-to-LCD-2_schem

Web-To-LCD

Arduino+ESP8266 XML/RSS/HTML to LCD for Weather/News/Ham Radio/Stocks etc

Here is a project that pulls data from the internet and displays it on an LCD.  I use a 20×4 character display but this will work on a 16×2 as well.  I’ve tried to make this program easily adaptable to many different kinds of data.  The working version has examples for weather, news, amateur (ham) radio and stocks.

Data is easily pulled from the web and displayed on the LCD with a few simple parameters.

Features include:
– A large custom alphanumeric font
– Correct wrapping of text on the 20×4 LCD
– Removal of IPD+ messages from the ESP8266
– Special character replacement
– Custom formatting with grid layout or specify the number columns in each row.

To make the ESP8266 play nice with the Arduino I had to flash the ESP with a firmware that sets the serial data rate to 9600.  I also had to increase the Arduino’s software serial buffer to 256 (from 64).  Look at the GitHub page for firmware and flashing software.  I found the flashing instructions at: http://www.xess.com/blog/esp8266-reflash/

To increase your software serial buffer, first find your software serial library.  On my mac I had to control-click on the arduino app and choose “show package contents”.  Navigate to: /Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h
and change the line:
#define _SS_MAX_RX_BUFF 64 // RX buffer size
to
#define _SS_MAX_RX_BUFF 256 // RX buffer size

Here are some examples of the display:

Weather:
weather
Weather (big font):
weather_big
Amateur (Ham) Radio band openings:
ham_band_conditions
Solar-Terrestrial data:
ham_solar_conditions
Stocks:
stock
Stocks (big font):
stock_big
News:
news

Here is the schematic.  You can use any 6 arduino pins for the LCD and any two pins for software serial (some boards, like mega, don’t support all pins for software serial).  Just define the pins you use in the code.  Note that the ESP8266 needs a 3.3V for power and RX.  I used a regulator for the power and a voltage divider on the RX.  The arduino’s 3.3V output did not supply enough current to the ESP8266 in my tests.
Web-to-LCD_schem

First build on protoboard:
proto-1

Second build:
proto2 proto3

Here’s a real simple enclosure made from a dollar store picture frame and some bolts:
proto4-640

 

The code is available on GitHub.