LED Marquee Scroller Wemos D1 Mini ESP8266

20,123

108

128

Introduction: LED Marquee Scroller Wemos D1 Mini ESP8266

About: I enjoy flying RC and 3D Printing

Make your own Clock, Weather, News, and more! Easy to make LED Marquee Scroller using a Wemos D1 Mini and a LED Dot Matrix Panel. Full Arduino software and 3D printed case.

Features Displays the following every 60 seconds:

  • Accurate Clock refresh off Internet Time Servers
  • Local Weather and conditions (refreshed every 10 - 30 minutes)
  • News Headlines from all the major sources
  • Configured through Web Interface
  • Display 3D print progress from your OctoPrint Server
  • Option to display random goofy advice
  • Option to display Bitcoin current value
  • Basic Authorization around Configuration web interface
  • Support for OTA (loading firmware over WiFi)
  • Video: https://youtu.be/DsThufRpoiQ
  • Build Video by Chris Riley: https://youtu.be/KqBiqJT9_lE

Required Parts and Source Code:

Step 1: Wiring for the Wemos D1 Mini to the Dot Matrix Display

The Dot Matrix Display comes with the wires you can use. I simply cut off the plugs and solder them directly to the pin locations on both the LED Dot Matrix Display and to the Wemos D1 Mini.

  • CLK -> D5 (SCK)
  • CS -> D6
  • DIN -> D7 (MOSI)
  • VCC -> 5V+
  • GND -> GND-

The Dot Matrix will slip into the case and snap in. No glue required and will be a snug fit.

The Wemos D1 Mini will slide into the slot of the back panel and will be held in when assembled. Also, no glue required. The back panel can be snapped in then held shut with some small screws.

Step 2: Compiling and Loading to Wemos D1

Download source code from here: https://github.com/Qrome/marquee-scroller

It is recommended to use Arduino IDE. You will need to configure Arduino IDE to work with the Wemos board and USB port and installed the required USB drivers etc.

  1. USB CH340G drivers: https://wiki.wemos.cc/downloads
  2. Open the Arduino IDE and enter the following URL http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas. This will add support for the Wemos D1 Mini to Arduino IDE.
  3. In the Arduino IDE, open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).
  4. Select Board: "WeMos D1 R2 & mini"

Packages -- the following packages and libraries are used (download and install):

Initial Configuration:

NOTE: The settings in the Settings.h are the default settings for the first loading. After loading you will manage changes to the settings via the Web Interface. If you want to change settings again in the settings.h, you will need to erase the file system on the Wemos or use the “Reset Settings” option in the Web Interface.

Step 3: Web Interface for Configuration

The Marquee Scroller uses the WiFiManager so when it can't find the last network it was connected to it will become a AP Hotspot -- connect to it with your phone and you can then enter your WiFi connection information.

After connected to your WiFi network it will display the IP addressed assigned to it and that can be used to open a browser to the Web Interface. Most everything can be configured there.

The Clock will display the time of the City selected for the weather.

Step 4: Enjoy

I hope you enjoy your LED Marquee Scroller. If you do, please share your makes, share the link, like and subscribe. Questions? Post them up.

Enjoy!

-Qrome

Microcontroller Contest

Participated in the
Microcontroller Contest

7 People Made This Project!

Recommendations

  • Lamps and Lighting Contest

    Lamps and Lighting Contest
  • Space Contest

    Space Contest
  • Micro:bit Contest

    Micro:bit Contest

128 Comments

0
sgarbo
sgarbo

5 months ago

