Electronic – arduino – How to make arduino GPIO to operate at 3.3v instead of default 5v

arduinobluetoothstep-downvoltage

I am working on a project, I use arduino mega 2560 with system operating voltage of 5v, at the same time I have a Bluetooth module which operates at 3.3v is there any way to reduce my arduino output voltage without any external component such as resistor, ic etc
I saw the following statement in arduino website but couldn't understand,
"IOREF. This pin on the Arduino board provides the voltage reference with which the microcontroller operates. A properly configured shield can
read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or
3.3V."

Best Answer

AVR 2560 output are not 3V3 tolerant (for input) and you cannot internally change voltage level (output) unless you reduce Vcc to 3V3 (which reduces max. crystal frequency). You need employ level shifters. I prefer 74LVC125, 74HCT125 ICs.