Chiming Clock

The idea of this project is an LCD clock that chimes on the hour and half hour. It was conceived after my wife expressed a liking for the sound of a rooster crowing from a friend's Palm. There are many ways to produce sound from a microprocessor based project. Beyond simple buzzers and beepers and perhaps square-wave generated tones, things get complicated fast. Not that I'm an expert, there may be ways to do it that I don't know about.

The rooster sound runs for about 9 seconds and takes 1.6 MB of memory for a WAV file. This reduces to 150 KB when compressed into MP3. This could be further reduced if lower quality parameters were used, but already I could see that storing the sound in this way and being able to play it back would make the project way too costly and complex for me.

Years ago I experimented with a Winbond chip that recorded a few seconds of audio, the ISD1416. I still had one in my parts box, and it would be ideal for this project. Unfortunately Winbond does not appear to make these chips anymore*, but a search would probably reveal other similar chips that could be used instead. I appologise for documenting a project based on an obsolete part, but I hope the idea is still useful.

Chimer schematic

The 1st schematic shows the microprocessor and clock components. Nothing new here, my appliance timer is very similar. Again I use KTM-S1201 LCD display, which has 12 numeric 7-segment digits. You could easily substitute a different display and change the code accordingly. Also I use a CTS-290 encoder as the only control, and an NJU6355 real time clock.

(The NJU6355 is no longer available. I used a DS1302 in this project, it could be used as a substitute here.)

chimer schematic 2

The 2nd schematic shows the ISD1416 hooked up to play back under control of the microprocessor. A pulse on PlayE triggers the chip to play back the entire sound on the hour. PlayL is pulsed for two seconds to play the 1st part of the sound (a bong) on the half-hour. Recording is done once using S1, a tiny pushbutton on the circuit board. Plug in the sound source, press and hold S1 to record the sound, and release when the sound is finished. I had to place a resistor, R10, in series with the speaker to lower the volume which was surprisingly loud.

Front viewInside view 1

Circuit boardsInside view 2

There are 3 small circuit boards that fit into the vertical guides in the case. From right to left: power supply and battery, audio board, and digital board/clock. Everything is interconnected with ribbon cable and header connectors. The boards are all tediously hand-wired (but at least I can tear it apart when I goof and start over).

When you turn it on the time is shown in HH MM SS. The chime is enabled by default. This is 'run' mode and spinning the knob has no effect. Pressing the button enteres 'setup' mode in which a menu is displayed. Since the display is only one line, only one menu item is shown, and you move up and down the menu by spinning the knob.

Pressing the button selects a menu item for further processing. The menu items are:

� Run - pressing the button returns you to run mode.
Set Clock - You must do this once to set the RTC. With each push of the button you can set year, month, day, hour and minute. After the final button push the time is set with seconds = zero.
Chime On/Off - Enables or disables the chime. (When the chime is enabled, a decimal point is shown at the right hand side of the display in run mode.)
Chime Test 1 - Sounds the 1/2 hour chime.
� 
Chime Test 2 - Sounds the hourly chime.
Clk Test - This puts the NJU6355 into its "Frequency Checking test mode" where it outputs its clock signal on the DATA pin.  (See
NJU6355.) The unit must be power-reset after selecting this.


* I found that the Winbond ISD series has been taken over by Nuvoton Technology Corporation, and information on their current product line can be found here. (Update: check eBay. I was able to find some ISD1420Ss from a vendor once, unfortunately surface mount.)


Download C source code for the clock

Back to VE3LNY's AVR Project Page