I have a basic discrete digital design. Essentially, I need to monitor a couple of [potentially transient] digital signals and drive some constant lines (i.e., a pulse input results in a steady state change on the output).
I am currently looking at a circuit that is built from a comparator, several buffers, and some flip-flops. I think I could also build a circuit around a 555 timer to do the same thing. It occurred to me that a very small micro (i.e., a Tiny) could do the job with less cost and less space, with the added benefit of increased flexibility should the desired behavior change in the future.
If I were to use a micro, I would need a handful of digital I/O (say 6 to 8), and enough memory to be able to write a program (in C) to monitor the inputs, make some decisions, and change the outputs. A timer and/or an ADC would be great, but is not required. The chip would need to be programmable via ISP. Ideally, it would have an internal oscillator (no critical accurate timing required).
I have always used megas in my design because other constraints required me to do so (i.e., needed multiple UARTs, SPI/I2C, lots of I/o and/or lots of memory). I think a mega would be overkill here, and have started looking at Tiny's. I am looking for advice from Tiny users. How different are they to work with than Megas? I develop with avr-gcc, and use Megas with large memories. Am I going to be unpleasantly surprised by the severe lack of memory (again, I only need to monitor a few pins for rising/falling edges, debounce them, and set a corresponding output pin. At some point, may want to look at an analog input rather than a pulsed digital input).
My initial survey has led me to the ATtiny85. It appears to meet all of my requirements stated above. Is this a good option? Are there "better" Tiny devices? (I know that "better" is a subjective term. However, it is easy to tell a user that a 168/328 is "better" than an older mega variant).
Thoughts and suggestions please!