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."

  • \$\begingroup\$ See arduino.stackexchange.com/questions/132/… \$\endgroup\$ – 0x6d64 Jun 25 '15 at 9:02
  • \$\begingroup\$ I think the IOREF pin will just be at 5V in your case and a shield with a BT module would sense that and levelshift for you. But you use a separate module. From 5V to 3.3 V you can indeed use resisors. But if you have any signals going from 3.3 to 5V (and I think you do you also want to receive data from the BT module) then you need a "levelshifter", something like: ebay.nl/itm/… might do the job. \$\endgroup\$ – Bimpelrekkie Jun 25 '15 at 9:25

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.

  • \$\begingroup\$ Thank you for the feed back, I guess I have to use a level shifter \$\endgroup\$ – Lokanath Jun 25 '15 at 10:13
  • \$\begingroup\$ +1 This is the best solution. I suggest avoiding level shifter chips that claim to automatically switch direction. \$\endgroup\$ – Spehro Pefhany Jun 25 '15 at 13:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.