Main Content

I always wanted a YouTube Subscriber Counter that look good and clean. With the availability of e-paper displays for hobbyists like us, this idea became a reality and I’ve seen many people doing it, but I want to take my own approach and make the process as easy as possible for anyone that wants to build their own.

PCB sponsored by PCBWay - Full feature custom PCB prototype service:

It runs on AA x4 batteries and thanks to the high efficiency of the components used, it can run for many months and even years without having to replace the batteries.

I include the sketch (code) file, the links to buy the parts, the STL files for 3D printing and I even include the gerber files so you can order the custom PCB to facilitate soldering the components.

Code Features:

It shows the amount of subscribers and views of your YouTube channel.
You can select to show the complete numbers or an abbreviation (1,234 → 1.23K). On 2019 YouTube started to abbreviate the subscriber count so even if you select to see the full amount, it’s going to show a bunch of zeros to the right depending on the value (1,234,567 → 1,230,000).
It shows the date and time from the last update, using NTP servers.
Optimized to use as little power as possible, in case you use batteries. This includes turning OFF Wi-Fi when not in use, reducing CPU speed and going to deep sleep mode when waiting for the next refresh. Also, we can control the power of the display with a NPN transistor to be able to turn ON the display only when updating.
You can set to wake up and refresh the data every X amount of seconds or set the time of day (example: 3AM) where you want to update the screen. It uses the data taken from the time server to calculate for how long to stay sleep, depending on the set interval.
Warning Indicator - Connection:
No Wi-Fi: The icon is 4 bars with an X over it.
No Internet: The icon is a globe with an X over it.
Warning Indicator - Battery (optional):
Low Battery: The icon is a battery with a small line, as almost empty.
Battery Empty: The icon is a battery with nothing inside and an X over it.
The ESP32 will permanently sleep if the battery voltage is too low. This is to prevent draining the battery beyond the safe limit, and to avoid having an unstable situation where the ESP32 would crash for lack of power.It tries multiple times to connect with the time server and YouTube API if necessary and it adds timeouts to make sure it doesn’t wait forever.You can select the date format as “MM/DD” or “DD/MM”.
Screensaver: To prevent screen burn-in (ghosting) we can set to clear the screen multiple times before printing the stats screen.
It automatically adjusts the spacing and position of the values and icons on the display depending on the value of the view count.
Optionally show a grid to use as a guide to center the components.
Print to the serial monitor detailed data about what’s doing.
Physical Features:

Compact design.
It can be hang in a wall or stand in a flat surface using the retractile leg.
Since we use a e-paper display, it doesn’t produce light so it’s not intrusive in the room is at.
Power consumption:
Average current when updating: 45mA
Current when deep sleep: 0.014mA
By my calculations and tests, it should run for over 2 years on alkaline AA batteries (x4).

Maximum amount of subscribers and views allowed is 999,999,999,999,999.
The wake up time can be off by several minutes or even hours.
The time shown when it refreshes after a long deep sleep can be off by several minutes. I’m not sure why this happens and I could not find a solution, but it shouldn’t matter that much if you choose to wake up every day. When resets, we get an accurate time, but when it wakes up after deep sleep, the longer it stays sleep, the larger the time shown is off.
All the warning indicators can refresh only when we do a complete refresh cycle so don’t expect them to update in real time.

E-Paper Display 7.5 inch 3 colors (black, white and red) 800x480
ESP-WROOM-32E, ESP-WROOM-32D or ESP-WROOM-32 bare module (not a development board) or you can use a development board if you plan to use it with a plugged power supply
UART USB to TTL serial converter
Battery Holder AAx4
Shadow Box 6x8inch with an inside space of at least 1.1inch/28mm deep
Frame Mat 6x8 for 4x6 pictures. I find that it’s cheaper to buy a frame that comes with the mat that trying to buy a mat separately
Resistors 1K, 10K x2, 300K, 470K
Electrolytic Capacitors 100µF 16V x2 - It’s important to put good quality capacitors and that they are small enough to fit the enclosure that you are going to use. This is what I choose:
Ceramic Capacitor 0.1µF
Push Buttons 6x6x4.3mm x2
Voltage Regulator with low dropout voltage and low quiescent current. The best I found is the HT7333-A
NPN Transistor S8050
PCB 5x7cm - You have two options: either buy a prototype PCB made for ESP32 so you have to make all the connections yourself, or order a custom PCB on for $5 with my gerber files:
M3 HEX screws of different sizes (12mm, 8mm, 4mm) and nuts
M2x6mm HEX screws
Washers 3x7mm x8
2.54mm male and female pin header
Printable Sticker Paper
Recommended tools for this project:

Loctite Liquid Professional Super Glue
Wera 1.5-10mm Hex-Plus Key
6-inch Zip Ties
Scotch Painter’s Tape
Note: As an Amazon Associate I earn from qualifying purchases.


Arduino IDE Sketch for ESP32
3D Printed Parts
Custom PCB Gerber Files
Bill Of Materials (for PCB)

Link to article