dashClock update #1.75
Hey I'm back. Yes I've had a hiatus from late Sep till about late Dec where I stopped all work on the dashClock and it's related projects due to a lot of stuff going on in my life. However with the extra time I've had in January since leaving the blasted organization, I've recently had the urge to complete it once and for all as it had been laying in an uncompleted state on my desk collecting dust for the past few months.
As of now I've actually already completed the hardware of the dashClock (meaning it's all ready for programming now), however I will still be posting updates chronologically (as I did take the effort to photographically document the process while I was engrossed in building it).
-- #1.75 update--
Well here it is, this was a picture in it's more or less 40% completed state. I had already started soldering in all the headers required for the seven-segment displays in line with my decision to go for a socketed approach for everything for make benefit less headache and just general sanity preservation. Take note that I'm working with a pad per hole perfboard so the interconnects between pins have to be made manually.
Generally there are two ways of going about this:
Solder path
One can make contacts between pins by creating a solder path underneath the board. The advantages of creating a solder path is that it appears much neater (since there won't be anything on the board other than the components). However, the problem lies with the fact this requires a lot of skill to pull off and is extremely tedious, especially if adjacent solder paths accidentally join to form one messy blob while they're still molten. The only way I've found to fix such a problem is to solder sucker the whole mess and start again, which is generally extremely frustrating and not to mention, a waste of solder. One must also consider that solder paths are not able to 'cross' one another (the only way to pull of a junction is to use an actual wire to 'jump' the row that already has a path).
Point-to-point physical interconnect
An actual physical wire can be used in a point-to-point fashion. For this project I used standard 22 AWG solid core wire as the interconnects. While this quickly adds to the bulk of items crowding the top of the board, as long as a systematic order is followed, you'll find that a predictable and orderly pattern quickly develops, which can also look quite neat, as in the picture at the bottom of the post. The only downside of using this method is that the board becomes very crowded and a lot of wire is required.
Majority of the connections are point-to-point, however there were a select few that I had to go with a solder path in order to keep things under control. Though generally, they are confined to the points between ICs and the interconnects, as shown below.
Major components that are already soldered onto the board have been described in the #1.00 update. Specifically, the ATTiny84 microcontroller, DS1307+ real-time clock and the MAX7219CNG LED controller IC. The DS32KHZ temperature-compensated oscillator is also about to be soldered in.
You'll notice quite a lot of electrical insulation tape as well as clear tape during the building process. I use these to hold components firmly in place while I flip the board over to solder them in the same way factories use Kapton tape to hold electrical components in place in the assembly line.
The only other components of note here are the breadboard-compatible DC barrel jacks that I ordered from Sparkfun and the vertical 6-pin header on the top left. While they're pricey, I only recently realized that the DC barrel jacks have a very neat switch that closes a secondary circuit when there is nothing plugged into the jack. Yes you guessed it, this means that I can totally do away with the diode-OR circuit for the battery backup. I've tested it and while the switchover is based on a mechanical interface, the response time is fast enough such that none of the ICs reset themselves when transitioning from DC power to battery power.
The 6-pin header is actually what I intend to be a 'programming and debugging socket'. It will link the ISP headers directly to the SCK, MISO, MOSI and RESET of the microcontroller, as well as providing a supplemental 5V Vcc and GND if required.
Look out for the #2.00 update, which will feature the dashClock in an 70-80% complete state :)

















