I have an Arduino Mega 2560 to which I have connected:

  • Arduino GSM Shield 2
  • Waveshare 10 DOF IMU sensor
  • Waveshare NEO-7M-C (B) GPS module
  • HC-05 ZS040 Bluetooth module

I am feeding my Arduino a 12V current via the VIN pin, yet both the GSM shield and the GPS module are misbehaving due to low power working conditions. All the modules work perfectly fine individually, or in any combination that does not have both the GSM and the GPS module, as they consume the most power.

My question is how high a voltage would be necessary in order for all of the modules to function correctly and how this voltage should be connected to the Arduino.

  • Current is what matters, not input voltage. Commented Aug 24, 2017 at 14:02
  • 4
    This question has been already answered by 3 pp in the arduino.stackexchange. Not only the recommended voltage is 7-12V, but also you should not increase the voltage, as the Arduino Mega 2560 has a linear voltage regulator. The larger the voltage, the larger the power dissipation, with 0 benefits. Beware that the headers on the arduino board cannot handle a very large current (maybe 500mA?).
    – next-hack
    Commented Aug 24, 2017 at 14:07

5 Answers 5


You can't fix it with more voltage. The board you are using (schematic here) uses a linear voltage regulator. All increasing the voltage does is make the regulator run hotter.

You could try running from around 7V, this will minimize the heat dissipation in the regulator and may allow you to pull more current through it but I suspect you've simply hit the design limits of the power supply circuits.

Instead of using the Arduino's built in power supply to convert from 12V to 5V you could try using an external 5V supply with a greater current capability connected directly to the Arduino 5V rail.


You should not try to power your arduino with more than 12 V. The barrel jack connector can take between 7 and 12 V and from there steps it down to the proper voltage for the Arduino (5V). Anything being powered by the arduino is limited to how much current it can output, so if you have too many modules, you may need to have a separate power supply for those. If you do this, there several things you need to consider:

  1. What voltage does each module need? (This is probably 5V, but you should check the datasheets or any documentation you have)
  2. How much power does it consume? You might find this in documentation, but you can also calculate it yourself: P = I*V Once you know how much power each module/sensor consumes, you know how much your power supply needs to supply.

If you use a separate power supply for any of your modules/sensors, make sure the ground pin is also tied to Arduino's ground.


Power applied to the VIN pin is regulated down to 5V by the on-board regulator on the Mega. The minimum voltage is about 6.2V because of the regulator dropout (that is, the regulator needs at least 1.2V above it's 5V output in order to operate.) 9-12V is recommended.

Applying a higher and higher voltage will not provide any more power to the Mega and it's peripherals/shields. Instead, the excess power is dissipated in the regulator as heat.

If you experience low-power situations, the solution is to power the peripheral devices from a separate regulator than the one built-in to the Mega, which is really intended to power the Mega board/processor and maybe 1 shield.

You could obtain a high-current (3A or more) 5V supply, and connect the peripherals' power inputs to it, as well as power the Arduino in via the 5V pin (leaving VIN disconnected!). Be sure to tie the grounds of all peripherals and the arduino and power supply together.

Be sure also to pay attention to the voltages required by the peripheral modules, as it's common now to find modules that are rated for 3.3V and would be damaged by 5V. This is probably not the case for you, since your system is working sometimes.


The Arduino GSM shield 2 demands 700mA-1000mA current. It is recommended to power the board with an external power supply that can provide between 700mA and 1000mA. Powering an Arduino and the GSM shield from a USB connection is not recommended, as USB cannot provide the required current when the modem is in heavy use.

The modem can pull up to 2A of current at peak usage, which can occur during data transmission.

The GPS module takes only 35mA, so the fault is in the GSM shield.


arduino nano(5v usb)(3.3v). arduino uno(12v dc jack)(5v).

  • what is this "answer"?
    – dandavis
    Commented Aug 24, 2017 at 21:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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