Silicon ChipSerial LCD Driver - August 2005 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Some people love valve amplifiers
  4. Feature: 60 Years Of The Atomic Bomb by Keith Walters
  5. Feature: Direct Petrol Injection by Julian Edgar
  6. Project: The Mudlark A205 Valve Stereo Amplifier by David Whitby
  7. Project: Programmable Flexitimer by Jim Rowe
  8. Project: Carbon Monoxide Alert by John Clarke
  9. Project: Serial LCD Driver by Graeme Matthewson
  10. Project: Enhanced Sports Scoreboard by Jim Rowe
  11. Salvage It: Washing machine pressure switches by Julian Edgar
  12. Vintage Radio: The AWA Radiola B32 transistor portable by Rodney Champness
  13. Feature: Hellschreiber Revisited by Silicon Chip
  14. Advertising Index
  15. Book Store
  16. Outer Back Cover

This is only a preview of the August 2005 issue of Silicon Chip.

You can view 33 of the 112 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Articles in this series:
  • The Mudlark A205 Valve Stereo Amplifier (August 2005)
  • The Mudlark A205 Valve Stereo Amplifier, Pt.2 (September 2005)
Items relevant to "Programmable Flexitimer":
  • Programmable Flexitimer main PCB [04108051] (AUD $12.50)
  • Programmable Flexitimer display PCB, DSE version [04108052] (AUD $12.50)
  • Programmable Flexitimer display PCB, Altronics version [04108054] (AUD $12.50)
  • PIC16F84A-04(I)/P programmed for the Programmable Flexitimer [PICTIME2.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F84A firmware and source code for the Programmable Flexitimer [PICTIME2.HEX] (Software, Free)
  • Programmable Flexitimer Main PCB pattern (PDF download) [04108051] (Free)
  • Programmable Flexitimer Display PCB patterns (PDF download) [04108052/3/4] (Free)
  • Programmable Flexitimer front panel artwork (PDF download) (Free)
Items relevant to "Carbon Monoxide Alert":
  • PIC16F88-I/P programmed for the Carbon Monoxide Alert [cosensor.hex] (Programmed Microcontroller, AUD $15.00)
  • PIC16F88 firmware and source code for the Carbon Monoxide Alert [cosensor.hex] (Software, Free)
  • Carbon Monoxide Alert PCB pattern (PDF download) [05108051] (Free)
Items relevant to "Serial LCD Driver":
  • PICAXE BASIC source code for the Serial LCD Driver (Software, Free)

Purchase a printed copy of this issue for $10.00.

SERIAL LCD DRIVER for PCs, PICs, PICAXEs, Stamps . . . We detest the oft-used buzz words “human interface” but that is just what this project is: an interface between a 2400 baud serial line (inverted or non-inverted) from a PC, PICAXE or other processor and common character-type LCD displays which use the HD44780 interface. Design by Graeme Matthewson . . . Article by Ross Tester W hile there is nothing particularly new or innovative about this design, it has two huge advantages over anything similar that is currently available: (a) it is very simple; and (b) it is very cheap. In fact, it is much cheaper than anything that does the same or similar job and provides a very low cost way to turn serial data into words. You can use a variety of LCD displays, with provision on the PC board for the most common types. Features include variable backlight intensity (software controlled), two auxiliary digital outputs and a “beep” output to drive a piezo speaker. The photo above shows the interface 74  Silicon Chip (highlighted, centre) driving a typical LCD display (in this case a DL-6 from Oatley Electronics) from a lashed-together battery voltage monitor driven by a PICAXE 08M. It’s nothing special but gives just one of many practical uses for this project. TTL interface The serial interface is at TTL levels – that is, the idle state, is at TTL logic one, or near +5VDC. Therefore you can interface directly with any project offering TTL level outputs. You can also interface with PICAXE projects, using the “SEROUT” com- mand with the T2400 (ie, 2400 baud) specifier. Backlight control The backlight current is controlled by an on-board transistor. You have the choice of two resistors to set the maximum current – 4.7W for 5V operation or 39W for 12V. Display contrast is set by two fixed value resistors, 4.7kW and 330W, which provide a nominal 0.3V DC for contrast. However, you may wish to change these values to achieve different contrast levels. The serial LCD interface has a 64-byte receive buffer and the ability to interface with a variety of LCD geometries, siliconchip.com.au EEPROM storage of the LCD geometry setup, eight user-defined characters, tab size and cursor style plus a rich plain language instruction set. A supply of 5V DC with a minimum 10mA is required for this circuit. If the backlight is used, the supply current needs to be increased accordingly. The Oatley Electronics kit includes a PC board, a programmed PIC16F628 or similar PIC IC, onboard components and input/output connectors. Note that the kit does not include an LCD because of the wide variety available and the individual uses to which this project will be put. Oatley themselves have a variety of LCDs available – more information is available from their website (www. oatleye.com). Finally, a warning: the PIC processor is code-protected and the source code is not provided. Any attempt to read the chip’s code will erase the program in the chip and render it unusable! Assembly The project is very simple to construct with just one IC, a crystal, two transistors and a sprinkling of other small components. +5V REGULATED We’ve published this picture significantly larger-than-life to show how the board can be snapped off between the two sockets, if required. Start with those small components – resistors, a capacitor, diode and the transistors. The only components where you need to worry about polarity are the diode and transistors. +5V 100nF 14 Vdd 4.7k 4 RESET 2 MCLR RB6 12 4 4.7k Vdd RS LCD MODULE 8 TEST 10 AUX OUT 4 11 AUX OUT 5 SPEAKER 330Ω 6 RB7 RA3 RB4 IC1 SERIAL DATA IN 4.7k B K D1 1N4148 RA1 RA0 RB0 RB3 R/W 5 2 R1 4.7Ω 1 BACKLIGHT SUPPLY 18 Q2 C8050 17 330Ω 9 B C OSC2 Rx E OSC1 Vss 5 15 16 RES1 4MHz R1 = 4.7 Ω FOR 5V. 39 Ω FOR 12V C8050 1N4148 2005 330Ω KBL ABL 16 15 A SC  3 E 7 C RA2 RB5 LCD108 CONTRAST EN D7 D6 D5 D4 D3 D2 D1 D0 GND 1 14 13 12 11 10 9 8 7 4.7k Q1 C8050 6 13 RB2 +5V INVERTED SERIAL DATA IN Note that all resistors and the diode are mounted vertically on the PC board, as shown in both the diagram and photos. Mount the components right down on the PC board to mini- SERIAL LCD DRIVER A B K C E The IC does all the translation from serial data to display it on a variety of LCD readouts. Both inverted and noninverted data can be inputted, making it a very versatile device indeed! siliconchip.com.au August 2005  75 . 1 4.7k 4.7k 330Ω 4.7k 4.7Ω RES1 D1 4.7k 100nF IC1 LCD108 Q2 C8050 330Ω 1 . 330Ω SNAP OFF HERE IF NOT USED 2 1 16 15 16 Q1 C8050 . . mise the chances of shorting to the back of the LCD board (assuming that’s where it will be mounted). In fact, it would be a good idea to place a sheet of insulating material between the serial interface PC board and your LCD to avoid mishaps. There are two wire links on the PC board, both clearly marked on the screen-printed overlay. You should be able to make both of these from cut-off resistor leads Now you can solder in the IC socket – its notch is oriented the same way as the symbol on the PC board – but don’t insert the IC yet. Leave that until last. Solder in the input socket – be very careful as the spacing doesn’t leave much scope for poor soldering. The input socket is a right-angle mounting type, meaning the input lead will depart from the board in the same plane. Similarly, solder in the LCD connector sockets – both are included in the kit (to suit 14 or 16-pin LCDs) and even if you never use one, having BACKLIGHT SUPPLY IN REGULATED +5V IN RESET SPEAKER INV SERIAL DATA IN GROUND SERIAL DATA IN AUX OUTPUT 4 AUX OUTPUT 5 TEST Here’s the component overlay with a samesize photo alongside for comparison. As you can see, provision is made to snap the board off at the long socket if you don’t plan on using the double-row socket. both on the board makes the project that much more versatile for those who might want to swap LCD types at a later stage. However, if you will definitely only use the 16-pin (in-line) socket and would like to make the board a tad smaller, you can ignore the 14-pin (dual row) socket and snap the board off where marked, adjacent to the inline socket. Note that no provision for mounting holes is made on the PC board – it is envisaged that the board would be more-or-less used “in line”, or mounted on the back of the 40 x 2 display, as shown overleaf. If you need mounting holes and do not need the 14-pin socket, we suggest you drill a couple of holes in the corner of the PC board above and below where that socket would go, taking care to remove any copper around the edges of the holes. This is easily done by hand-twisting a (say) 5mm drill bit in the hole on the copper side of the board. Its edges act like a blade, removing any copper from around the hole sides. PC board connections “B” Backlight power supply connection. Can be linked to the +5V connection or powered from an external supply (eg, 9V or 12V DC etc). The kit is supplied with a 4.7W resistor for 5V use. For 12Vdc use a 39W. “+5” The 5V DC input. This needs to be a clean regulated supply at around 10mA; more if you power the backlight from the 5V DC (the current required will depend on your backlight). “R” The RESET connection. It has a 4.7kW pullup resistor to 5V. When the input is pulled to GND momentarily it will reset the chip and display. Parts List – Serial LCD Driver 1 PC board, code K221, 45 x 40mm 1 10-way IDC connector, right-angle PC-mount 1 16-way (or 4 x 4-way) PC-mount header socket strip 1 16-way (2 x 8-way) PC-mount female socket strip 1 18-pin DIL IC socket 1 LCD module to suit (see text) Semiconductors 1 pre-programmed PIC microcontroller (labelled LCD108) (IC1) 2 C8050 general purpose NPN transistors (Q1,Q2) 1 1N4148 diode (D1) 1 4MHz ceramic resonator Here are just two of the range of liquid crystal displays (LCDs) which can be used with this driver. Both are from Oatley Electronics – at top is the 16 x 2 DL6 which sells for $12.00, while the lower one is a DL13, a 40 x 2 display which sells for $25.00. 76  Silicon Chip Capacitors 1 100nF MKT polyester Resistors (0.25W 1%) 4 4.7kW 3 330W 1 4.7W siliconchip.com.au Connecting an Oatley DL6 display 1 Some LCDs use pins 15 and 16 to connect to their backlights. The PC board provides these connections. Other LCDs use two connections at one end of the display and will need to be connected to the PC board with some additional wire. The wiring shown in (a) is the minimum required to operate the Oatley Electronics DL6 display. The backlight of the DL6 is directly connected to +5V and GND and is on permanently. The DL6 also has some additional features; eg, a pushbutton microswitch, a bicolour LED and a piezo speaker. The extra connections shown in (b) as dark wires allow the use of the additional features of the DL6 display. With this configuration, the display will momentarily go into test mode when the switch is pressed. If digital output #4 is addressed, the LED will glow red. If digital output #5 is addressed, the LED will glow green. The piezo speaker will also beep when addressed. For details on addressing inputs and outputs, see the programming section of these notes. “SP” The speaker output. The chip outputs a short burst (“BEEP”) which can be connected to a peizo speaker “D” An input designed to take inverted serial data from an RS232 port (eg, a PC etc). “–” The GND or 0V connection. “D” An input designed to take noninverted, logic-level serial data from a micro such as a PICAXE, PIC or BASIC STAMP etc. “#4” and “#5” Digital outputs which can be used to switch other devices or an indicator LED, etc. “T” The TEST input. Holding this to GND while rebooting the processor will show the test siliconchip.com.au (a) 1 1 (b) display on your LCD. No pullup resistor is required. Configuration commands. Warning: Do not include configuration commands in software loops. Although the EEPROM can be written many hundreds of thousands of times, in a software loop the life of the EEPROM could be used up very quickly. It is best to not use configuration commands in your final software. Note: Commands are case sensitive. A number of parameters are stored in the processor, including the geometry of the LCD, the type of cursor, the number of spaces in a tab and the eight user-defined characters. The settings of all of these are displayed briefly on the LCD when the processor boots. The default is a 20 x 4 LCD, a tab size of 4, a full blinking cursor (3) and 1 the eight special user-defined characters. All of these parameters may be modified. Note that when the modifications are made, the new values are written to the processor’s EEPROM. Thus, the userdefined characters and the geometry of the LCD need only be modified once. Set LCD geometry Setting the geometry (size) defines the configuration of the interfacing LCD. ?Gyxx “?G216” will set the LCD to 2X16 configuration. Valid entries – some include ?G216 (2X16),?G220 (2X20),?G224 (2X24),?G240 (2X40), ?G416 (4X16) and ?G420 (4X20). The configuration is important for the processor to properly position the cursor after each text character is (Continued on P80) August 2005  77 78  Silicon Chip siliconchip.com.au ‘ Be sure Tx Pin is idle for some time ‘ wait for PICAXE LCD to boot ‘ configure LCD as 4 X 20 ‘ clear the LCD and home the cursor SerOut 0, T2400, (“?G420”) SerOut 0, T2400, (“?f”) ‘ Variables used in PWMDemo ‘These variables are used in Sub SerOutByteHex ‘These variables are used in Sub BarDemo High 0 Pause 5000 Symbol Duty = B9 Symbol NN = B8 Symbol LeftOver = B9 Symbol Num_5 = B10 Symbol J = B11 Symbol X = B8 Symbol N = B2 Symbol OWord = W0 Symbol OByte = B3 ‘ ‘ Configures the interfacing LCD for 4X20 geometry. ‘ This need only be done one time as this is saved in the K221 EEPROM ‘ ‘ Clears the LCD using the “?f” command. ‘ Writes some text. Note the new line function “?n” ‘ Displays the user defined characters using commands ?0, ?1, etc ‘ Moves cursor to line 1, col 00 using commands “?y1” and “?x00” ‘ Clears lines 1, 2 and 3 using “?l” command. ‘ Note “?j” is used for down cursor. ‘ ‘ Positions cursor at line 1 and displays the values of N and Word in ‘ decimal and in Hexadecimal. ‘ ‘ Defines new user defined characters consisting of no vertical lines, ‘ 1 vertical line, etc through 5 vertical lines. ‘ ‘ A bar scaled to 0 through 25 is displayed on line 3. ‘ This might be used to graphically display a quantity. ‘ ‘ The PWM duty cycle is then set to 25 steps over the range of ‘ 00 to 250 using the ?B command. ‘ The duty cycle is also displayed on the LCD. ‘ ‘ The program then continually sets the two general purpose outs to ‘ 10 and 01 using the ?H and ?L commands. ‘ ‘ Written by.... Peter H Anderson, Baltimore, MD, Feb, ‘04 LeftOver = LeftOver + 48 SerOut 0, T2400, (“?”, LeftOver) For N = 0 to 25 SerOut 0, T2400, (“?y3?x00?l”) NN = 4 * N NN = 100 - NN Num_5 = NN / 5 LeftOver = NN % 5 For J = 1 to Num_5 SerOut 0, T2400, (“?5”) Next For N = 0 to 25 SerOut 0, T2400, (“?y3?x00”) NN = 4 * N Num_5 = NN / 5 LeftOver = NN % 5 For J = 1 to Num_5 SerOut 0, T2400, (“?5”) Next LeftOver = LeftOver + 48 SerOut 0, T2400, (“?”, LeftOver) Next BarDemo: AGAIN: SerOut 0, T2400, (“?H5?L4”) SerOut 0, T2400, (“.”) Pause 500 SerOut 0, T2400, (“?L5?H4”) SerOut 0, T2400, (“!”) Pause 500 GoTo AGAIN Pause 200 GoSub PWMDemo Pause 200 ‘ convert to a character ‘ decreasing bar ‘ convert to a character ‘ increasing bar ‘ continually bring outputs 5 & 4 hi and lo ‘ cursor to beginning of line 3 and clear line SerOut 0, T2400, (“?y3?x00?l”) GoSub BarDemo ‘no cursor SerOut 0, T2400, (“?c0”) Pause 200 SER_LCD.Bas – Illustrates many capabilities of the Serial LCD Interface (written for the PICAXE 18X) siliconchip.com.au August 2005  79 PICAXE LCD?n”) ‘ position cursor at beginning of row 1 ‘ clear lines 1, 2 and 3 and start at line 1 ‘ note the use of down cursor command SerOut 0, T2400, (“?y1?x00”) SerOut 0, T2400, (“?l?j?l?j?l?y1”) OWord = 12345 ‘ display a word in decimal ‘ and in hex SerOut 0, T2400, (#OWord, “?t”) GoSub SerOutWordHex SerOut 0, T2400, (“?n”) ‘ define special characters ‘ delay to allow EEPROM to program SerOut 0, T2400, (“?D00000000000000000”) Pause 200 SerOut 0, T2400, (“?D51f1f1f1f1f1f1f1f”) SerOut 0, T2400, (“?D41e1e1e1e1e1e1e1e”) Pause 200 SerOut 0, T2400, (“?D31c1c1c1c1c1c1c1c”) Pause 200 SerOut 0, T2400, (“?D21818181818181818”) Pause 200 SerOut 0, T2400, (“?D11010101010101010”) Pause 200 ‘ beep SerOut 0, T2400, (“?g”) Pause 1000 Next OWord = OWord + 1 ‘ display in hex ‘ display in decimal OByte = N GoSub SerOutByteHex SerOut 0, T2400, (“?t”) SerOut 0, T2400, (#N) SerOut 0, T2400, (“?t”) ‘ locate cursor to beginning of line 1 ‘ pause to admire Pause 2000 For N = 0 to 25 SerOut 0, T2400, (“?x00?y1”) ‘ display special characters ‘ note new line SerOut 0, T2400, (“?0?1?2?3?4?5?6?7?n”) SerOut 0, T2400, (“www.phanderson.com?n”) Pause 100 SerOut 0, T2400, ( “ Return OByte = OWord / 256 GoSub SerOutByteHex OByte = OWord % 256 GoSub SerOutByteHex SerOutWordHex: Return SerOutByteHex_2: SerOut 0, T2400, (X) If X <= 57 Then SerOutByteHex_2 X=X+7 X = Obyte % 16 X = X + 48 SerOutByteHex_1: SerOut 0, T2400, (X) If X <= 57 Then SerOutByteHex_1 X=X+7 SerOutByteHex: X = OByte / 16 X = X + 48 Return SerOut 0, T2400, (“?f”) SerOut 0, T2400, (“?B00”) SerOut 0, T2400, (“?B”) GoSub SeroutByteHex Pause 200 Next ‘ it is alphabetic; A, B, C, D, E, F ‘ low nibble ‘ add the character ‘0’ ‘ it is alphabetic; A, B, C, D, E, F ‘ high nibble ‘ add the character ‘0’ ‘ clear the LCD ‘ set PWM to 0 ‘ backlight control PWMDemo: SerOut 0, T2400, (“?f”) ‘ clear the LCD SerOut 0, T2400, (“ PWM Duty Demo?n”) For N = 0 to 25 Duty = 10 * N SerOut 0, T2400, (“?l”) OByte = Duty GoSub SerOutByteHex ‘ display the PWM in hex Return Next Connecting an Oatley DL13 display 11 The biggest advantage of this display (apart from the extra characters, of course) is that it can plug directly onto the driver board via the outer (double row) socket. Therefore it doesn’t need any cabling – all you have to do is make sure you get it the right way around. The photo at right shows the correct position. Some LCDs have a dual row of seven or eight pins at one end while others have a single row of 14 or 16 pins along one edge. The driver described here will plug Single row type connection directly on to either type of display, as shown below. 11 1 Single row type connection Dual row type connection displayed and in executing such commands as backspace, up cursor, down cursor, new line, etc. Cursor style settings The style of the cursor may be set using the ?c command. “?c3” where the number is in the range of 0-3. Valid entries; 0, 2, 3. 0 configures as no cursor. 2 configures the cursor as nonblinking. 3 configures the cursor as blinking. As with the set geometry and set tab, the style of the cursor is saved to the EEPROM. Setting tabs The tab size may be adjusted; “?sx” – Valid entries; 1 - 8. “?s5” will set the tab size to 5 characters wide. When this command is received by the processor, the new tab size is written to EEPROM and this value is used thereafter when executing the ?t command. With the ?t command, the cursor is advanced, and characters in its path are overwritten with a space. ?h – Backspace ?i – Forward cursor ?j – Up cursor ?k – Down cursor ?l – Clear current line and leave cursor at the beginning of the line Backlight intensity ?m – Position the cursor at the beginThe intensity of a LED backlight on Dualning current line. row of typethe connection the associated LCD may be adjusted; ?n – Advance to the beginning of the “?B80” Valid entries; 00 - ff next line and clear current line. Note that the digits following the ?t – Advance the cursor one tab. “B” are 2-digit hexadecimal (00= off, ?? – Display the character ‘?’. ff= full on). The cursor may be set to any poThe output is used to switch the sition using the x and y commands duty cycle of a transistor which con- below; trols the average backlight current. ?y0 ?x15 LCD commands. Note that the line number follows A partial list of various commands the ‘y’ command and the column numfollows. Note that all commands are ber, consisting of two digits, follows prefaced with a “?” and the commands the ‘x’ command. are case sensitive. Thus, outputting the string ?a – Set cursor to home position. “?y1?x10Hello?n” positions the cursor ?b – Destructive backspace (removes at column 10 of line 1 and then prints character) “Hello”, followed by a new line which ?f – Clear LCD and leave cursor in the also clears the next line. home position Note that the line and column ?g – Beep, outputs a 50ms burst of numbers begins with 0. Thus, for a 4 around 500Hz on the “B” connection x 20 LCD, valid lines are 0 - 3 & valid on the driver board. columns are 00 - 19. For example, if the cursor is in column 3 and the tab size is 5, the cursor will advance to column 5. Anything in columns 3 and 4 will be replaced with spaces. 1 Resistor Colour Codes 1 1 1 No. 1 1 1 Value 4.7kW 330W 4.7W 80  Silicon Chip 4-Band Code (1%) yellow violet red brown orange orange brown brown yellow violet gold brown 5-Band Code (1%) yellow violet black brown brown orange orange black black brown yellow violet black silver brown User-defined characters User-defined characters may be entered using the ?D command: “?D300000000001f1f1f” The first number after the ‘D’ is the location where your user-defined character is stored in the EEPROM, In this siliconchip.com.au case user-defined character 3. This is then followed by the eight data bytes expressed in two-digit hexadecimal. Note that the hexadecimal letters must be lower case. In this example, lines 0, 1, 2, 3 and 4 consist of no pixels and lines 5, 6 and 7 consist of all five pixels. Thus, when user-defined character 3 is displayed using the command ?3, a character consisting of the lower three lines will be displayed. D3 00 00 00 00 1f 1f 1f location OOOOO OOOOO OOOOO OOOOO ###### ###### ###### Any of eight user defined characters may be displayed using the digits 0 - 7. Thus, “?5?2” causes user-defined character 5 followed by user character 2 to be displayed on the LCD. Each user-defined character is saved in EEPROM. This kit provides a 64-byte serial receive buffer. However, be careful. If you are defining all eight user defined characters, this involves sending 19 * 8 or 152 characters. Writing each of the eight bytes to EEPROM requires 15ms or more and thus, one can easily over run the buffer. Rather, provide a 1-second delay after defining each character. Direct control of the LCD. Commands may be directly passed to the LCD using the ?! command; “?!01” sends the 01command directly to the LCD which clears the LCD. Caution With all other commands the pro- gram keeps track of the current cursor position. This is not done with commands sent directly to the LCD using the ?! command. Thus, if the user configures the LCD such that the cursor is located at some point, subsequent line feeds and similar will not work correctly as the program does not know the current cursor location. Clearly, if the ?! command is used to place the LCD in a mode such that the cursor is decremented with each character or the display itself is scrolled, the subsequent operation of the LCD which assumes an incrementing cursor and a fixed display will give unpredictable results. GP auxillary outputs The K221 kit provides two general purpose TTL outputs. Either of these outputs, 4 and 5, may be brought high or low using the ‘H’ and ‘L’ commands. “?H4?L5” brings output 4 high and output 5 low. Valid entries, 4 or 5. On power up, all outputs are at a high impedance (configured as inputs). As each output is addressed, it is taken out of the high impedance state. The initial high impedance state permits the user to use either pull-up or pull-down resistors to avoid “bounce” when the processor is powered. The current (source or sink) by any output should be limited to a maximum of 15mA. One important point: normally, when idle the serial terminal is at a logic one. When a character is sent, the lead is brought low for 1/2400 secs (start bit) followed by the data bits. However, when the PICAXE is booted, the output is initially at a high impedance and is then brought to an output logic zero. Thus, prior to executing the first SerOut instruction, it is important to bring the output to a logic one and pause briefly. SC Where from, how much? This project was designed by Oatley Electronics who hold the copyright on the circuit and PC board design. A complete kit of parts, (Cat K221) which includes the PC board and all on-board components (but NOT an LCD) is available from Oatley for $20.00. As a special offer to SILICON CHIP readers, Oatley will include a DL6 backlit LCD (16x2), normally selling for $12.00, for $10.00 extra. Contact Oatley Electronics on (02) 9584 3563 or via their website: www.oatleye.com siliconchip.com.au Select your microcontroller kit and get started... From $295* RCM3400 Fax a copy of this ad and receive a 5% discount on your order! Feature rich, compiler, editor & debugger with royalty free TCP/IP stack • Prices exclude GST and delivery charges. Tel: + 61 2 9906 6988 Fax: + 61 2 9906 7145 www.dominion.net.au 4007 Ozitronics www.ozitronics.com Tel: (03) 9434 3806 Fax: (03) 9011 6220 Email: sales2005<at>ozitronics.com Rolling Code 2-channel UHF Remote Momentary or latching relays with indicator LEDs. Range up to 25m. Up to 15 Tx's can be learnt by one Rx. 12VDC. K157 - $71.50 Also available assembled K157A...... $88.00 4-Channel version (kit) K180 ...............$82.50 10-Channel version (kit) K181 .............$99.00 2-button remote for K157 .................$23.10 4-button remote for K180/1 ..............$25.85 Prices include GST – shipping extra. Full documentation available from website. Silicon Chip Binders REAL VALUE AT $12.95 PLUS P & P H SILICON CHIP logo printed in gold-coloured lettering on spine & cover H Buy five and get them postage free! Price: $A12.95 plus $A7.00 p&p per oder. Available only in Australia. Just fill in the handy order form in this issue; or fax (02) 9979 6503; or ring (02) 9979 5644 & quote your credit card number. August 2005  81