Step 2: Make PCBs & Program PIC

The first step is to make the PCBs, the PCB layout and schematics for the main clock and the display board are provided in Eagle format. The clock PCB is double sided, but the top layer consists simply of 7 links, this means that the PCB could also be made as a single layer with 7 wire links instead, this is the way I chose to make it as I cannot make double sided boards.

The display PCB uses exclusively surface mount devices while the main clock PCB uses a mixture of surface mount and through-hole components.

It is important to program the PIC chip with the hex file prior to soldering into the circuit as there are no ICSP connections on the board.

<p></p><p></p><p></p><p>Hi, I experienced an annoying problem, https://www.youtube.com/watch?v=584bDUsjb7s the video goes to see that the clock is not running as they should and do not know what to do about it. Do not know what could be wrong? Please help.</p>
<p>It's difficult to see form your video, but I assume the blue module is one of these: </p><p></p><p><a href="http://forum.arduino.cc/index.php?topic=177297.0" rel="nofollow">http://forum.arduino.cc/index.php?topic=177297.0</a></p><p></p><p>Do you have the SQ pin connected to pin 4 on the PIC?</p><p>According to the link above it's not uncommon for the modules to be defective though.</p><p>Also are you sure the wiring on your transistors is correct and that you've not got any bridges solder connections on your wires running to the LEDs?</p>
<p>I'm sure that I got the diagram and correctly, SQ got connected to PIC as it should be, so I do not know what is wrong ..</p>
<p>Sorry ! I have a problem with connection to Internet</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
<p>Have code this project ?</p>
Hello Eleven I suppose its a very old thread bu I liked your clock. <br>I am working on my own version in light of your clock. Can you shed some light on how your Hrs and Mins setting buttons work. How have you wrote the code. Just some clarification of the concept would help. <br> <br>Thanx
I would like to make this small enough to make a pocket watch out of it. To save power, is there a way to have the leds come on only when needed? Maybe this would work: If power to the pic only is left off, will the correct time show when the pic is turned on for a moment? While all the time the DS1703 is always running in the background to keep the time base.
could you please draw up the schematic so it is easier to read please?<br />
Hi, <br /> <br /> The schematic files were available in the zip files, but I have also uploaded them now as images to the instuctable for easier viewing.<br />
.sch file isn't working with my software: ExpressSCH .<br><br>I what soft was made this .sch?
Hi, it was made in Eagle
Thank you, works now!
Anyone made PCB without those SMD components?<br><br>If you are interested, I can make it..
Nice Idea. But, why are you using PIC16F628A instead of PIC16F84a?<br /> <br /> There is no schematic in jpeg format in the ZIP files and the one given in the site does not have the values of the components....!<br /> <br /> And, is there any converter that can convert from Binary to Decimal? May be something like ADC (Analog to Digital Converter)???<br /> <br /> <br />
the fact that the time reads out in binary is the desired affect, if this is not to your tast then you could easily reprogram the chip to output the time to the serial port of a LCD display. but if you where capable of doing this then you would probably be content with learning how to read the time in binary form to confuse your friends. 2 + 2 = 10 in base four, I'm fine!<br />
hi how long did it take to build it<br>
Hi, to actually assemble it only took a few hours.
also, this project is pure genius!<br />
Hi,<br /> <br /> The PIC16F84A does not have an internal oscillator so would need extra components compared to the PIC16F628A to get it to work, the 16F628A is also cheaper than the 16F84A.<br /> <br /> The compnents are listed in step 1 and steps 3, 4 &amp; 5 show where they all go, but I'll try to get an updated schematic up in the next few days, I've only recently started using Eagle so I'm still finding my way around it.<br /> <br /> You could impliment circuitry so convert the output from binary to decimal, but that kind of defeats the object I had in mind. An ADC would not help in this respect, you would need a binary to decimal decoder. It would be much easier to write an alternate program for the PIC to get it to output the time in the format you want instead though.<br />
thanks eleven.<br /> i create&nbsp; it again, with new parts. the new one,work well.<br /> thank you<br /> <br />
hey. thank you for this.<br /> it's finished, and <strong>work well :)</strong> but after 2day , it's <strong>off :( </strong>and i don't know why it is not work !<br /> all LEDz is off!<br /> i check voltages and it's good but i don't know why not work !<br /> i changed all parts and create it again but not work !
Hmm, that's a tricky one, if it worked for 2 days then I don't see why it would suddenly&nbsp; stop then. The first one I made I put the voltage regularor in backwards but that only worked for a few seconds before it burnt out. If you measure the voltage accross pins 5 &amp;&nbsp;14 on the PIC chip you should have 5 volts.<br /> <br /> You asked in one of your other questions if you could use bell wire instead of the zero ohm links on the display PCB, if you did thta are you sure the wire isn't shorting out on the other tracks on the PCB?&nbsp;<br /> <br /> Try replacing the &quot;1 second&quot;&nbsp;LED (bottom right) to see if that makes any difference.<br /> <br /> Try replacing the 3 transistors.<br /> <br /> Th eone I made has been happily running for over a year now so I'm not sure what has gone wrong with yours, the only other thing I can think of is that there is a break in one of the tracks on the PCB, or a blob of solder is shorting something out.<br />
nice job<br /> good !!!!!!
can I use bell wire instead of zero ohm ?<br /> why zero ohm ?<br />
Hi, yes you can use bell wire instead if you want, just make sure you don't short out the track that runs between the 2 contacts for each link. I used zero ohm links for 2 reasons, I think in this application they look neater than wire links and more importantly I have about 200 of them that I need to use up on something.<br />
Could you clarify the concept of operation, i don't understand, how you are able to individually address each led from the pic, im assuming that you dont need to, and with this combination at any given time, you can turn on the required combination of led's to display the time. <br /> <br /> could you explain this a little&nbsp;?<br />
Hi,<br /> <br /> The LEDs are multiplexed, so at any given time only 1 row is illumiated, the PIC&nbsp;is constantly turning each row on and off so fast that it looks as though all 3 rows are illuminated at the same time. All 17 LEDs are controlled by 6 data lines and 3 address lines.<br /> <br /> First of all the PIC&nbsp;loads the data for the seconds into PORTB, it then sets the address line for the seconds row high (turning on the LEDs) after a very brief pause it sets the address line for the seconds row low (turning off the LEDs). Then it loads the data for the minutes row into PORTB, turns on the minutes address line, paues, then turns it off again. The hours are displayed in the same way, then the whole process starts again.<br /> <br /> A good visual example of how to multiplex LEDs can be found here:&nbsp; http://www.franksworkshop.com.au/Electronics/RGB/RGB.htm<br /> <br /> I hope this helps.<br />
hey use the atmega128 you can make it do some pretty nifty tricks when tied to the rs232r serial converter chip !&nbsp;
&amp; bookmarked.<br />
Interesting. <br /> <br /> You are setting the time to the clock chip&nbsp; with buttons instead of already already having the time set with the pic to the chip through a ICSP. Good for resetting time when the clock is too fast or too slow, or changing&nbsp; time zones. <br /> <br /> As for the time being to fast that might be a watch crystal tolerances error. <br />

About This Instructable


102 favorites


More by ElevenOf9: Mod a TomTom One GPS to charge via USB Wall mounted whiteboard pen holder LED Binary Clock
Add instructable to: