March 2014 Update! Version 5.1 of the code is out with bug fixes and a nice lower case font. Get it while it's hot! The link is on the last page of this instructable!

This clock uses the classic video game Pong to tell the time. The 2 players automatically win and lose so their scores show the hours and minutes. It's not too hard to build and should cost less than $100. All the parts are easily available on eBay and the software code is free to download!

The clock can also show the time written in words such as "Ten Past Twelve", with large or small digits and with a slide or jumble effect. The date pops up every now and again too, printed out with a retro flashing cursor effect. A menu screen lets you choose the display mode, or you can have the clock pick a random mode every few hours.

The project uses 2 bright LED matrix panels from Sure Electronics. You can buy them in red or green with either 3mm or 5mm LEDs. An Arduino runs the main code and a DS1307 clock chip keeps time, even when the power is off.

Remove these adsRemove these ads by Signing Up

Step 1: Parts List & Cost

So here's what you need...

2 x Model 2416 Red or Green LED Matrix Displays from Sure Electronics

You can get these from Sure's eBay store for $15 each: http://www.sure-electronics.net/ Make sure you get the new version of the display which is based on the Holtek HT1632C chip. You can tell the new displays as they have the controller chip and DIP switches on the back. (See pic). My clock is made with the 3mm LED display, but they also make a larger 5mm one.

1 x Arduino Uno / Duemilanove with ATmega 328 CPU

Th Arduino is the brains of the clock. It has a microprocessor that runs the main clock software, plus inputs and outputs we connect to the displays and other components. Ensure you get an Arduino with the ATmega 328 CPU. (Some older boards come with the ATmega 168 with doesn't have enough RAM). You can get Arduino's for about $30. Try Sparkfun Electronics or eBay.

1 x DS1307 Real Time Clock chip (RTC) and IC socket.
1 x Crystal Oscillator for the DS1307
1x 3.3v Coin Cell and holder - battery backup for the DS1307

I found all these bits on eBay bundled as a kit for $10.

1x Arduino Prototyping Shield

The prototyping board or ‘shield’ plugs onto the top of the Arduino making it easy to add components. It brings all the Arduino's input and output pins onto a circuit board that you can solder components to. Get a board which is designed for a chip to go on, i.e. one that brings each pin of the IC out to a solder pad you can connect wires to (see pic). Again places like Sparkfun or eBay are good sources for them. You should be able to pick one up for $15 - $20. If you don't like the idea of soldering, you could get a breadboard and jumper wire to build the circuit on temporarily instead.

1x 16 Pin IDC Socket
We solder this socket to the prototype board so we can plug the display ribbon cable in. They are a couple of dollars on eBay. If you aren't planning to solder, you don't need this.

2x ‘Push to Make’ Buttons.
These are used to set the time / change the display mode. You can get them for a few dollars.

1x USB Lead - Type "A to B"
This is needed to to program the Arduino, and then as a power lead for the clock.

1x Mains to USB Power Adapter
This is used to power the clock and you can pick them up for less than $10. Look for one with an output of 150mA or above.

Step 2: Circuit Diagram

Picture of Circuit Diagram
This diagram shows how to connect the parts. It's not too difficult, and you can try it on a breadboard first to make sure all is working. When you are happy you can solder the parts to the prototype shield.


1)The 2 push buttons are not shown in the above diagram. You will need to connect one button between Arduino digital pin 2 and GND. The other button needs to go between Arduino digital pin 3 and GND. The digital pins are the ones that don't start with the letter 'A'.

2) The pin layout on the DS1307 on the diagram is not exact, pin 8 should really be top right opposite pin 1. All the pin numbers are correct in terms of what they connect to however, so follow the numbering and you should be fine.

Step 3: Connecting The Displays

Picture of Connecting The Displays
The displays use a serial protocol called SPI to receive data. There are only 4 wires needed between the Arduino and the first LED display. Two more wires are required for power.

You'll notice each display has 2 connectors on the back. These are for daisy chaining multiple units together as we are doing, and it's what the little ribbon cable in the box is for. Connect the displays together using the ribbon cable. You can use either connector on the back, they are the same.

Use one of the free connectors on either display to connect to the Arduino. Again it doesn't matter which one. For testing purposes I poked jumper wires from the Arduino into the ribbon cable. When I was happy things were working, I soldered the IDC socket to the prototype shield, meaning I could plug the ribbon cable in.

Pins 4 and 5 on the Arduino need to connect to pins 1 and 2 on the display connector respectively. These are used for something called Cable Select or 'CS'. Cable Select determines which display listens when the Arduino is sending data out. The displays have small DIP switches to set their cable select address – essentially giving them different identities. Set one display's switch to have CS1 on , and the other to have CS2 on .

Pin 10 on the Arduino is used to send the actual display data, and connects to pin 7 on the display. Pin 11 on the Arduino sends a clock signal. Connect this to pin 5 on the display.

Finally connect pin 12 on the display connector to positive and pin 11 to GND. Alternatively if you prefer you can use the screw terminals on the back of the display for power.

Step 4: Connecting The Clock Chip

The DS1307 clock chip keeps the time. It uses the I2C protocol and only needs 2 wires to send time data to the Arduino.

Connect pins 5 and 6 from the DS1307 to Arduino pins A4 and A5.

Connect the crystal between pins 1 and 2 on the DS1307. The crystal regulates the clock and can be connected either way round.

Finally the coin cell battery’s positive terminal connects to pin 3 on the DS1307 and the negative terminal connects to GND . The battery runs the clock chip if the power is turned off meaning you don't have to reset the time. It should last for many years.

Step 5: Connecting The Buttons

Connect one push button between Arduino pin 2 and GND , the other between Arduino pin 3 and GND.

Step 6: Connecting The Power Supply

Connect the 5v and GND lines from the displays to the Arduino’s 5v and GND pins. Do the same for the 5v and GND pins from the DS1307 clock chip. We are going to supply power via the Arduino's USB port using a mains to USB adaptor.


1) Don’t use a higher voltage supply into the Arduino’s round power jack. The onboard regulator may not be able to cope with the power demand. If you try you'll notice the Arduino will get very hot very quickly and probably not last too long!

2) Be very careful if you are powering the Arduino from a computer’s USB port. You could easily damage the port if you have a connection wrong or if the computer can’t supply enough juice. I powered my setup with my Macbook for testing and all was well, but be warned! Use the USB adapter anytime the displays are plugged in to be safe.

Step 7: About the Prototyping Board

Picture of About the Prototyping Board
The Prototyping boards or ‘shield’ plugs into the Arduino making it easy to add components. On a standard prototyping board you should have room to solder the DS1307 clock, crystal, battery and the IDC socket for the display ribbon cable. I attached the 2 buttons with wire, but you could solder them direct to the board.

I can’t really give instructions for what to solder where, as prototyping boards vary quite a bit depending on what you buy, but you should be able to figure it out based on the circuit diagram.

When things are soldered it should look something like mine in the picture. You can see the IDC plug on the right for the display cable, in the middle is the DS1307 clock chip. The tiny silver capsule above the chip is the crystal. On the left is the coin cell to keep the time if the power is lost. The red button top right on the board is a reset button which came in the pack with the shield. It's useful as the shield covers up the reset button on the Arduino itself.

Step 8: All Connected!

Picture of All Connected!
Here you see everything connected together. The 2 displays plug into the prototyping board which sits on top of the Arduino. Easy!

Step 9: Uploading the Clock Code

Picture of Uploading the Clock Code
The last job is to upload the clock code. First you'll need to download the Arduino programming software, called the Arduino 'IDE'. This code was tested with version Arduino version 1.0.5. You can download it from here:

Once that's installed, download the zip fie containing the clock code from Dropbox here: https://www.dropbox.com/s/mh8qzsms8gl3f34/pongclock5.1.zip

Unzip the file. Inside you will see themain clock sketchcalled pongclock5_0.ino and 4 library folderscalled 'Button', 'RTClib', 'Font' and 'ht1632c'. These libraries are extra bits of code needed by the main clock sketch.

Next install the libraries. When you installed the Arduino software it should have created a folder somewhere for your sketches (i.e. projects) to go in. Find that folder and see if there is a folder called libraries inside. If there isn't, create one. Then copy the 4 library folders from the zip into this libraries folder. After you have done that make sure you quit and restart the Arduino IDE to make it pick up the new libraries.