Works great! Great instructions. I am using a larger wemos and I was curious if anyone has had success with a nodemcu. ( I have lots of those but no D1 mini's)

0
chray68
chray68

Question 6 months ago

A really nice Project!!
I've build two of the Marquees and also one of the tiny Printer Monitor and everything is working fine and looking great!
Just got one question regarding the news feeds:
How can i change the settings to add/show another news service which isn't chooseable through the Web Interface?
I would like to show the Austrian Headlines and i guess the correct entry should look something like this:http://
newsapi.org/v2/top-headlines?country=at&apiKey=XXXXXXXXXXXXXXXX
The Line Nr. 45 in the NewsApiClient.cpp looks similar and i alraedy tried to change it to show my Local News but w/o any success.
Maybe somebody would be so kind and show me the exact entry step by step to make that change possible.
Thanks again for that great Project!

0
dsutherland
dsutherland

8 months ago

This is a brilliant project.
I would like to request MQTT functionality so the scroller can display text strings from a subscribed topic sent from openhab or home assistant.
Being able to publish to a topic when motion is detected or a button is pressed,for example,would also make this more versatile.
Would you consider implementing this ?

0
RubayetFrafi
RubayetFrafi

9 months ago

In file included from C:\Users\ASUS\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp:20:0:
C:\Users\ASUS\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.h:30:32: fatal error: Adafruit_I2CDevice.h: No such file or directory
#include <Adafruit_I2CDevice.h>
^
compilation terminated.
exit status 1
Error compiling for board WeMos D1 R2 & mini.




What should I do now?? :(

0
harryfakri25
harryfakri25

10 months ago

Verry good project. About NewsSource, can we choose for NewsSource from my country?

0
iamdjjames
iamdjjames

Question 1 year ago

Has anyone found a way to at scrolling Stocks on this?

0
Robert Bock
Robert Bock

Question 1 year ago

I've been running this for 8 months. I really like it. My news feed stopped. Does anyone know if newsapi.org has stopped using reuters as a news feed?

0
Qrome
Qrome

Answer 1 year ago

NewsAPI still works, but they changed their service. Go get the updated code version 2.16 -- this has the fix to populate the NEWS list dropdown.

0
Robert Bock
Robert Bock

Reply 1 year ago

Thank you for the quick response. That solved the problem. Thank you for all the hard work you put into this project and maintaining it.

0
zero1niner
zero1niner

Question 1 year ago on Step 4

Amazing work. Curious if anyone might have a suggestion on where I can choose which of the AdaFruit fonts are being used for the display? There is a bold version of the font I want to try, but cant seem to find where to make the change

0
dedries1965
dedries1965

1 year ago

@Qrome Very nice project, i made it with 8 displays, only thing what i not get work, after put on wifi...i can open ip adress in browser, but nothing i see, it's connected on the IP but no config fields or something...i did everything in the readme it works great but i can nog config it with ip adres..

And can we use the buzzer_pin for something????

Maybe you have a tip.....tnx

IMG_20191202_191537.jpgIMG_20191202_191606.jpg
0
zero1niner
zero1niner

Reply 1 year ago

HI dedries1965! Can you tell me what you modified to make this work with 8 displays? I have a version that is using 6 displays, but I cant seem to find where to make the modifications. Thanks!!

0
zero1niner
zero1niner

Reply 1 year ago

Found the setting. For anyone else that might be struggling with this, its in the settings.h file, and its on line 88 (at least as of this writing).

const int numberOfHorizontalDisplays = 4; // default 4 for standard 4 x 1 display Max size of 16

Change the = 4 to whatever the number of displays you are using and thats it!

I used 6 for my project as is shown in the attached pic.

Screen Shot 2020-07-04 at 4.15.56 PM.png
0
Ek4s
Ek4s

1 year ago


I have made this great project, I have something to ask ...

How to set the speed of the running Text?

Which line must be changed to adjust the speed of the running Text?

Sorry for my bad English.

0
echo8hink
echo8hink

Reply 1 year ago

There is scroll speed selection in Options under Web Interface or in the "settings.h"file, look for the line under Start Settings:
int displayScrollSpeed = 25; // In milliseconds -- Configurable by the web UI (slow = 35, normal = 25, fast = 15, very fast = 5)

0
MarkS918
MarkS918

1 year ago

Demos web site to adjust it will not open just says.
Shows in router site just says it can not be reached.

0
dancopy
dancopy

Reply 1 year ago

Hi Mark,
Did you solve your "ArduinoJson" library problem?
If not, the "ArduinoJson" folder, which is inside another folder called "libs" (without quotes), should be placed inside your Arduino library folder, and not the entire "libs" folder. Then, restart your Arduino IDE.

0
MarkS918
MarkS918

Reply 1 year ago

Wemos WiFi chip

0
liuxianhao666
liuxianhao666

1 year ago

Hello,I love this project and make it successful, but sometimes it crashes when refreshing data. Why? Does it not reset itself? Thank you very much.