Could some one explain how one could use the arduino to switch between two voltage sources?

I am trying to prolong the flight time of a plane am designing for my senior project. I thought that i could use an arduino and program it to switch between two voltage sources. When one voltage drops below a certain level, the arduino will switch to the other battery. Please help!!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Did you finish this project? If you did, Can you please post the final circuit that worked because I have a similar project to do and need some help. Thank you

  • Well, sorry by me agressive worlds.

    The problem is ... almost everything i read here (DIYdrones forum) is very basic and superficial.

    So .. when i see a person working in a SENIOR project asking this SIMPLE kind of question i stay dizzy ... and i think ..

    Where the world is going ?

    Probably this is not your case ..,.then .. when you ask something ... do this correctly.

    Describe your problem with more detail so i can understand what you need to do.

    well ... i need more anxiolytic


  • its some kind of joke ?

    A senior project ? and you not know how to do this simple task ?

    1 year ago i do this task using 2 op-amp and 2 high current mosfet.

  • Yeah, sorry I probably shouldn't have done the whole thing for you! I got carried away, I had nothing else to do you see :). Good luck with the project, it sounds like a super cool project. I wish my professors gave me cool stuff like this. 

  • I'm assuming that your professor will know the extent of the help you are getting here. If not, you will be cheating on this assignment.
  • I used a lightweight and simple 40A car relay to select between charging mode and flying mode on my battery. It should be simple to let an Arduino control the relay switch and adapt it to select between two batteries.

  • Basically you need a voltage divider coming from each battery, being read by the Arduino's "analogRead()" function. You then get a 50A FET on each battery, then when you want to select a battery you simply give it a HIGH signal. I would seriously recommend that you buy FETs that blow closed circuit. Meaning that for what ever reason, if your FETs are over currented you will not loose power to the plane.

  • Hi Adrian,

    You can use the Arduino to switch batteries by monitoring the voltage of your primary battery with an analog input to the Arduino. Then, when the voltage reaches your selected level, a digital output is used to close a relay contact connecting the secondary battery power to your project. Lastly, a second digital output is used to open the primary battery circuit. The important thing here is making the secondary circuit before breaking the primary circuit. Have fun.

  • Adrian,

    If you want to avoid an arduino to do this, check out the BatShare. I use it all the time and it does exactly what you are talking about for 5v and 6v sources off 2 batteries. link here . You can put any battery type of size on each outlet and it will intelligently manage drain equally from both, automatically switch to the one thats best if the other drains too much and I use these not only in my APM but on my over $10k GiantScale aircraft. They work perfectly and very cost effective!

  • Developer
    You could use a MOSFET as a switch,

    or more simply a mechanical relay see as an example. Just make sure you can actuate it with 5V and its rated at least 20A for the max current, more if needed.
This reply was deleted.


sam liked Jimmy Oliver's profile
Aug 25
Mike Whitney liked Mike Whitney's profile
Jul 19