LED Marquee Scroller Wemos D1 Mini ESP8266

7,287

62

36

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

3 People Made This Project!

Recommendations

  • Pets Challenge

    Pets Challenge
  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest
  • Growing Beyond Earth Maker Contest

    Growing Beyond Earth Maker Contest

36 Discussions

0
None
paljensen

Question 23 days ago

Hi,
I can't get into my web interface for my module anymore. When i try to connect to the IP, the module just restart. The problem started when i connected two marquee screens together. Everything else works fine.

3 answers
0
None
Qromepaljensen

Answer 22 days ago

I have a feeling you have updated your ESP8266 Core to 2.5.1 -- I have heard reports that the new core causes a crash when the web interface is pulled up. I have a feeling the new core is hitting the memory limits of the Wemos. It should work fine if you use the ESP8266 Core 2.5.0. I hope that helps.

0
None
paljensenQrome

Reply 22 days ago

Thanks for the tip, , it worked :)

0
None
Qromepaljensen

Reply 20 days ago

Just an update: I spent some time with the code this morning and have updated to support the latest versions of the ESP8266 core. The latest version of Marquee Scroller 2.14 will work with the latest versions of ESP8266 Core including 2.5.2.

0
None
nmelectronics3

Question 5 weeks ago

Hi, is it possible to add sunrise and sunset times ?
it would be a nice feature to add and have tick box in the web server to turn it on and off

0
None
jeffavery

Question 4 months ago on Step 3

Hello, Thank you for this, I love it. I have two going one just as a clock and the other to monitor my printer, the humidity and the job. Is there a way I can adjust how long it sits at the clock though? I'd love to have it just sit at the clock for 1 to 3 seconds only then scroll again. Thanks in advance for any assist. -Jeff

0
None
RichardG302

Question 4 months ago

Hi!

Whats the issue here? I did everything as in the instructions :/

1 answer
0
None
QromeRichardG302

Answer 4 months ago

Looks like you got a different display than the link provided -- don't fear, it will still work. In the future 2.7 release there is a variable called ledRotation in the Settings.h file that allows you to change the display rotation value.

https://github.com/Qrome/marquee-scroller/tree/2.7

/* set ledRotation for LED Display panels (3 is default)0: no rotation1: 90 degrees clockwise2: 180 degrees3: 90 degrees counter clockwise (default)int ledRotation = 3;

0
None
DanielB832

10 months ago on Step 4

Hi,
I've just made this and it's fantastic, works brilliantly except for one thing. The time is an hour behind and I cannot figure out why. I'm in the uk and have it set to my home town. As I said it all works fine except for the time.
Any help much appreciated.
TIA

9 replies
0
None
DanielB832DanielB832

Reply 10 months ago

Seems I needed to allow geonames access to free Web services and restart the device.
All working now.
Thank you for an amazing project.

0
None
solunasallesDanielB832

Reply 4 months ago

Hi, I'm having the same problem, I've checked the whole configuration, and I couldn't find the mistake. How exactly did you give geonames access to free web services? Also, it doesn't give the number of the day, eg. Saturaday, 0.

Thanks a lot!. Brilliant project!

0
None
QromeDanielB832

Reply 10 months ago

Cool, glad you got it working. Yeah, it uses the latitude and longitude from the weather data to look up the timezone and daylight savings offset. Thanks for the comments.

0
None
efbe1840Qrome

Reply 7 months ago

OK
Thanks
This works.

Now I see if somebody finds a way to get the News from Belgium.
Thanks and I follow it up on Github.
efbe

0
None
efbe1840Qrome

Reply 7 months ago

OK
Thanks
This works.

Now I see if somebody finds a way to get the News from Belgium.
Thanks and I follow it up on Github.
efbe

0
None
efbe1840DanielB832

Reply 7 months ago

Hello,

I have the same problem, I made an account on Geonames, but I dont find how I have to go further. Can You point out how You give acces to this free web service to make it work.
Thanks,
efbe

0
None
Qromeefbe1840

Reply 7 months ago

The issue you posted on the person had a bit of a unique problem. Not sure it is the same for you. Can you give some details as to what you are seeing and what you are expecting?

0
None
efbe1840Qrome

Reply 7 months ago

Hi,
I am waiting for my LED's now. (I am making a double).
But I already flashed the Mini an I can go to the Weather Marquee web page.
There I see that the Time is not correct for Belgium, 1 hour to late.
Although I marked the DST option.
Weather works.
I made an account at Geonames, but I don't what to do next, is there a code or what some like the cityid in Weathermaps so thye know where i am situated?
Do You have a Website so I can follow the progress of maybe knew possibilities to come ?
Thanks for the good work, very nice project
efbe

0
None
Qromeefbe1840

Reply 7 months ago

Update the Settings.h file with your Geonames account name. You can test if it is working by putting your name where [YOURID] is in the following URL:

http://api.geonames.org/timezoneJSON?formatted=tru...

Also, you probably need to un-check the DST option -- not have it checked.

The code is active on github -- you can follow progress, issues and changes there.

0
None
solunasalles

4 months ago

hi, we followed the instructable with my daughter, very well explained and detailed. We managed to sort out most of the "issues", like different libraries and so on. Now, after many tries, the marquee is alive!!! Some letters scroll on it, but there are upside down and not very well readable. Could be something related to libraries too? Thanks a lot!!