I am building a FFT audio-reactive project with an Arduino that I would like to add a line-in input to. I am most likely to be using a ATTiny84 or ATTiny85 as the sampling device, which is running at 3.3 volts with the AREF set to VCC (also 3.3V).
What sort of schematic would I use to ensure that I can read the full range of the audio input while not harming the device? I am aware that the audio signal is likely to vary based on what the input device is, so please try to make any suggestions as flexible as possible with simple passive components. The target source device (not perhaps the only source, but a reasonable average) is an MP3 player with a 3.5 mm audio jack that can power headphones or a reasonable unpowered PC speaker (Sandisk Clip) or a PC headphone-out jack.
(Note: I have only a limited selection of capacitors, so knowing what ones aren't too specific would be helpful. I have a bunch of 0.1uF, and three or four 10uF, but I'm not sure I have enough to make two of these. I also have a number of ceramics of varying values. I have a large assortment of most common resistors, however.)
It may be possible to use the system at 5V levels if I can disable the internal i2c pullups on the ATTiny (how?), but I am communicating with a 3.3V host device, so those MUST be disabled if I am to do this. If you can confirm how to do that (or to disable them again fast enough that it won't be noticed on the line), a 5V system and AREF can be assumed, if that would simplify the design.
For further information, I would ideally like this to be interchangeable with the microphone breakout here in terms of functionality: https://learn.adafruit.com/adafruit-agc-electret-microphone-amplifier-max9814/ (Offset at 1.25V with AC signal. Note that this microphone is thus for 3.3V as well, but I'm fairly sure that the FFT library I use won't care too much about where the resting value is, so a different DC offset is fine if building for 5V.)