Make an Old TV Into an 80s Themed Clock

5,602

55

33

Introduction: Make an Old TV Into an 80s Themed Clock

About: I am a hobbyist with an interest in open-source software, 3D printing, science and electronics. Please visit my store or Patreon page to help support my work!

This Instructable shows how you can turn any TV or monitor into an animated 80s themed clock with "melting" digits!

From the Atari color palette, to the use of an analog composite video signal, everything about this clock screams retro! Even the melting digits have quite a bit of history behind them, being first conceived by Steve Capps, a designer of the original Apple Macintosh, in 1976 (the year I was born!). As a kid, I came across a version of this clock for the Mac Plus and I have loved the visual style ever since!

I made my first version for the Arduino several years ago, but this one is an improvement in many ways!

  • Uses the way more powerful ESP32 microcontroller
  • Fewer components and much easier to put together
  • Improved visual design and details
  • Four different color themes!
  • Web based configuration
  • Network time synchronization


A Warning About CRT Burn-In


It was well known in the 80s and 90s that leaving a unchanging image on a CRT would eventually lead to burn-in, which would cause a permanent mark on the screen. This clock displays a fairly static image which will almost certainly cause some degree of burn-in over time. While you can delay the effect by reducing the image brightness, you should be aware that using this clock 24/7 will eventually cause irreversible marking of the display. So I do not recommend you use this on a CRT you want to keep pristine! To avoid this problem, you can consider using an LCD panel with a composite input instead of a vintage CRT.

Supplies

Step 1: Download the Source Code

  1. Visit the GitHub page for the esp32-dali-clock source code
  2. Click on the green "Code" button, then "Download ZIP"
  3. Uncompress the zip file to your hard disk someplace

Step 2: Connect the ESP32 to Your TV or Monitor

  1. Use an alligator clip to connect the pin labeled "GND" on the Adafruit HUZZAH32 to the outside barrel of the RCA plug
  2. Use an alligator clip to connect the pin labeled "A1/DAC1" on the Adafruit HUZZAH32 to the central pin of the RCA plug
  3. Connect the other end of the RCA cable to the yellow jack on your TV or monitor

Step 3: Get and Configure the Arduino IDE

  1. Download the Arduino IDE from the Arduino web page.
  2. Select "File -> Preferences" and type "https://dl.espressif.com/dl/package_esp32_index.json" into the "Additional Boards Manager URLs"
  3. Hit "Okay"
  4. Select "Tools -> Board: (xxxxxxx) -> Boards Manager..."
  5. Type "ESP32" in the search bar
  6. Select the latest version from the dropdown and click "Install"
  7. Once the installation is over, click "Close" to quit the Boards Manager

Step 4: Compile and Upload the Sketch

  1. From the Arduino IDE, select "File -> Open..." and find the "esp32-dali-clock.ino" inside the source code folder you unpacked earlier
  2. Select "Tools -> Board (xxxxx) -> ESP32 Arduino -> Adafruit ESP32 Feather"
  3. Plug in the ESP32 Feather to your computer using a micro USB cable
  4. Select "Tools -> Port" and select the serial port for your board
  5. If your TV only supports the PAL standard, skip ahead to step 7, make the changes, then return here.
  6. Select "Sketch -> Upload"

Step 5: Configure the Dali Clock Via WiFi

At this point, you should see the clock on your display, but the time will be incorrect.

Using your phone or computer, connect to the wireless point called "ESP32 Dali Clock". This will take you to a configuration webpage.

At this point, enter the information for your wireless network in the "Network Name" and "Network Password" fields. Also select your time zone and whether your location is observing Daylight Saving Time. Click "Submit" to complete the configuration and reboot the board.

Watch the screen for status information as the ESP32 connects to the network. If you need to reconfigure the clock, you will need to use the web address that is indicated on the screen.

Step 6: Selecting the Color Scheme

You can use the "Color Theme" drop down menu to select one of the following choices:

  • Time-of-Day Blend: The colors will gradually change throughout the day, giving a visual indication of time of dat.
  • Minute Blend: Cycle through all the color variations in a minute, for demonstration purposes.
  • Night Theme Only: Always use the night color scheme
  • Dawn Theme Only: Always use the dawn color scheme
  • Day Theme Only: Always use the day color scheme
  • Dusk Theme Only: Always use the dusk color scheme

Step 7: Optional: Changing the Color Mode to PAL

If you are using a TV that only supports the PAL standard, such as might be the case if you live in Europe, you will need to change a few lines of code prior to uploading the sketch, as indicated in the picture.

Step 8: Optional: Triggering the Calendar Display

Add two additional wires to the pins labeled A5/4 and A4/36. If you touch the end of the wires with your finger, it will trigger the display of the calendar date momentarily.

Retro Tech Challenge

Second Prize in the
Retro Tech Challenge

2 People Made This Project!

Recommendations

  • First Time Author Contest

    First Time Author Contest
  • Meatless Challenge

    Meatless Challenge
  • Stone Concrete Cement Contest

    Stone Concrete Cement Contest

