I am doing a small drone project, and the 8V battery provides power to both the motors and the Arduino Nano. I expect a lot of noise from the motors, however I assume that the Arduino Nano power supply should be quite stable. Is it recommanded to use a RC circuit to low pass filter the input voltage? Or is it possible to directly connect the Arduino Nano to the battery?


EDIT: Given all the comments, it seems that the circuit should look like the one below. No resistor, smaller common wires between motors and Arduino power supply, and at least 2 capacitors in parallel

enter image description here

| improve this question | | | | |
  • \$\begingroup\$ Is the power for the motors and the power for the Arduino carried on the same wires at any point? \$\endgroup\$ – Harper - Reinstate Monica Feb 5 at 4:17
  • \$\begingroup\$ On my first design, yes. However given all the comments, it seems I should better use extra wires to connect the Arduino as close as possible to the battery \$\endgroup\$ – Romain F Feb 5 at 9:15
  • \$\begingroup\$ I'd decouple the nano-battery from the motors. Give it a dedicated battery or decouple the nano to prevent nuisance and/or damage. \$\endgroup\$ – Mast Feb 5 at 10:42

I would not use this arrangement, except in some rare scenarios.

The lipo batteries are a very low impedance voltage source, so if you use good routing, and decoupling you shouldn't need any filter.

  • Route the power from as near the battery as possible. You don't want to share wires that are supplying current to the motors if possible.

  • Add a large electrolytic cap, 100-1000uF (depending on the size of the drone), right near the battery in the circuit. Almost all drone builders do this, and it seems to reduce overall system noise.

  • Add 1 or more 0.1uF decoupling caps near the arduino, and maybe an additional smaller electrolytic.

  • Make sure your voltage regulators have enough input voltage to keep working even when the battery is near dead and heavily loaded. The voltage may sag 15% or more under load, depending on the battery quality. If you're regulator is 5v and your battery is 2s, you're pretty much at the limit. Consider switching to a LDO regulator, or switching the system to 3.3v if this is the case.

LC filters are sometimes used on sensitive electronics in drones, but I can say from first had experience that they can easily make things worse instead of better. Explore those as a last resort, after you've tried all this.

| improve this answer | | | | |
  • \$\begingroup\$ My drone is quite small, 100g without batteries, 4 small brushed DC motors. Would you recommand the 100uF or the 1000uF capacitor? \$\endgroup\$ – Romain F Feb 5 at 9:30
  • 1
    \$\begingroup\$ I'd go 100uF, or maybe slightly lower. Spending a gram on it is worth it. \$\endgroup\$ – Drew Feb 5 at 16:24

If I needed to filter the power supply to the nano, I would use a ferrite bead instead of the resistor.

The thing about linear regulators, such as that in the Arduino Nano, is that they don't react fast enough (have a high enough bandwidth) at higher frequencies so they can't filter out high frequency noise from things that switch (like motor drivers). They react fast enough to slower changes (lower frequencies) appearing on their input so that the output remains constant, essentially filtering out the noise, but not high frequencies.

You normally want to get short out the noise (give it a low impedance path to ground) before it gets to the sensitive components with parallel capacitors if you can. Capacitors are more ideal than like inductors, ferrite beads (a specialized lossy inductor). They also have less loss than than series filtering components

But capacitors have a parasitic series inductance that will limit how well they pass really high frequencies which directly influences how well they appear as a short-circuit to GND to noise. It is usually at this point when you start throwing in ferrite beads. You tend not to want to throw in ferrite beads or inductors because they resonate with the capacitor (and other parasitics) and if they resonate at your more prominent noise frequencies, they will actually amplify that noise rather than supress it.

| improve this answer | | | | |
  • \$\begingroup\$ Standard ferrite beads have almost no impedance at 1MHz or below, they start to be effective only at much higher frequencies. Nano uses NCP1117 which can work from DC to 10kHz before PSRR starts to drop. There is quite a gap there that could be filled simply with RC filter, or maybe even with a LC filter, if proper damping is taken care of so it does not resonate. \$\endgroup\$ – Justme Feb 4 at 19:49
  • \$\begingroup\$ @Justme Ceramic caps are pretty good up to about 10MHz. \$\endgroup\$ – DKNguyen Feb 4 at 19:53

Lose the resistor. You can add extra bypass caps if you have problems, although they may or may not be necessary. In addition to the suggestions in other answers, a quick and dirty fix for high frequency/motor noise getting passed through a linear regulator is to simply use a separate battery (for instance a small 1S lipo) to power your sensitive control electronics. I do this often for robots with a large number of actuators (such as a hexapod). Obviously the extra weight is less than ideal for a drone, but it's a good easy trick.

| improve this answer | | | | |
  • \$\begingroup\$ Thanks for the idea. I already did it for my firsts tests and it worked well. However I am pretty limited in mass, that is why I try to connect everything to one unique battery \$\endgroup\$ – Romain F Feb 5 at 9:27

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.