After restarting, go to the Sketch -> Import Library menu. If the libraries are in the right place you should see their 4 names listed in this menu.

Now go to the File menu and open the main pongclock sketch. It ends in .ino. You should see the code appear in the main window. Next pick your Arduino Board Type in the Tools -> Board menu, then hit the Verify (check mark) icon. The compile test should compete without errors.

Time to upload the code to your Arduino! Unplug the Arduino from the clock prototyping shield and plug it into your computer with the USB cable. Click upload and wait for the code to be uploaded. Watch the TX and RX LED's on the Arduino flash for signs of data transfer.

Finally unplug the Arduino from the computer and plug it back into the prototyping shield. Then plug the USB lead from the Arduino into the USB to mains adapter.

All being well the display's should spring to life. Use the buttons to set the time and then sit back and admire your handiwork!

And if you really like the project you can tip me in bitcoin to this address! 1JPdDk4DiKYDsjTYghHatJp1FFQsv6bpEv

I get an error compiling:
  • Check the libraries are installed and appear in the menu.
  • Check you have Arduino software version 1.0.5.
I get an error uploading to the Arduino:
  • Check your board type and serial are set correctly in the Tools menu.
  • Check your arduno has 32K RAM or more.
The clock doesn’t change:
  • Normally a wiring issue. Check the LED on Pin 13 or the Arduino flashes. If not then the clock chip is not being read. Check your connections to the DS1307.
  • You must have a battery connected for the DS1307 to work.
The displays don’t light up
  • Check your wiring to the ribbon cables and check the display is getting enough power.
The 2 displays show the same half of the clock
  • Check the DIP switch settings on the displays are as per the instructions.

Thanks to everyone who contributed, including WestFW on the Arduino forum for providing the initial driver code, SuperTech-IT for the dimming and 12 hour mode, Alexandre Suter for help with the conversion to Arduino 1.0 & Kirby Heintzelman for all the testing!

Saw your project and just HAD to do it.

Got all the parts and downloaded the most recent code (Nov. 2013) to run
with the Arduino 1.05 software.

Loaded the four libraries and when I went to compile I get the following

error: 'myfont' was not declared in this scope.

The Font library is in libraries so am kind of lost.

Running the Arduino with a PC.

Any help would be appreciated.

Thanks, Paul

I just got the same errors trying to verify the code. I opened the font library file and declared myfont, tinyfont and bigfont constant, by adding const between unsigned and int.

Hope I could help.

kivalo tomolobla2 months ago

Just wanted to chime in and say I was having the same problem and adding "const" for all three and it seems to work like a charm! Thanks!

Vaalix kivalo2 months ago

I;m sorry, could you explain where you went? my font code already has 'const' in it

kivalo Vaalix2 months ago

I'm on my work computer so I don't have the edited library in front of me, but try this. Just add "const" to three of the lines. Find and change this:

