A display made from LEDs, tube and special tape
You can watch a small video I made. Where the functionality of this device (all the way at the end of the video) is shown briefly. It is intended to be used as a YouTube subscriber counter and clock. But technically it can display all sort of information, since it basically is a 2x16 character dot-matrix display.
When the project began, I started with great enthusiasm, made the LED driver PCB's, programmed a microcontroller, doing the mechanics, and wrapped 10 pieces of glow in the dark tape around a 55cm long PVC pipe. It all went pretty smooth and quickly proved to be working pretty well as a display (works best in the dark). But there was one detail. All clocks requires to display the correct time. And I wanted this clock to be a perfect clock (low drift, easy to configure, etc). So that could be an issue. Because I could not make up my mind how to solve that problem (as simple as possible), the project was put aside... and we all know how that could end... in a permanently unfinished project.
The roll itself is just a simple PVC pipe with endcaps. Attached to one of those endcaps is a sprocket or gear or cog-wheel (or whatever it is called these days). On both of the endcaps there are some standard ball bearings to make it all spin very easily. Just some cheap inline-skates-wheel ball bearing. Nothing fancy. The stepper with gears originates from an old printer. An old matrix printer if I'm not mistaking. I salvaged those parts many many years ago. So it was nice that I could finally use them in a project. Which also proved my right in saving it for all these years. Now, the stepper motor is very small, which has an advantage because this way I could fit in into the side of the cabinet. The motor is indicated with red rectangle in the photo below. It is all very very basic. As an axle I used a piece of threaded rod slightly longer then the length of the PVC pipe. The pipe lays on this threaded rod with the bearings. I used a thread rod for simplicity and to make sure that both bearing were rotating along the same line. Making it less wobbly then two small axels (one on each side). There is only one tiny problem, the stepper motor has almost no power, the gears make it better, but still. Lowering the speed increases torque, which is normal for a stepper but too slow would make it look bad. Fortunately I could drive it fast enough to be acceptable.
It was march 2018 that I suddenly realized that I should all base it on an ESP8266. The last few years I've gained a lot of experience with this wonderful piece of technology (a cheap module but priceless in its possibilities and performance). So I removed the old microcontroller and put in the new ESP8266 (an ESP-12E to be exact). I ported the code I had to the ESP, modified some existing code from the internet to monitor the YouTube stats, re-used some of my NTP code from another ESP project. Funny though, for years I've been pondering how to finish it. And then suddenly BAM... inspiration... and with renewed energy it was working like I wanted it to be in a weekend. Now the only thing I needed to do was to make a nice enclosure for it, that took me another weekend. And in the days in between I decided how it should look. I decided that it had to look a little like wood, to match the cabinet. But also to make it look a little like an old radio, or at least not something like I made myself (because it has to be nice to look at). Though considering my woodworking skills and budget I decided to use some simple MDF and some small strips of wood bought from the hardware store.
So I ended up making a simple rectangular box, screwed and glued it all together. Rounded the corners and edges using a plane and some sandpaper and glued on the wood strips. At first I wanted to stain the whole case with very dark colored furniture wax. But that wasn't as nearly as dark and colorful as I imagined. Fortunately I tried it on a piece of scrap MDF first, so no harm was done. Then I decided to use some stain and a large brush and even for the little effort I've needed to put in the staining process, it performed miracles. To get a little bit of darker coat, I stained it again a few days later. I was very pleased with the result. As the photo shows, the 2 pieces fit together perfectly. Aka... not perfect... more like a tight glove.
The end result is shown below. Here you see the glow in the dark display acting like a YouTube counter on the top line (=subscribers, V=views) to my YouTube channel. And on the bottom line there is the date and the time. The display is updated every 30 seconds. Which is more then enough in the evenings. Regarding the daytime, this kind of display is useless. Because the strength of daylight is so much that it completely overwhelms the light output of the glow in the dark characters. Meaning that the characters would only be visible for a few seconds after being written. But is this a problem, no not really. Mostly because the clock is not really in active use... As there are 2 small issues, first: the clock makes a slight humming noise each time it updates. Not loudly, but noticeable when the house is completely silent (no TV or radio), this is a problem for me personally and most likely a problem for the WAF. Second: the cabinet on which the clock was to be placed isn't that empty any more as it was when I started the project 3 years ago. In other words the situation in real life isn't completely as shown in the picture below. When I started this project in 2015 the top and most of the shelves were completely empty, but over the years all sort of photos, "art" and "school projects" were placed on all the shelves. So eventually in 2018, there was no longer any room left for the clock. But we agreed that I could make a demonstration picture of my project, so I could properly show it here on my website and after that restore the contents of the cabinet back to normal. This way I could show the whole clock as it was intended and I could mentally file this project under the tab "finished".
The ESP8266 is a great device, cheap but powerful and a lot of examples can be found if you program it using the Arduino programming environment. So... that's what I used and it served me very well. The code for the YouTube stats is basically the code from Brian Lough slightly modified to my own taste. This code is very much used by YouTube counters as featured on YouTube in combination with the ESP8266. The code for the NTP server is worked on by many people, Michael Margolis, Tom Igoe, Ivan Grokhotkov and then modified to suit my own needs as I wanted NTP functionality, but didn't want a clock that spammed the NTP server. So I request the time... then sync my own internal clock to that time and periodically re-sync the clock to maintain accuracy. In order for the code to run, you do need to supply your own API-key for YouTube AND the YouTube channel-ID. Also you need to fill in your own WIFI network SSID and KEY.