I am working on a robot PCB , I am using 3 DC motor with DRV 8871 motor driver IC and 6 ultrasonic sensors and a microcontrollerCC1350 , I don’t want to damage my MCU from any spike or other factors thats why I am using RecomDC-DC isolated converter and optocoupler for isolation of MCU from sensor & motors I am powering whole PCB with LiFePO4 battery .

my concern is that can I I make this simple ? can I directly use microcontroller (with sharing ground no isolation ) or I am taking too much safety precautions

  1. Motor operating voltage +24 V
  2. Sensors operating voltage (10-30V)
  3. Battery voltage 25.9 Volt 10Ah
  • \$\begingroup\$ The secret is understanding where the currents are flowing in your system. You don’t want paths with high currents flowing through your MCU and other sensitive circuits. Mainly this is with the 0V circuit. Using isolators makes this easier to achieve, but introduces another set of problems. One simple rule - don’t have high currents flow across your pcb. If the power comes in on the left, then place your motor drivers and connections on the left. That way your high current paths are hopefully short. \$\endgroup\$ – Kartman Feb 19 at 23:14

You should not need to opto-isolate digital lines that are operating in the right voltage range. The CC1350 should only operate up to 3.8V so you need to make sure to run all the other logic at an appropriate level or use level shifting. Pins are tolerant to VDD+0.3V

Put bidirectional TVS diodes across the motors to protect your circuit from back-EMF. Pick a breakdown voltage above the applied voltage (~26V) and below the maximum voltage of the motor controller (45V in your case). I would recommend a minimum breakdown around 29V so your maximum clamping voltage will still be below 45V.

You state that your motor voltage is 24V but your battery is 25.9V. Don't try to regulate that down. Since you are using a current controlled motor driver, the voltage is not so important. You can apply 25.9V directly to the VM on your motor controller.

If your sensors output voltages higher than the VDD on your MCU, scaling with resistors should be adequate.

Grounds do not need to be isolated but you do want to pay attention to the return path through the PCB. You do not want large currents being forced through the ground plane under the logic level components.

If you do decide to run isolated, tie the grounds together with a 1 MOhm resistor. This will keep your isolated circuit from floating to arbitrary voltages that may exceed the breakdown voltage of an important component.


I think you are looking at it the wrong way. Different low voltages on the PCB do not damage MCU and neither do currents, unless you somehow apply wrong voltage to wrong pins or send high current through wrong path. But this is a question of correct schematics and careful board layout.

You can also accidentally shorten something on the PCB. Again, this is true for any electrical device and the danger can be reduced by conformal coating and/or proper enclosure, as well as normal precautions of working with electrical devices.

Whenever there is a motor there is noise, of course. And yes, potential spikes and drops in the power lines. Generally, you do not need isolation within the circuit to deal with these. Add proper decoupling, some filters, beef up your bypassing caps and you are good to go.

What really kills the MCUs easily and often is transients. But these usually come from outside the circuit. It is a good idea to fail-safe all the connections of your board to the outside world, e.g. programming and debug ports, communication lines, buttons etc. However even here isolation is usually reserved for industrial applications. A hobby project can get by with just a few TVS components, current-limiting resistors and reverse polarity protection where necessary.

In combination with good enclosure the above should be sufficient. And since you are dealing with motor drivers a good aluminum enclosure would be the best, doubling as protection and heatsink at the same time.


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.