unsigned char PROGMEM myfont[80][5] = {


unsigned const char PROGMEM myfont[80][5] = {


unsigned char PROGMEM mybigfont[10][20] = {


unsigned const char PROGMEM mybigfont[10][20] = {

and this

unsigned int PROGMEM mytinyfont[42][3] = {


unsigned const int PROGMEM mytinyfont[42][3] = {

I'm pretty sure this is what I did to get it to compile. I'm still pretty new to the programming so I hope this helps.

Ya, this was all written on IDE 0023, and other IDE updates after tended to kinda puke on it...lol...

Thanks... I went to the author's site and posted problems there. The solution that finally worked was to start with an empty "library" (rename the old library... old library or something) create a new "library" folder and import the 3 libraries that come with the program so that they are the only ones in there. After that it worked like a champ.

Glad you found another solution. I will keep that in mind for similar problems in the future.

Vaalix2 months ago

Hey, so i am going to build this (already have most of the parts.) but i have minimal experience with bread boards and doing this stuff. any Ideas where to go to learn? like videos?

sdandala2 months ago

Can someone help me to work with sure electronics 32x8 green led module to run as a simple clock.

sdandala2 months ago
Danus_au4 months ago

This was my first project !

Thank you so much for a simple, fun to make and awesome project !

The included photos are of the prototyping stage. I am still muddling over if I should make it permanent or make other projects using the existing parts. I also made a small update to the 5.1 code using the 5.1 FR code which saved the settings to the RTC.

I also changed the RTC to use a DS3231, which required no changes to the code.

Hats off to everyone who contributed. You have made me day/week !

goroth made it!8 months ago

Used the AdaFruit DS1307 RTC kit and a $5 black crate from HobbyLobby craft store.

The crate holes are used for the cord and setting the clock with the buttons.

I had to edit the Font.h file and change all the unsigned char to const unsigned char to get it to compile.

Arduino UNO R3 with VisualMicro for VS 2013.

elan22 made it!10 months ago

Great instructable!

I build the clock but used a DS3231 instead of the DS1307 due to the better accuracy on it. The most important thing I learned out of this the hard way (read - fried to arduino boards) is that if you use a backup battery for the RTC you must add a decoupling cap for it otherwise it short the vcc to the gnd.

Other from that it was a pretty straight forward build - THANKS :)



Thanks so much for the instructable! I've built one and it looked great. However after a month or so after I had left it unplugged and unused as I had traveled, I returned home to a non-functioning clock. The displays do not light up and I've tried using another arduino and ds1307 board I had on hand with no luck. This has been confusing me since before I left, the clock had worked as intended yet now fails to do so. I've checked all the wiring yet I still don't know what to do. Do you have any ideas as to what might be causing the problem?



mrnick1234567 (author)  daniel.castro.739910 months ago
Hey, glad you built one!

Could be a bunch of things. Check the power gets to the arduino and it lights up, check the LED on pin 13 blinks every second. If these work try just one display, if that works try another power adapter. Check your wiring to the displays too.

Good luck!

Djandco3 years ago

First off thanks for the idea and the ible ;-)

I built one and I have a little question if you don't mind;
The clock works perfectly but it freezes up. If you do the IT repair (power off, power on) it works perfectly again.
Any ideas?

Oh, one more thing, for some reason the Uno is only pumping 3.4V DC from the 5V output, I found that I had to use the 5V supply to power the clock chip otherwise I got random code on the display and if your tried to change the clock time the number goes up and you can not select anything.
Put the 5V on and bob is your next door neighbour!


mrnick1234567 (author)  Djandco3 years ago
Hi Darren,

Someone else had the same with the time freezing, he fixed it by replacing the DS1307, but it could be the power if your board is only outputting 3.4v. You might also have a bad connection to the clock chip. The LED on the arduino pin 13 should flash every second to let you know the clock chip is being read and ticking.

Make sure you are not powering the Uno from the round power jack and check the voltage from the 5v pin without anything plugged into the Uno. If it still reads low, maybe there is something up with your Arduino or power supply. If not maybe you have a short somewhere. Good luck!


Best bet is to run the 5V to the displays, and then run a 5V line to the 5V of the Arduino - so basically the Arduino is powered from the displays. That was how I fixed the problem.

This can happen if you are using a standard USB cable - they drop voltage like crazy. A beefier USB cable may solve this, OR you can use a power adapter. If you use a power adapter (don't go over 9V) and your regulator on the arduino is getting hot, see my instructable on beefing up your arduino. If the clock gets less than 3.4V the clock stops sending data, and the program freezes. This was the entire reason (and project) I made that instructable for.
Thanks Nick,

In your ible you do state to use the USB to power it and not the round power socket, I had been told that you only had to worry about this on older ones where you had to select the power source? not sure about that but I had also been told that on the new model UNO it did not matter which way you power it.
Turns out it does :-)
I cut down a USB lead and powered the unit from that and so far we have no issues.

Should have done what you said in the first place!

Thanks for coming back to me on this.

Kind regards

XMAZDAX1 year ago

How to set up the clock. I only have the menus like Pong or Word and when i press the Pong setup it stands there GO or BACK

one of the menus is to set the clock

Almost forgot ; guys be warned ...this game is addictive:)

Great projects; many thanks.

I think you can add audio to this game ; something like a 2-transistor multivibrator with a resistor connected to one of Arduino outputs; this will give simple beep for each action. or you can add full audio effects by tweaking the code. what di yo think ?

kidos1001 year ago
Would it be possible for you to post a instructable using TVout?
Sorry, let me clarify, could you post an instuctable using TVout to display the clock?
Hey, I currently just finished building my pong clock but didnt feel that the coin cell holder and battery for the RTC chip was necessary when I bought everything. Now im trying to set the time for my clock and it isnt working!! I looked back at the instructions to see if I really needed the cell holder and it doesnt look like I do but I realized the RTC chip wasnt hooked up to the ground or positive terminal. So how do I hook the chip up properly?
jashan5103 years ago
Instead of an arduino can we use a pic micro controller.. Because i wanna make this clock for someone but i really dont want to give away my arduino
mrnick1234567 (author)  jashan5103 years ago
Very hard to say.. depends on the PIC, what outputs / inputs / what code it runs etc etc...
im new to the microcontroller world dont know much about em...
if not pic then any microcontroller with which i dont have to use my arduino board
cz u get the microcontrollers for like 3-4 dollars but the arduino i have was quite expensive..
is there a way to use the arduino boot loader without the arduino board?

P.s thanks for replying man im in love with your clock best iv ever seen.
Just get an Atmega328 chip. Program the bootloader and firmware into the chip, then remove and breadboard it or make a PC Board for it and put your original atmega328 back into your arduino. Simply swap the chips any time you need to update it. Personally I have a USB to TTL Serial adapter which cost about 2 bucks on ebay. I put a 3 pin TTL Serial in on my clock board (GND, RX, TX) hooked to ground, and pins 2 and 3 on the atmega328. When I want to update the code, I choose the com port the adapter is on (COM2: for example) and as soon as I see the "Binary sketch size" message in the Arduino information window, I hit RESET on the clock. Sounds like a lot of work, but it updates really fast. Faster than using a 6 or 10 pin ICSP connector - but that's also an option. The problem I ran into there is Arduino ISP 0023 doesn't see my ATTiny as a programming option. I would like to offer some general advice here too. POWER THE DISPLAY, NOT THE ARDUINO. If you have a reliable 5V source, power the display, and the arduino or Atmega328 will draw it's power from the display, and you don't have to modify any connections.
mrnick1234567 (author)  jashan5103 years ago
I think using any other microcontroller or pic would need a lot of work and re-coding to get the clock going.

If you look at in terms of how much time you would spend on trying to get it working, and how much you value your time, it's probably a cheaper option of you just bite the bullet and get another arduino. They are a bit cheaper on eBay if you search.
Yes u probably right man itll take a lot to rewrite the codes and redesign everything..
The way to go is definitely as mischka says - use an ATMeag-328 and program it in your Arduino but then pull out the chip and put it into a socket on a piece of perf-board made up as indicated in the bread-board arduino tutorial. You need almost none of the gubbins on an Arduino board to make the chip run - that's mostly for development. Once you have it running you only need the chip, crystal and a few capacitors. You don't really even need a reset switch unless you are wanting to re-program it in place. With this project you are only using a few pins so it would be very easy to make up a '328 board. The '328 chips themselves only contribute about £3-£4 to the cost of the project.
You could buy the ATMEGA preprogrammed with the arduino bootloader, program it with your arduino board and wire it like this: http://www.instructables.com/id/Standalone-Arduino-ATMega-chip-on-breadboard/

I have modified the code to:
1) Allow switching from 24 hour to 12 hour time
2) Returns to whatever mode it was running before you change the time
3) I preferred a solid line down the middle of the pong "court".
4) sped up the ball a bit.
I have now added a brightness function too.
tboultwood12 years ago
I am having a little problem, uploading the sketch, I can see nothing on my board :/
I would need more information to know what you mean.
1) by "board" do you mean the LED panels, or do you mean the arduino isn't receiving data?
2) What version of the IDE are you running? (You need to be running the older 0023)
3) are you uploading using the Arduino, or by an ICSP (ISP) programmer board?
See my instructable on "Beefing Up Your Arduino Power".
http://www.instructables.com/contest/fixit2013/ (please VOTE if you can)
http://www.instructables.com/id/Beef-up-your-Arduino-power/ (direct link)
Also see my Instructable on eliminating the wires from your clock module
(this is the project I use it with)