33 Comments

0
devicemodder
devicemodder

7 months ago

I made the clock, and put it in a huge battery as well as putting it in a nice case.

20211224_184046.jpg20211224_184208.jpg20211224_184008.jpg
0
devicemodder
devicemodder

7 months ago on Step 8

How can i get it to display time in 12 Hour format?

0
Pjoterke
Pjoterke

9 months ago

Where do you connect the RCA terminal block?

0
marciot
marciot

Reply 9 months ago

See step 2 for the hook up guide!

0
Pjoterke
Pjoterke

Reply 9 months ago

The
Blink and Wifi test was successful.
I kept getting the message that the
src.compositegrafics.h Lacked.
I installed several libraries but
without the desired result.

0
marciot
marciot

Reply 8 months ago

It looks like this problem occurs because the Arduino IDE moves the esp32-dali-clock.ino file into a new directory, but does not move the "src" directory into the same directory. If you manually do this, then it should work. If not, upgrade to the latest version of the Arduino IDE.

0
Pjoterke
Pjoterke

Reply 8 months ago

Thank
you for the answers. Now, after successful uploading, I get the message
in the last line: Leaving... Hard resetting via RTS pin... I get the
following text in the serial monitor: etching Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boat:0x13 (SPI_FAST_FLASH_BOOT) configsIP: 0,
SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
Mode:DIO, Clock Div:1 load:0x3fff0018,len:4 load:0x3fff001c,len:1044
load:0x40078000,len:10124 load:0x40080400,len:5856 entry 0x400806a8 no
config file. The sketch can't be seen on my TV.

0
marciot
marciot

Reply 8 months ago

This looks normal. You should be abled to connect to it via WiFi using your phone. It should also be generating an image at this point. If not check your wiring and make sure your TV has the correct input source selected.

0
Pjoterke
Pjoterke

Reply 8 months ago

Dear
Marciot, I get the sketch on my TV now.
It looked like the alligator
cables weren't right.
I now soldered cables to the composite cable and
it worked.
But now I have a mirror image of time on my TV.
I can change
the image in the GFX library but not take the mirror image out of it.
Is
there a solution for this?
Regards, Pjoterke

DSC01678.JPG
0
erikhoffman
erikhoffman

8 months ago

Hi Marciot
IT WORKS!!!!!
Thanks so much, I begin to like you!!!

IMG_9779 copy.jpg
0
erikhoffman
erikhoffman

8 months ago

Hi Marciot
Thanks for the code and so much effort but it failed to rotate
I shall continue to play with the forum
Regards
Erik

0
marciot
marciot

Reply 8 months ago

It’s occurred to me that maybe you didn’t download all the new code from the repo. Remember how you had to move files around? Maybe there are multiple copies of the files. I suggest deleting all the source code. Everything. Then download a new zip file from the GitHub page, then I comment the #define GFX_UPSIDE_DOWN line, then recompile and reupload. Can you try that?

0
erikhoffman
erikhoffman

9 months ago

Love this project but how to include SPIFFS and the rest of the stuff - could not do it
This project is expained in many details but does not say anything about how to include anything, especially the src
Would love Marciot to explain for the benefit of all
Many thanks
Erik

0
marciot
marciot

Reply 9 months ago

I just checked my Arduino IDE and it does not appear as if I needed to install any specific libraries for SPIFFS. This seems to be standard once you've selected the correct board according to the Instructions in step 3 and 4. If that does not help, check to see if you are using Arduino IDE 1.8.16 and that you've installed version 1.0.6 of the esp32 package from Espressif Systems in the Boards Manager (Tools -> Board -> Boards Manager)

0
erikhoffman
erikhoffman

Reply 9 months ago

Thanks so much for the quick response
I have followed your instructions and it partially works
Now it stops on the first 'src/gfx/CompositeGraphics.h: No such file or directory
It seems that the src folder is missing from the sketch
Where and how you put all the files in the src folder?
Thanks again
Erik

Screen Shot 2021-11-03 at 16.30.36.png
0
erikhoffman
erikhoffman

Reply 9 months ago

Hi Marciot
Got it, the src folder has to be inside the sketch folder, the problem is when you double click on the sketch to create it, this happens - see below.
Thanks so much, will connect and let you know

Screen Shot 2021-11-03 at 19.55.56.png
0
marciot
marciot

Reply 8 months ago

Ah, this explains why some people were having problems. I now rearranged the files in the repository so that this won't happen anymore.

0
erikhoffman
erikhoffman

Reply 8 months ago

I followed the Advanced Configuration by adding the line #define GFX_UPSIDE_DOWN removing the commented lines
in the beginning of the src/gfx/compositegraphic.h but without success
it is still upside down on my display - help needed
Thanks
Erik Hoffman

0
marciot
marciot

Reply 8 months ago

I'm sorry Erik, I don't know how else I can help you. I'm all out of ideas. I tested the sketch and I was able to show the image upside down. You must have skipped a step. Try repeating the whole process from scratch using the instructions I have already provided. Good luck!