I'm working hard at learning electronics, but I have an annoying beginner question. 3.3V and 5V levels seem standard. Can I simply connect the pins of my Arduino directly to the pins of another 5V MCU or peripheral? Do I need to put resistors in between?
For example, I have two Arduinos: A and B. If I set a digital pin on A to OUTPUT, can I wire it directly to an INPUT pin on B without smoke and a burnt controller? I know OUTPUT pins on the ATmega328 run up to 40mA, and INPUT pins are high-impedance, so the current won't destroy an input pin, right? Correct me please if I'm thinking wrong.
What if my peripheral is an 3.3V serial RF unit? I imagine I need a resistor to convert 5 to 3.3, and I think I need a transistor to convert 3.3 to 5. Or should I just buy voltage-compatible peripherals?
Also, if 3.3V and 5V levels are standard for embedded, what's the name of those standards? I don't know what to call them.
I'm really struggling to understand this. Any insight would be valued.