Rock solid - AVR , PIC etc.

Go To Last Post
50 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all ,
At the outset , let me clarify that this is NOT one of those - " which is better - AVR or PIC ?" question . Nor is it about which family is faster , has better structured ( pageless ! ) RAM , more registers instead of just one W reg. etc. etc .
The question here is a bit more esoteric . Please give a patient ear..
I have a product , running for last couple of years , based on PIC16F877A . It works in industrial power conditions where a lot of inductive loads are getting switched off frequently , thereby making the power line fairly noisy . The PIC has been working well.. No complaints at all like EEPROM corruption , frequent watchdog resets etc .
Recently , we switched to ATMega8515 , which is also a 5V device , also a 40 pin DIP package and since all we changed was the controller , the PCBs in both cases look very same . Majority of the tracks are routed identically and most importantly,the amount of ground plane is the same. 0.1 mfd ceramic in parallel to 10 mfd electrolytic very close to the pin 40 of 8515 , 3K3 pull-up on the reset pin , and a 0.1 mfd ceramic from the reset pin to the ground....all bases covered !
We then subjected the new product to our "contactor" test in which we power the product from the mains and also switch on/off an electro-mechanical contactor at a goodish rate , powered from the same mains..thereby corrupting the mains quality . We found that the newer unit gave us watchdog resets , once every while.
To pose the question now -
What is it among various controllers that make some more rugged than the others ? In this particular case , both are 40 pin devices , both are powered by 5V....
Some of you may respond with " if good design practices are followed..." stuff ...but does that apply to the kind of comparison I am making here ??
I seriously want to switch all my products to AVR , as I have had it upto my gills with the PIC.. but this "rock solid" issue needs to be addressed first .
All those of you , who have worked on industrial products based on AVR and may have faced similar issues , kindly throw some light on this..

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What type of AVR do you use?
There are different types, normal, industrial, millitary.
Found out last year that some AVRs you can lift up with a magnet, others not. Some have ferro inside, some not.
Probably this is the difference in ruggness.

For example: ATmega8-16MI 32M1-A

RES

Last Edited: Wed. Aug 16, 2006 - 12:57 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are you sure they are watchdog resets and not BOD resets? If the latter then did the PIC have BOD ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does a PIC have an illegal opcode trap like the HC11 etc? (Seems like one of the few comparisons of features that the AVR doesnt get a point for)

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Both the PIC and the AVR had the brown-out enabled .
As to whether it was a BOD reset or the WD reset , we tested it using the elimination method . i.e. In case of the AVR , we kept the BOD enabled with a threshold of 4.5 volts , but did not enable the watch-dog . In such a case , the product would freeze at a point and stay frozen till power off/on . Ergo , it was originally WD resets and not BOD resets .
Does the grade ( commercial , industrial or military ) of the AVRs have a bearing on ruggedness of this type ? I thought that the grade was only dealing with operating temp. ranges..?????

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you scoped the VCC on your PCB? Does it help when you move away the PCB from the contactor?

I'm sure an AVR will be suitable for your application.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

generally, 8515 with power pins located in the opposite corners is inherently more sensitive to EMC problems than 16F877 with adjacent power pins. though I doubt this is causing your problem.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MCUCSR in the 8515 contains the reason for reset when the CPU starts.

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Are you sure the software is alright? Maybe you enabled an interrupt somewhere that shouldn't be enabled and that is triggered on some spike?

Grades are only temperature related AFAIK. If you want to send your AVR into outer space you should use a radation hardend version, but very very few uCs/ICs are radhardend (the very old 1970s RCA1802 was the first one and therefore used very long for just that reason).

Can you recreate the situation?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jayjay1974 wrote:

Grades are only temperature related AFAIK.

I am not sure.

ATmega8-16AI 32A
ATmega8-16PI 28P3
ATmega8-16MI 32M1-A

Industrial
(-40°C to 85°C)

