Actually, I think you are describing what I was thinking after reading the whole eeprom thing. I still hadn't figured out how to really use the new line of thought.

RandomSeed is set as a Byte variable

We read from address 0 of the eeprom then add something to it and save it for next time. This keeps it always changing.

I'm not sure how to implement that yet though.

First, how does it get a value to begin with at address 0?

More code would be required to keep the value less than 256 correct?

Now, I still want to do this with nothing but 0 and 1 as the values so I think I still need to use Random in conjuction with whatever is in eeprom. I don't fully understand the workings of Random. As I get it currently it is just blazing along on a pre-determined course and every time Random is invoked it picks off a number which I can do math on to make 0 or 1. When we talk about seeding it are we just talking about giving it a new starting point?

I was checking out the data sheet on the 12F629 which is still my preference and see that it has 128 bytes of eeprom so if I can see this idea clearly and if I wrap my head around it correctly it would be much better than the 555 in the mix I agree.

Bart