Hi!I am planning to try using a twisted pair shielded cables for the 3 DC motors to avoid emitting too much emi around. Maybe this would solve my issue.

To do so I am thinking about using an ethernet ftp cable. As it has 4 twisted pair in it with one shield covering them all, I was thinking to use 3 of those twisted pairs for the 3 DC motor power cable from the Motor Feather wing.

My first question is: would this help to reduce emitting emi around those cables?

Second question is: can I connect the shield of the cable to any of the 3 DC motor power output cable connections terminal blocks of the Feather wing? Or does it need to be connected to ground?

You might try putting a .1uf ceramic capacitor on the reset pin to ground. My feather was randomly resetting when I was pressing the buttons near the reset pin so I suspected the internal pull-up resistor was high and thus susceptible to being trigger by body capacitance or resistance. After putting a .1uf it has never reset again.

Also after finding this in the data sheet you might need a cap on this pin also.

Power-On Reset on VDDANAPOR monitors VDDANA. It is always activated and monitors voltage at startup and also during all the sleep modes. If VDDANA goes below the threshold voltage, the entire chip is reset.

It didn't crash once since I added the capacitor between reset and ground pin.I have been looking into this for long time now, big thanks!!

I will do more tests and see but so far, great and never been that good.

I am new to electronics and not sure I understand the reason why it works though.I guess the reset pin is connected to 3.3V and as the 3.3V is fluctuating too much when I run the motors, the 3.3v goes below a threashold on the reset pin which restart the controller. Is that right? So the 0.1uF capacitor help stabilising the 3.3V supply to the reset pin?

Interference problems generally defy one-size-fits-all type solutions. This one seems like a good one to add to the bag-of-tricks for the Feather.

Eliminating noise at the source is the 'ideal' solution, but seldom 100% achievable. Because DC motors are such 'bad actors' in general, I usually start by attempting to suppress as much as possible at the motor. If that fails, then I start looking at ways to keep it from disrupting other sensitive components in the system. In this case, it looks like the reset pin is a key vulnerable point on the feather, so a bypass cap there will help protect it.

I'm glad that solved the problem. When having random reset issues this should be the first thing to investigate. Driving motor, relays, especially anything inductive will cause voltage spikes and depending on the layout of the signals on the PCB and input impedance of the reset input pin these spikes can trigger the reset logic in the MCU. I found this on the 128x32 OLED feather since the C button is near the reset pin and I noticed it sometimes reset when I was pressing the button. I actually put the capacitor from reset to the adjacent VCC pin since that was easier and that works too. I would prefer it to ground though. If you experience it again you might put a slightly larger cap maybe .47 or so. Don't use an electrolytic cap, ceramic is best for this application. When driving large loads suddenly can also cause a similar problem if the voltage regulator is not size sufficiently for the load. Using an oscilloscope is very useful diagnosing this type of problem.

I read few forum discussions and apparently an external 10k resistance from reset to 3.3v + having the 0.1uF capacitor from reset pin to ground as you proposed is a classic way to make this reset pin part robust in noisy conditions. This is what I did.Apparently there are some discussions if this cap should be put to 3.3v instead of ground but I didn't find somewhere an explanation of which way is really the best.

I come back to this topic as I think I have a similar issue with DC motors on another project, but in the opposite case and on a GPIO pin this time.

On the previous project, the reset pin needed to be kept high and to avoid unexpected reset because of noises from the motors, we added a capacitor to ground and a resistance to VCC.

In my new project, I need to keep a GPIO pin LOW instead during normal operation, and raise it to high at a specific time.When I activate the DC motor, I think there is noise on this GPIO pin which makes it not keep the 0v and fluctuate a little and very rapidly.Is there a typical way to avoid thoses noises to keep the GPIO low?I of course in the code already declared this pin as output and turned low but this is not enough.