Why 3 types of Industrial?
AI, PI and MI. Looks like MI is military? Not sure.
Or 3 types industrial, so there is difference, why else 3 types?

RES

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

RES wrote:
Why 3 types of Industrial?
AI, PI and MI. Looks like MI is military? Not sure.
Or 3 types industrial, so there is difference, why else 3 types?

maybe three different packages?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The "A", "P" and "M" in those ordering codes are specifying the package (TQFP, DIP, and MLF respectively).

There's nothing like documentation. Go to page 330 in the ATmega32 data sheet to see a compleete table of ordering codes and their meaning.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From my limited experience of hobbying with PICs and AVRs; PICs are built like a tank. In a life and death situation I would trust the PIC over the AVR.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:
The "A", "P" and "M" in those ordering codes are specifying the package (TQFP, DIP, and MLF respectively).

There's nothing like documentation. Go to page 330 in the ATmega32 data sheet to see a compleete table of ordering codes and their meaning.

The package numbers are.

32A, 28P3 and 32M1-A

The ordering codes are.

AI, PI and MI

Looks like you are right, but not sure.

RES

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

toalan wrote:
From my limited experience of hobbying with PICs and AVRs; PICs are built like a tank. In a life and death situation I would trust the PIC over the AVR.

I wouldn't!!!

But then too, there isn't much programming I'd entrust my life with either.

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Looks like you are right, but not sure.

Pray tell me, what is there not to be sure about?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'd put some transient supressors like AVX Transguards on the board, I've found them to be very effective at preventing problems like you are getting. I always use them on anything going into an industrial environment.

Leon

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

microcarl wrote:
toalan wrote:
From my limited experience of hobbying with PICs and AVRs; PICs are built like a tank. In a life and death situation I would trust the PIC over the AVR.

I wouldn't!!!

But then too, there isn't much programming I'd entrust my life with either.

then you better not fly or drive a car or get any medical scans

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:
Quote:

Looks like you are right, but not sure.

Pray tell me, what is there not to be sure about?

Why A for TQFP, P for DIP and M for MLF?
M for MLF looks right, but the other two codes???
Until now I only have used DIP housings.

So Atmel does not have military/aerospace AVR's? Only industry.

RES

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The old format Vcc on pin 40 and ground on pin 20 is a terrible design hangover from the old days. The entire length of the ground plane between pin 40 and pin 20 is a potential high current loop and noise pickup. Even though it costs more I would look at the ATmega16 in the 40 pin DIP (assuming you want to stay with 40 pin DIP). The power pin layout is much better and has a better chance of being more robust (depending on the filtering/bypass and PC board design). The ATmega16 has JTAG which will give you more debugging capability than the ATmega8515.

Since your ATmega8515 freezes it could be the clock that is failing (you did not say if you were using external main clock components or the internal RC oscillator). The updated ATMEL application note AVR042 has very good information on crystal/ceramic safety margin designs. Are you using the CKOPT fuse?

http://www.atmel.com/dyn/product...

When you said the Atmega8515 froze up, did a reset pin input restart it? If it was a watchdog then the reset would restart it. In fact if it was the watchdog then it should restart itself since the watchdog is an internal reset. After all, watchdogs are used to prevent the device from freezing not the other way around. If you have to interrupt power to restart the Atmega8515 (as in the external reset does not work) then my guess is your test caused an external crystal/ceramic to stop oscillating.

If you are not actually freezing, but getting lost somewhere in your program instead, then you have found a bug in your watchdog programming since it failed to save you.

If you can temporarily output the MCUCSR reset flags to some LEDs or something simple like that then you would know what the cause of a reset is. Just display the MCUCSR reset flags first then clear the MCUCSR register reset flags at the initial startup. You have to manually clear them in the register or they will still be set when the next reset happens.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

