DIY Kit Guide: Building Your Own Subscription Counting Clock

Building a Subscription Counting Clock!

The HackMakeMod Subscription Counting Clock is the perfect project to get started in the maker hobby! Even if you don’t care to keep track of social stats, it’s a great looking clock that always has perfect time!

This project touches on key disciplines worth learning for future projects that include Electronics, Programming and 3D Printing.

Click here for the DIY kit on our store.

Supplies and Tools:

Included in our DIY Kit:

Clock Case, LED Displays, Vinyl, Wires, ESP6288 Chip, 5V Wall Plug and USB cable

Tools and Supplies you’ll need:

  • Soldering Iron
  • Solder
  • Wire Cutters or Flush Cutters
  • Wire Strippers
  • Double Sided Tape (or anything else that can mount the ESP chip to the back of the LED boards)
  • Your Undivided Attention
Flush Cutters, Wire Strippers, Solder, Soldering Iron, Double Sided Tape, Brass Sponge

The Enclosure

If you’re going to be printing the enclosure with your own 3D printer, you may want to start that first. This print took 6 hours for our printer!

Download our enclosure design HERE: 

https://a360.co/3qL5TW0 (These 3D models do not require supports)

A 3D plan of the Clock Enclosure

We designed a split version of the housing for those of you that have smaller print beds. The two halves can be super-glued together after printing. Note: It is not necessary to glue the back cover. Both halves can be installed with a friction fit individually.

HackMakeMod Split Enclosure

The split version can be downloaded HERE

https://a360.co/30xHtEb (These 3D models do not require supports)

After printing, use super glue to hold the two enclosure halves together. The back cover functions as two independent halves and doesn’t require gluing.

STEP File Download for 3D model

Back To The Basics

On the LED Dot Matrix modules, you’ll see a few things: A series of numbers on the sides, an IN and an OUT marked on the PCB (printed circuit board), and “VCC, GND, DOUT/DIN, CS, and CLK.”

Under the DOUT Remove one of the LED displays from one of your displays with a careful pull. This will give you space to connect them easily.

Pulling out an LED Display

Connect the 5 pins from the other board’s IN to the OUT on the board you just pulled an LED from.

The In and Out connections identified

Position them at 90 degrees, and slide the 5 pins into the holes on the other PCB.

Angling the LED displays can help fit the through holes to the connection

Once inserted, bend the pins back to a straight line (You may even bend them beyond straight to secure the connection).

Bend the LED displays beyond a straight line to ensure a strong connection

Solder the now connected pins that are now through the board marked OUT.

Soldering the LED displays connections

 Reconnect the missing display. Make sure you put the numbered side back in proper orientation.

Place the correct, numbered sides back together when replacing your LED display

Remove the extra input pins on the side of the board. We’re going to be soldering to the back pads of the PCB, so the extra pins are not needed.

Use Flush Cutters to remove the unncessary, exposed connections

Cut the wire to about four inches and strip a quarter of an inch of the wires bare on each end.

Cut your wires to an apporpriate length

Strip your wires to an appropriate lengthTake your soldering iron and tin all of the wires on both ends. Trim off any extra length you don’t need, especially if it’s bulging at the end of the wire.

Tin both exposed ends of the ribbon
Trim the ends of any bulging wires or unnecessary length

Solder your IN PCB pads to your freshly tinned wires. It can be helpful to apply a little solder to the pads first, then apply the tinned wire and let it sink into the pre-applied solder!

Note: Wire colors may vary from kit to kit.

Solder your wires to their respective pads

Take note of which wires attach to which pads!

Next, solder your wires to the appropriate places on the ESP8266 chip.

For your power wires:

VCC goes to 5V
GND to G

For the data wires, we wired:

DIN to D7
CS to D8
CLK to D5

Soldered Connections on the ESP8266

Here’s a wiring diagram for example

A wiring diagram built with Fritzing

If you wired your data differently, it’s OK! You’ll just have to remember how you connected it later.

Stick your ESP8266 to the back of your LED PCB with some double sided tape.

Apply double sided tape to secure the ESP8266 to the backs of the LEDs

You’re all done building the internal parts of your clock! Hold off on inserting the hardware into the case. If there’s something wrong once you’ve uploaded code into your clock, you’ll want to have it out of the case to work on it. Additionally, there’s still much to do before you’ll get to see all those precious subs! Now, we’re going online.

ESP8266 on top of the LEDs, all wired up.

Let’s Get Technical

At this point, we need to get the resources that will communicate information to our ESP8266 board. There’s a number of downloads, so follow closely!

Go to https://www.arduino.cc/en/software. Download the appropriate version for your operating system and install the program. We’re going to use Arduino.IDE to upload our code to the ESP8266. Speaking of that chip…

Arduino.ide download page

Go to https://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers. Download the appropriate driver for your operating system and install. This will allow the ESP8266 to connect to the internet.

This DevKit will allow the ESP8266 board to communicate wirelessly

 Once installed, open your Arduino.IDE program. Click on “Tools,” and find “Manage Libraries.”

Finding Manage Libraries on Arduino.IDE

Once there, search for the Libraries listed below. The library search bar is case sensitive. Make sure you search for these properly or they won’t show up.

