open dyslexic mode
Project Overview
This is a DIY YouTube Subscriber Counter built using an ESP32 and a 1.8" TFT display (ST7735, 128x160 pixels). It displays your YouTube channel's subscriber count in real-time, a synchronized clock, a date, and a progress bar showing how close you are to your subscriber goal. Perfect for YouTubers, electronics hobbyists, and anyone looking to create a motivating gadget!
Features
Subscriber Counter:
Fetches subscriber count via YouTube API (updates every 10 minutes).
Displayed in red at y=30, font size 3.
Stores data in EEPROM to retain values on reboot.
Progress Bar:
Visualizes progress toward your goal (e.g., 30,000 subscribers).
Stretches across the full 160-pixel width (x=0, y=55).
Green fill with white border, updates smoothly without flickering.
Clock:
Shows time in HH:MM:SS format (y=70, font size 2, white).
Synchronized via NTP (pool.ntp.org, UTC+3 for Ukraine).
Updates every second without flickering using per-digit rendering.
Static colons for a polished look.
Date:
Displays day, month, and year (e.g., "Tue, May 2025") at y=90, font size 1.
Updates on day change.
WiFi & Reliability:
Auto-connects to WiFi (configured in config.h).
Retries connection every 5 minutes if disconnected.
Display brightness set to a comfortable level (PWM 125).
Why It's Awesome
Motivation for Creators: Real-time subscriber tracking inspires you and your audience.
Aesthetic Design: Compact display with clear visuals (red counter, green bar, white text).
Technical Elegance:
Optimized display updates (no flicker for clock, conditional progress bar).
Robust YouTube API and NTP integration.
Data persistence in EEPROM.
Easy to Replicate: Affordable components, open-source code, and simple configuration.
Technical Details
Hardware:
Microcontroller: ESP32 (WiFi, SPI support).
Display: 1.8" TFT ST7735 (128x160, color).
Pins:
TFT_CS: 5
TFT_RST: 4
TFT_DC: 2
TFT_MOSI: 23
TFT_SCLK: 18
TFT_BL: 15 (backlight).
Software:
Libraries: Adafruit_GFX, Adafruit_ST7735, WiFi, NTPClient, WiFiUdp, HTTPClient, ArduinoJson, EEPROM.
Language: Arduino C++.
APIs: YouTube Data API v3, NTP (pool.ntp.org).
Update Intervals:
Clock: Every second.
NTP: Every 10 seconds.
Subscribers: Every 10 minutes.
WiFi retry: Every 5 minutes.
Display Layout:
"SUBSCRIBERS": x=10, y=5, font 2, white.
Counter: x=10, y=30, font 3, red.
Progress Bar: x=0, y=55, 160x12, green with white border.
Clock: x=10, y=70, font 2, white, colons at x=34, 64.
Date: x=10, y=90, font 1, white.
Who Is It For?
YouTubers: Showcase your channel growth live!
Electronics Hobbyists: Learn ESP32, displays, and APIs.
Educators/Students: Great for microcontroller programming courses.
How to Build It
Gather Hardware:
Buy an ESP32 and ST7735 1.8" TFT display.
Connect pins as specified (CS, RST, DC, MOSI, SCLK, BL).
Set Up Environment:
Install Arduino IDE or PlatformIO.
Add libraries: Adafruit_GFX, Adafruit_ST7735, WiFi, NTPClient, WiFiUdp, HTTPClient, ArduinoJson, EEPROM.
Download Code:
Copy main.ino and config.h.
In config.h, set:
WiFi (WIFI_SSID, WIFI_PASSWORD).
YouTube API key (YOUTUBE_API_KEY) and channel ID (CHANNEL_ID).
Upload Code:
Connect ESP32 to your computer.
Compile and upload via Arduino IDE/PlatformIO.
Enjoy:
Power on and watch your counter, clock, and progress bar in action!
Future Enhancements
RGB Lighting: Add WS2812 LEDs for dynamic color based on subscriber count.
Sound Alerts: Use a buzzer for new subscriber notifications.
Accurate Date: Integrate TimeLib.h for precise date formatting.
Mobile App: Add Blynk for remote monitoring.
Custom Design: Tweak colors, fonts, or add progress bar animations.
Why Watch the Video?
In the video, weโll cover:
Step-by-step hardware assembly.
Configuring YouTube API and WiFi.
Code walkthrough: flicker-free clock, progress bar, and counter logic.
Live demo of the device in action!
Tips for optimization and troubleshooting.
Subscribe to our channel for this and more DIY projects! Like if you want more YouTuber gadgets, and comment with features youโd add to this counter! ๐
@razor__man
4 months ago
Good ๐๐
2 | 1