too much wild speculation going on here. Need good solid engineering on this problem and you cannot do so in a forum chat.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does turning on the CKOPT fuse make the clock more robust? It causes more rf radiation from the big 5V clock signal, but it seems like it would have more 'inertia' (do electrons have mass?)... maybe wouldnt be swamped out by a giant emp pulse or something...

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Vcc noise causing watchdog resets? Have you tried disabling the watchdog?

How about software porting? Sure you don't have any missing wdr(); statements?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think most people who have used both PICs and AVRs would agree that PICs are in general more robust, however if the difference between them means your product working or not, then additional protection would be a wise move. You never know when something like a die shrink might bite you in future.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Perhaps the trouble is occurring from you clock source...where does your clock come from? Is it eternal...A bunch of jumble on the clock can cause erratic operation. I think the Atmel spec shows every clock pulse to pulse (rep) must not have a timing variation of more then 20% (?) or unreliable operation may result. Ran into this when I was hooking up one of those newfangled spread spectrum clock sources (used to reduce emi).

not sure how this compares with the PIC clock specs.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I experienced some major noise problems caused by an automotive ignition, on a ATmega162, running at it's maximum frequency of 16 MHz. The device would often reset, or even lockup. A dramatic improvement was made by lowering the external crystal to 8 Mhz. Also, using a 0.1uF decoupling cap on each of the three Vcc pins, and connected the other side of the cap to the associated ground pin, helped too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

As to whether it was a BOD reset or the WD reset , we tested it using the elimination method . i.e. In case of the AVR , we kept the BOD enabled with a threshold of 4.5 volts , but did not enable the watch-dog . In such a case , the product would freeze at a point and stay frozen till power off/on . Ergo , it was originally WD resets and not BOD resets .

If you were just enabling the BOD and not the WD and it froze on you how did you come to the conclusion it was the WD all along ?

I would think that a BOD level of 4.5V in a environment that was noisy ( you maybe causing your supply to dip by the test ) would of course trigger .

Try lowering the BOD level if you expect the supply to flucuate . Better filtering of supply wouldn't hurt either.

Pete

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So many guesses, so little information.

Quote:
and most importantly,the amount of ground plane is the same