sarahline2 years ago
If I wanted to rework the code a bit to where on the "jumble" section it changes to words instead of the time, how would I do that? I'm having a hard time seeing which code is drawing from the clock and which is creating the jumble. Thanks for your help.
mrnick1234567 (author)  sarahline2 years ago
In the Jumble function, remove the code from under the bit that says

//set final characters

all they way up until the bit that says:

byte x = 0;
byte y = 0;

//until all counters are 0

Then replace it with lines that set the endchar array to the letters you wanted. E.g. if you did

endchar[1] = 'H';
endchar[2] = 'E';
endchar[3] = 'L';
endchar[4] = 'L';
endchar[5] = 'O';
endchar[6] = '!';
endchar[7] = '!';
endchar[8] = '!';

You should see the top line say "HELLO!!!" You can set the bottom line by setting endchar[9] to [15]

Hope this helps.
mrnick1234567 (author)  mrnick12345672 years ago
Sorry that should be:

endchar[0] = 'H';
endchar[1] = 'E';
endchar[2] = 'L';
endchar[3] = 'L';
endchar[4] = 'O';
endchar[5] = '!';
endchar[6] = '!';
endchar[7] = '!';
ddpdpdp2 years ago
Sorry again, here is the image of the chip.Please help!
mrnick1234567 (author)  ddpdpdp2 years ago
Hey, I Can't see an image. Is it this breakout board?