ArduinoJson.h

MD_MAX72xx.h

MD_Parola.h

NTPClient


WiFiUdp.h <— Contained within the WiFi101 Library

This is the first of five downloaded libraries you'll need for this build!

You may need to restart the program or your computer after downloading all of this!

After installing all the libraries, we need to ensure Arduino.IDE knows we’re working with and where to find it.

Go to preferences…

In the “Additional Boards Manager URLs:” we need to add this line…

If you already have it… Great! If not, just click on the little window pop-up box and add it. You may, or may not have other lines in there already.

Next go to —>”Tools” —>”Boards Manager”

Then search:

esp8266

This is the Board Manager installation for Arduino IDE

After you install esp8266 got to…

Tools -> Board -> ESP8266 Boards ->

Then select: NodeMCU 1.0 (ESP-12E Module) for the microcontroller included in our kit.

Next, connect your power USB cable to the ESP8266 and connect to your computer (Note: 1:28 A.M. is the default time. If you see that, it’s OK for right now!)

This is the default time for the Clock-- That mean's you've wired it all correctly!

Then, select the correct serial port in Arduino.IDE. In our experience, it’s been listed as COM3, COM4, or COM 5. Once selected, we’re going back to the internet to get our code.

Select the correct port for your clock!

SocialGenius Makes It EASY

Go to SocialGenius.Io. Register an account and log in.

Social Genius Registration

Choose your YouTube channel that you’d like to follow, and copy/paste their URL into the “Setup your API Feed” field, then click “Preview and Save.”

Vanity URLs work on Social Genius

Once saved, you should see the thumbnail for that particular channel. Click “Generate Code For My Project!” And you’ll see a number of options.

Generate code for your project and watch Social Genius do all the work!

Now, Select the correct time zone for your clock. It will check you’re computer’s selected time zone and guess, but there’s a number of options for your time zones.

Social Genius even guesses your timezone... Does it guess correctly?

Next, write your WiFi’s name and password below.

Insert your SSID and WiFi password for the ESP8266 code to work!

Next, check to make sure the CS Pin, Clock Pin, and Data Pins are correct in the fields below. If you’ve followed our instructions above, you should have them correctly. If you did anything otherwise, it’s OK! Just make sure you type the correct connections into SocialGenius, and the code will be generated for that wiring scheme.

Social Genius allows you to change and input the correct wiring pattern regardless of which pins you soldered!

Lastly, decide how long you want your clock to take for it’s transitions. Whatever time you decide can be written into the “Transition Time” field.

I like to have my clock take 6 seconds per frame. That’s 1.5 seconds of fade in, 3 seconds of hold, and 1.5 seconds of fade out. Use whatever time you like.

Now, click “Copy to Clipboard” on SocialGenius.

Copy your generated code and paste it into the Arduino IDE page! Make sure you get rid of all the start up text from the Arduino sketch page.

Then, get back to the Arduino.ide. Select All of the text that starts in the program, and paste the new text over all of it. If you don’t get rid of that start-up text, this won’t work!

If everything has gone right, and you’ve selected all of the information correctly, click the arrow (Upload) and send your information over to the ESP8266. If you hit an error, check back over the libraries and make sure you have everything installed and plugged in correctly.

Upload your code by clicking on the right facing arrow in the top left corner of the Arduino IDE page

Final Touches

We’re almost done! Once you see the display come up correctly with your channel information, all that’s left is to put the clock in it’s enclosure.

To support the clock, place your four foam pads inside the clock, opposite to each other. Place two on each side.

Peel and stick your foam supports inside the fram
Place all four pads in the clock, two on each side

Then, gently and carefully, shove your clock into the frame. Make sure the foam pads don’t roll under as you push the LED displays in. It might sound ugly as you push plastic against foam, but it’s a snug fit. Just make sure you see all four pads by the time the LEDs are all the way in.

Inserting the clock display into the frame
Press the clock all the way to the bottom of the frame.

Next, Remove the backing to your vinyl to expose it’s sticky side. Take the case and lay it over the adhering side of your vinyl.

Exposing the sticky side of the vinyl

Cut to size with an Exacto knife or any similarly sharp and useful tool.

Cutting vinyl to size around the clock

After that, plug the charging cable into a 5V wall plug, close the back of the clock frame, and plug your clock in!

Chad’s tip: Give your wire a small coil as you place it in so the ESP has some slack and won’t be pulled to hard by the cable!

Coil the wire just a bit!
Close the back up, and plug it in!

FINAL DISPLAY

Congratulations! Now you never have to go searching online for your subscriptions again. The time of day, day of the week, YouTube subscriptions and views will start to roll by on whatever time transition you decided. If this guide has been helpful for you, give it a share and show off your piece with #HackMakeMod! We’d love to see your work!

It is our mission to help you have a path to a successful project! If you have difficulty following our instructions please let us know: support@hackmakemod.com

The clock is all finished, displaying our channel handle, Hack Make Mod
Tutorial
DIY Kit Guide: Building Your Own Subscription Counting Clock
DIY Kit Guide: Building Your Own Subscription Counting Clock
January 28, 2022
Difficulty: Intermediate