You probably had to make dramatic changes in power/ground when going to the ATmega8515. Try ATmega8535 instead (sorry, you'll need a new board). The power/gnd/reset pins are at the center of the 8535, where they should be.

IMO, the 8515 should never be used unless you absolutely need 8051 pin compatability.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

trinity_parag wrote:
As to whether it was a BOD reset or the WD reset , we tested it using the elimination method .

Instead of using the "elimination method", try using the MCUCSR (MCU Control and Status Register). This register will identify the reset source.

Don

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
IMO, the 8515 should never be used unless you absolutely need 8051 pin compatability.

The major reason for selecting 8515 was that it was lot cheaper than PIC16F877A... the 8535 is just a wee bit cheaper... would make better sense in that case to continue with the 877A wouldn't it ?
Trust me guys , it isn't a forgotten wdr statement that's causing this . I clarified in my second post that initially , the watchdog was enabled . We just disabled it to check whether it was brown-out ot watchdog which was causing reset...
A couple of people made comments like "I think most people who have used both PICs and AVRs would agree that PICs are in general more robust, however if the difference between them means your product working or not, then additional protection would be a wise move. You never know when something like a die shrink might bite you in future." ......
So , are PICs more robust or is the jury still out on this..?
Thank you all for your opinions . At least I have learnt that :
a. The VCC - GND layout on the 815 leaves a lot to be desired .
b. One is better advised to select controllers with adjecent VCC - GND pins.
c. This forum is just the place for good advise on AVR stuff .
Thanks again.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
So , are PICs more robust or is the jury still out on this..?

Are Chevys more reliable than Fords? One Chevy model may be sweet in terms of initial quality and long-term reliability. Another may be crap on both counts. '70-'73 Impalas might have given excellent long-term utility. '75-'78 Impalas may have been nothing more than money pits.

I think you have to use the same analogy here--there are just too many generations and models. According to Atmel's annual repot there are 200 AVR models. that is part of marketing counting, methinks, (counting package variations?) but I think there are at least 50 different model "number". A glance at the DigiKey catalog pages for PICs seems to indicate a count in the same ballpark.

Over 200 million shipped in 2004. Those kind of numbers probably don't come from a whole lot of people like our place doing production industrial product runs in the hundreds. The big numbers are going to come from mass-market items manufactured in the millions. Cable boxes have been mentioned, as well as certain lines of microwave ovens. Those designers can target whichever micro is "best", and if the AVR were not robust enough it wouldn't make the cut. I'd suspect that one could dig up very similar stats for the PIC line.

We've been applying nearly all AVRs for the past 5 years. Certainly one of the factors is intertia--we've got all the tools and experience for the AVRs so our small shop can have a short dev time without a big learning curve. First true low-power battery app? Gotta go with the MSP430...oh, wait, the V chips give very nice power numbers and are "good enough"--and a Mega48 feels very comfortable on top of a bunch of '4433 and Mega8 designs. Need an under-$1 micro with some SRAM & EEPROM? Gotta look away from AVR...oh, wait,Tiny11 is at giveaway prices, then Tiny13 price cuts brought it under US$0.50, to make way for the Tiny25 which should be under $1 (given the Tiny45 at a little over $1).

The modest crystal/clock rates of the AVR designs make EMI easier to manage, from what I know. The modest clock rates also mean that modest speed 'scopes etc. can be used.

Now, nearly all of our designs have A/D. (Yeah, the AVR A/D is much-malighned; too slow; not enough bits; etc. But with a "quiet" board design it works fine for us.) So we need a quiet board anyway to get decent A/D results. There can't be a lot of crap on AVcc or AGnd or ARef, so might as well make the whole power supply and filtering and ground and reset circuit solid and quiet.

Some AVR models seem like great values--lots of resources for the price. My favourite example is the Mega8 with the 1K of SRAM and full complement of peripheral subsystems.

Although I've never done a "noisy" PIC design, there are many references to the PIC tolerance to blasts on I/O lines. If that is your primary criterion then go for it.

It is a whole new ballgame the last year or two. Let's take Mega8/88 ($2) and Mega32 ($4) and Mega64 ($6). We now have corresponding ARM7s with more resources and roughtly the same microcontroller features at the same price points: Philips 210x IIRC; Atmel AT91SAM7S32; AT91SAM7S64. I haven't looked closely at some of the other architectures but the DSPIC and other manufacturer's 8-bit killers may make this discussion have a different tone in a few more months or years.

Quote:
a die shrink might bite you in future.

That's why it is so hard to compare generations, just like with the cars. We had a Moto 6805 app that worked fine. The "drop-in" '705 replacement part with the die shrink had all kinds of noise problems on the same board.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

Last Edited: Fri. Aug 18, 2006 - 02:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
The big numbers are going to come from mass-market items manufactured in the millions. Cable boxes have been mentioned, as well as certain lines of microwave ovens. Those designers can target whichever micro is "best", and if the AVR were not robust enough it wouldn't make the cut.

Don't forget satellite decoders and recorders. I know for a fact that our company have used more than 500,000 ATMega16's in satellite PVRs and to my knowledge I'm not yet aware of failed PVR returns in which the AVR chip has been implicated.

'Course these aren't in an industrial environment, they're just in UK front rooms (LOTS of them!) attached to the TV and the AVR is just used to service the front panel buttons and lights (and do the IR reception) but, certainly in this environment, I'd have no hesitation to recommend their reliability.

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The fact that every input on the AVR has Schmitt-triggers is very nice; One board design of mine included an FPGA to interface to an external optocoupler board, it turned out these optocoupler have risetimes as slow as 20milliseconds. To prevent high speed oscillations and metastability and all other Bad Things that come with that I had to include a whole bunch of external bus drivers with Schmitt-trigger inputs, also to interface the 3V3 FPGA to the 5V external board (maximum rise time for an FPGA input is 40ns).

The lesson learnt is that FPGAs are not suitable for direct connections to the outside world :(

I have a graphical Noritake VFD display, and I was surprised to find a mega16 on it :D I used this display and an mega128 in my car, and never had any single problem, even in the winter while these AVRs are plain commercial types.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I have a graphical Noritake VFD display, and I was surprised to find a mega16 on it

Curious as to which model--my GU7xxx don't have Mega16.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Mine's a GU144x40D-K610A4, these have an active VFD glass, e.g. the drivers are inside the glass envelope, this saves a lot of external connections. The drivers have a serial input and the controller only has to provide pixel data, a clock and frame signal (much like graphic LCDs without controller). This is provided by the onboard mega16, not some weird controller chip; it even has a small user interface to select interface, keyscan etc with a button on the back.

I also have a rather old GU256x64-312, which has a special controller chip (nice feature is that allows to have 3 layers) but the display quality and brightness aren't so good as the modern display.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

though I'm an AVR fan, a look at their stock's P/E ratio is a disconcerting prognosis. I hope it'll improve after the new management settles in.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OT: I just hope they don't HP themselves Carly Fiorina style. You know, abandon a major part of their core business where they somewhat dominated and go off charging straight into the teeth of a low margin market already totally dominated by huge players.

Back on topic. Does the OP have anything new to add?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
The major reason for selecting 8515 was that it was lot cheaper than PIC16F877A... the 8535 is just a wee bit cheaper...
Where are you getting your chips? I just checked Digikey, where the 877 is just over $9, the 8535 just under $6, and the 8515 about half a dollar still cheaper. These are single quantities, which sometimes distorts the market.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've used CAN128 MLF parts in a product that had to operate at 300V/m (normal residential is 3V/m, industrial is 10V/m), and since the test house was so proud of their new amplifier they reran the test at 1kV/m. Plastic box. It passed.
My choice of package was EMC-driven, I knew it would be tricky.

I see four kinds of immunity problems in AVR-containing devices: RF making the power supply misbehave, RF making external reset circuit misbehave, transients getting in on the xtal/reset network, and ESD hitting the micro directly. I would suspect that OP's problem i either the power supply or xtal noise.

If OP got a price indication for a M8535/M16 part that was significantly above M8515 I'd suggest asking again.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This is *EXACTLY* why I asked this question some time ago:

https://www.avrfreaks.net/index.p...

In other words I'd be surprised if one device is "more reliable" than another as I've read your question.

However I would not be surprised if some "tiny detail" does not get conveyed in the data sheet and thus makes a device look faulty when in fact the data sheet was not sufficiently verbose about all the "tiny detials". Data sheets are written for the masses and expected usages, do *ANYTHING* where you think outside the box and the data sheet might not cover you adiquitly or even be flat out wrong. That's my greatest fear.

HTH

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
HTH
Sigh. Here we go again; I guess I'll go off in search of that other thread. ;)

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Could the OP tell us what frequency is his avr running at and if the CKOPT fuse is set.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think the OP got what he wanted and ran, similar to the other thread he posted.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I got what I wanted , but what do you mean ran..?
Is there some sort of code-of-conduct here which I am not aware of ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Since your last post there have been a multitude of responses, including at least 3 with questions directed to yourself. Since you didn't respond to any of this, it appeared that you were no longer around.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

A dumb question: Where/how can I get military grade AVRs, and how many times do I have to multiply the cost of a normal one to get a military one?

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Two more dumb questions:
1. Are there any?
2. Located in Slovakia, have you ever succeeded trying to get military grade of _anything_?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
how many times do I have to multiply the cost of a normal one to get a military one?

10

Four legs good, two legs bad, three legs stable.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Two more...

Given daqq's tag line, wouldn't that be 10 more? ;)

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
Quote:
Two more...

Given daqq's tag line, wouldn't that be 10 more? ;)

Lee


10 che

Four legs good, two legs bad, three legs stable.