ddpdpdp ddpdpdp2 years ago
It's called the DS1307 RTC breakout chip.
ddpdpdp2 years ago
Hi, Please help! I am a total newbie. I bought most/all of the parts but am confused on how to hook them up. I bought a DS1307 clock chip kit, but this came with a small chip attached to it. in your example you used the Proto shield to attach the clock , but since mine has a small chip with it, where do i place that at? Do i even need the proto shield anymore? Please help!
Genzo3 years ago
Nice job.
I had few compilation fails, but Google helped me (about round which has already defined).

Thanks for your tutorial.
cyoung_mi3 years ago
Any suggestions on mounting the project?

I'd like something that holds all the parts together and allows it to stand alone on a desk or something.
mrnick1234567 (author)  cyoung_mi3 years ago

A couple of people have used 2 bit of acrylic with holes in the corners, then long threaded screws through them and the displays.

cyoung_mi3 years ago
Any mounting suggestions?
I'd like to connect everything together and allow it to stand on it's own like on a desk or something.
J-Five3 years ago
Could you possibly upload a picture of the other side of this completed board? I am a complete beginner with circuitry/wiring and have never done anything like this before. I have an Arduino board from a project I gave up on a year ago, but would like to give this one a try. Thanks, BC
mrnick1234567 (author)  bassplayer10153 years ago
Hey, I will try when I get time. There's not much to see apart from my messy soldering!

If you're not sure I'd suggest getting a breadboard and building it on there first.

0278427153 years ago
I speak french
I live in Belgium
I'm a beginner in electronics and computer
I have a clock like this
I do not know how but you can maybe help me
If you still have a list of all the components needed to do (clock) for you send it to me please! and maybe the code lists which also needs

thank you very much
mrnick1234567 (author)  0278427153 years ago
hi, the list of components and the code are all in the instructable... I'm not sure what else I can give you!
0278427153 years ago
I speak french
I live in Belgium
I'm a beginner in electronics and computer
I have a clock like this
I do not know how but you can maybe help me
If you still have a list of all the components needed to do (clock) for you send it to me please! and maybe the code lists which also needs

thank you very much
Thanks for the amazing instructables
said0073 years ago
Nice clock mrnick. Do I need to download the code for this? Where do I get the code?

I am diffinately building this clock and Ordered the parts already. Just wondering how the code thing is done..

mischka said0073 years ago
See Step 9 for the code.
JoelLemos3 years ago
Hello, I have the PDF of this project will be someone I could give it away because it can not get it?

