For those of you who aren’t familiar with RSS, according to Webopedia: “RSS is the acronym used to describe the de facto standard for the syndication of Web content. RSS is an XML
based format and while it can be used in different ways
for content distribution, its most widespread usage is in
distributing news headlines on the Web.”
An RSS XML document — also called a feed or
channel — includes summarized headline text along with
metadata like publication date and author information.
The RSS acronym itself has had numerous definitions
over time. Originally, it meant RDF Site Summary; later,
RSS was defined to mean Rich Site Summary. Currently,
RSS is understood to mean Really Simple Syndication.
Regardless of the true definition, in this article I will use
the term RSS to mean an Internet feed of headlines from
one or more news/information sources. If you have been
reading Nuts & Volts regularly, you probably have noticed
that I have written quite a few articles about putting the
NodeMCU Amica module with an embedded ESP8266-12
chip to work. Those articles include:
1. “Meet the ESP8266: A Tiny Wi-Fi Enabled Arduino
Compatible Microcontroller” in the October 2015 issue.
2. “Thinking of You” in the November 2015 issue.
3. “ESP8266 NTP Clock” in the June 2016 issue.
4. “ESP8266 Weather Clock” in the November 2016 issue.
All of these projects were developed within the
Arduino integrated development environment (IDE) using
the ESP8266 as a relatively high performance
microcontroller with a built-in Wi-Fi interface. That is to say
no other microcontroller was used to control the ESP8266
as a peripheral like in so many other ESP8266 projects I
see on the Internet. Hosting applications directly on the
ESP8266 itself both drives project costs down and
increases reliability at the same time as a result of fewer
parts and less software involved.
In this article, I’m going to describe an RSS news
reader application I built on the same hardware as my
previous two articles. Again, that’s the NodeMCU Amica
module, an Adafruit 1.8” TFT LCD display, a pushbutton
switch, USB cable, USB power supply, and some wire.
With this hardware, you can upload the NTP clock
software and have an auto setting time and date clock;
upload the weather clock software, and get current and
forecasted weather conditions for your location along with
the NTP clock functionality; or the software I provide with
this article to have the RSS news reader all without
changing a single wire or component.
As supplied, the software for this news reader has
hardcoded RSS feeds for NPR, CNN, AP, L.A. Times, BBC,
Reuters, and USAToday, and it is a simple matter to add
your own feeds and/or delete or reorder any that I have
supplied. Once the RSS reader is configured, it will
connect to your local Wi-Fi network and then make a
request for headlines from NPR (which happens to be at
the top of the feed list, but more on that later). It will
continuously cycle through the display of headlines by
horizontally scrolling them across the LCD. After all
headlines have been displayed, a new request to NPR will
I admit it. I am a self-proclaimed news nut. I don't know, but this might actually
be an undiagnosed illness since I look at the news on the web constantly during
the day and then watch the news in the evenings on TV. There is always
something going on in our world (for better or worse) that I don't seem to want
to miss. So, when I was thinking about other applications for the amazing
ESP8266, I thought why don't I write an RSS reader so I can monitor the
headlines from many different news sources from around the world. Then, if
something catches my attention, I can open up my laptop and read the full story.
32 January 2017
FIGURE 1. Fritzing connection diagram/schematic.