Thank you!
i would like the PDF please :)
Become a Pro member :) (or be lucky enough to have signed up before pro memberships existed)
yer like me
alfamc23 years ago
OMG!! this is so cool. im making a big list of peices i need for multiple instructables and im gona go on a nerdy shopping spree and build this. (=
This is great. I have one question I couldn't answer. Are you using the USB adapter for powering the clock or are you using the power adapter on the arduino board to power the clock? Thanks.
One more thing. Sorry If these questions seem stupid, I am new to this stuff. Would the code you provided work with the larger 5mm led panels without editing it? Thanks.
Yes they should work fine looking at the data sheet on the Sure electronics site, all the connections are the same.

Thanks for the help. I ordered the 5mm ones so I will post a video of it in action. Your project has made me excited to build one. I was wondering how complex it would be for me to change the time to a 12 hour format? Not that it really matters anyway, just curious. Thanks for posting this indestructible. It is really good and should have won.

Glad you decided to have a go building one - good luck!

It depends how comfortable you are with coding to make it 12 hour. The 'proper' coding way would be to program the DS1307 register with the correct bit to set it to 12 hour. The datasheet for the chip is here: http://datasheets.maxim-ic.com/en/ds/DS1307.pdf

You'd need to make a change to DS1307.h in the libraries folder, to set this bit, and make tweaks in the main code where it assumes the time is 24 hour.

The easier way would be to just fiddle the number after you get it from the DS1307, then you'd just have to play with the main code.

Looking forward to seeing the video!
Hey man,
I got all the parts in and put it together using a breadboard first. It all works and looks stunning! Thanks for the great program. I am about to solder it together when I get some time. I was wondering how you mounted yours inside a case? I want to put mine in a fancy case and wanted to see what you did to yours.

By the way, those larger 5mm displays work wonderfully like you said they should. The one trick is it seems like they have to go in a certain order. I know that sounds odd but I had the first one connected up with the right switch on in the back and it displayed the image incorrectly. All worked well after switching the displays out and the switches again. Such a great project and I hope you win. I hope to post a video as soon as it is mounted.
Hey Alex, great to hear you got it working. Yeah you have to get the switches right otherwise you get the displays swapped round, or two left or two right displays.

I haven't built a case for mine yet - I was thinking of an opaque perspex box, something simple. But getting one made is expensive so I have't gotten round to it.

Be great to see a video with the 5mm displays.

Yes the USB adapter powers the clock. I plug it into the Arduino USB port and connect the display and clock chip power leads to the +5v and GND connectors on the the Arduino.

Don't use the round power jack on the Arduino if you wire it up this way.

Carleyy3 years ago
Awesome Project!
mrnick1234567 (author)  Carleyy3 years ago
nix783 years ago
Hmm, nice Pong Clock implementation! I like this pixely display better than the "originals" (the one by Buro Vormkrijgers and LadyAda's MonoChron)!
mrnick1234567 (author)  nix783 years ago
Hey thanks. I am a sucker for those LED pixel displays!
anurag1303 years ago
could you add 2 potentiometers so that you and a friend could play pong?
mrnick1234567 (author)  anurag1303 years ago
Hey, yes that's possible, but it would need the pong code to be re written as a game rather than a clock.

Do able if you are ok tinkering with the code!
ksx3 years ago
Would it be hard to get rss feeds displayed ?
mrnick1234567 (author)  ksx3 years ago
Hi, yes it would be a bit of work.

You could probably swap the arduino for the new version with ethernet built in.

You could reuse the existing code, but would need to add in more code - e.g. the ethernet libraries and code to get the RSS text, format it, and then scroll it.

SDgeek3 years ago
Can you please figure out how to make this into a full-on snoozing alarm clock with multiple alarm settings so I can build one too...
mrnick1234567 (author)  SDgeek3 years ago
Haha, if I get the time, or you could see if you could add to my code yourself.
rusky3 years ago
Very nice , but didn't Atari file a lawsuit against a similar clock a few years ago??
Hi rusky, are you serious? Can you give us a link to the news article?

Atari seems a little bit... off-the-radar these days... I bet most kids don't even know they made Pong.
mrnick1234567 (author)  frank260801153 years ago
I guess I could always change the name to Bat & Ball clock! I. See a few other people have them and sell them (ladyada etc). I wonder is she has been contacted by Atari?
I was wondering when somebody enters a pong clock. You can't have a clock contest without a pong clock.
CaseBoy3 years ago
..this on webos as an app
PNY3 years ago
Very cool!
SDgeek3 years ago
Pong scores reflect the time!!! Are you in the clocks competition so I can vote for you!
mrnick1234567 (author)  SDgeek3 years ago
Haha yes I am in there somewhere!
tlynch13 years ago
thats awesome..
mikeasaurus3 years ago
looks great!