Mosfet High or Low side switching for 10A 12V DC load

Hi all,
as per the title. For up to 10A load should I use a mosfet with high or low side switching (P or N channel). Loads may be inductive. Is for a generic switchboard canbus node on a boat where the attached loads could be electronics, pumps, fridge compressor etc. I had developed my thoughts around relays but am now moving towards mosfets as no single load should be greater than 10 amps


The answer depends on whether it is better to disconnect the ground or the supply to the load. Other than saying CANBUS is involved you have not really provided enough information to be helpful. Please provide more information, I am thinking details of the load, how it is supplied and how you propose to switch it. A schematic is worth 1000 words.

Thanks. The system is on a boat, powered by 12V from a house battery (so could go as high as 15V when charging). I am trying to integrate a modular system with the nmea 2000 can bus. Each module will be placed in a different area of the boat and will be responsible for the local electrics. A decent sized ground and 12V cable will be routed along with the nmea 2000 cable around the boat. Each module will have a number of nmea 2000 connectors to add additional nmea devices to the network such as depth, wind transducers etc. In that fashion it will simply be a standard nmea 2000 network. An esp32 with a canbus transceiver will allow me to integrate non-nmea devices with the network.

The typical loads will be:
cabin lights significantly less than 1A (prob 4 connections) (dimmable)
RGBW strips <1A / channel (2 connections)(dimmable)
I/O loads <10A such as fridge compressor, water pump, sump pump, bilge pump, garmin MFD, gas solenoid, heater glow plug etc

I intend to have all loads wired to waterproof connectors on the enclosure. I also intend to have some sensors (still working on designs) such as fuel and water levels, environmental (gas butane and CO, light, temp, humidity , ?fire), engine (rpm, temps) etc. These I will try and standardise for easy connections also. I have not decided whether sensors require their own canbus transcievers or if they will simply be wired back to each node and converted to nmea signals there.

I have not got very far with my schematic yet as I am still considering component requirements. Traditionally I have switched the high side of wires and I suspect that is what most people would expect within a boat. However, the 12V isn’t dangerous in the same way as 240VAC and everything will be appropriately fused for shorts so perhaps the same concerns are not relevant. If the difference between P and N channel mosfet is simply a matter of preference I will switch high for standard loads and low for the LED lighting (that seems to be the common way).

This is where I am:

If any devices are grounded to their chassis / mounting ( as say in the case of some car head lamps etc.) , then you usually are forced to switch on the high side.

All devices will run to negative terminal of battery. I am current monitoring through a shunt at the negative terminal so this is a general requirement anyway.

Here is a rough sketch:

This is of an individual node, of which there will be about 8. The lights at the top will have switches which will be wired to the esp32 for logic. Fuses are not shown.

I am wondering if a relay wouldn't be easier with less risk? For now I might plan with an N-channel mosfet as that seems much easier than P-channel and unless I find out otherwise that will be reason enough for me.

Here is the current schematic for a node:

Everything controlled from the negative side. Some connectors which will go to switches on the 4 lights to allow for control through the esp32. Screw terminals to the positive side of everything with appropriate fuses. A small power supply to convert from 12 to 3.3V. A can bus transceiver chip that I am not sure about. It is used on a number of modules but they normally include resistors which I presume are termination resistors and so not needed as I will have terminators on the network. The datasheet has capacitors and stuff but they are not used on the modules and the datasheet is vague as to their value. I have kept the mode selector so I should be able to sleep the transceiver and reduce power consumption when not in use. I was going to put in sensor connections but currently I am thinking about making each sensor, or sensor bundle have its own can bus transceiver which will make it an nmea 2000 device rather than route them all to a node and convert to nmea 2000 there.
I will research more. Some tidying up to do.

P.S. I forgot to include the molex connectors from the can bus transceiver to the nmea 2000 sockets

Thanks for the schematic.

I can't comment on everything, so this is not a complete answer.

You have not shown the loads on the schematic, one of the things I wanted to see what what you are switching, how it is wired etc. None of this is shown.

For the inductive loads you have a diode across the MOSFETs, this is wrong. It should be across the load, so from drain to the +ve supply of the load. Its purpose is to absorb the current generated by the collapsing magnetic field when the current to the inductive load is switched off.

Is the 12V actually 12V? I'm guessing it will be anything from 11V for a discharged battery to 14V or even 15V when the battery is charging. 12V LED strips need 12V, not a range between 11V and 15V. You might want to consider a buck/boost converter to power the LEDs. For switching simple LED strips low side switching is fine.

For LED lights also find out if they will be OK with a varying voltage or if they need a reliable 12V.

I don't know anything about canbus, but if you were thinking of turning the power of to the receiver then that needs to be high side and more discussion. Your schematic does not show you are doing this so I guess it's not a problem.

The fuses should be as close to the 12V supply as physically possible.

What are the resistors for on the connector 'return from LED light switch'?

Other than the LEDs and rGB strips the other loads will vary from node to node. I want to make each node to be generic and you can attach a load onto it <10A. I have described the likely loads and they will be wired through a waterproof connector to the node with positive through to 12v and negative switching as illustrated.

Thanks re the diode. I had copied a diagram online and have not fully checked the schematic yet so I will change this. I need to work through each part and fully check its function and place In The circuit.

The 12V will be charges by an alternator and a 240v charger so it will not always be 12V. I will investigate ways to clean it up. The lights currently operate fine with a direct supply so not an issue I presume although life expectancy might be improved with a clean supply.

The can bus transceiver has a pin for putting it into sleep mode so I will use this for turning it to low power. The fuses are at the very beginning of each wire they protect. So I have the on board fuses to protect the wiring to the lights and loads. I also have fuses to protect the common power at the battery distribution and at the battery terminals.

The resistors are to protect the uC because they will be grounding a pin that is pulled high for switch detection.

I will get more work done on it after work today and post my updates. Thanks for the help

Other than the LEDs and rGB strips the other loads will vary from node to node. I want to make each node to be generic and you can attach a load onto it <10A. I have described the likely loads and they will be wired through a waterproof connector to the node with positive through to 12v and negative switching as illustrated.

In that case every load should have identical circuitry for flexibility and should include the diode whether needed or not. If the load current could be 10A then the diode should have an If of at least 10A.

The resistors are to protect the uC because they will be grounding a pin that is pulled high for switch detection.

The pins are designed to be connected to ground, there is nothing to protect against. That said, if there are going to be long cables to the switches then for each switch use a pair of wires, ideally a twisted pair, for each switch as this minimises noise pick up. If you want additional input protection then the resistors need to physically at the pins they are protecting, putting them at the ground end of the wires is useless. You might also consider a 0μ1 capacitor at the pin to absorb any noise picked up on the wires. Remember remember that any resistors you put in series with the input pins are in series with the input pull up resistors, so by doing so you the pin won’t be pulled completely to 0V. You need to experiment to find a value that works.

Cool, thanks. I will drop the resistors. I am struggling to find something to clean up the 12v power supply. All the loads on the 10A circuits should be fine with the 12-15V range as they are designed for direct connection. Really it is only the RGBW strips that I hadn’t considered. I could clean up the whole 12V rail to all nodes at the battery distribution, or on every node for the whole 12v distribution within a node. Or just for the RGBW strips.
The concerns I have are efficiency and practicality. If doing the whole inter-node rail that could be many amps (max 30/node max 8 ~ nodes). Likely much less as most nodes will only have LEDs being powered with pwm. In each node it is still a lot of amps at 12v. I also need 3.3v so would need 2 regulators

Is there a simpler way of regulating the 12V to the rgbw led strips? I have found automotive regulators but adding one will greatly complicate my circuit.

This is the schematic just for the power to the 2 strips:

Is there a simpler way of regulating the 12V to the rgbw led strips?

Yes, buy a ready made buck-boost converter.

I have been messing with electronics since I built a 'lighthouse' from a torch bulb, battery and cardboard tube when I was about 6 years old. I repaired switch-mode power supplies in a work shop in the early 1980s and I used to marvel how anyone knew how to design such things. OK, so the designs have simplified with chips like the LM5175 but even so I would think twice about building that design and I would think I might have problems with it if I did.

I was hoping to have everything on the one board. It would be a pity to have to just buy a module but I am sure you are right. I was hoping there might be a simple solution such as a linear regulator even though the efficiency would be less and the voltage would be low if not charging (kind of answered my own thoughts there!).

The problem with LOW SIDE switching is when you turn the load OFF, the load is still 12V above GND, which is all around the load.
If that load is powering some other device then 12V will leak through it to gnd via the other device.
Or any exposed metalwork that was at gnd is now at 12V.

If you HIGH SIDE switch, you turn off the load it will be at the all around gnd potential, and 12V will be inside insulated wires.

There is method in the madness of vehicle wiring HIGH SIDE switching.

Tom... :slight_smile:

Hmm. I like high side switching as this is more intuitive and replicates the standard mechanical switch or relay you are likely to find in a marine application. However, it seems far more complex than low side switching. For a start I would really need an N channel FET to drive the P channel FET, a few resistors and probably a zenner diode. I might design for both. This is probably why I went for a standard relay in my previous iteration. I have less calculations to do with a relay! There is nothing I drive that has access to ground except through my switch (unless a fault).

I have found some car voltage regulators that may work for my project. I had wanted to use a fully on board solution but perhaps that is a bit optimistic.

Looking at the options for a marine application I would likely go with high side switching and rather than MOSFETs I would just use several relay blocks using automotive relays. Typical automotive relay is rated for 30 Amp service and many 40 Amp service. Relay blocks include fuse holders for ATC/ATO fuses making for simple in the wiring scheme. Ones like this:

are commonly available. Additionally many automotive relays include a flyback diode and spare relays are easily kept onboard along with fuses. You run a bus of for example #8 AWG to the blocks and exit through a properly rated fuse with properly rated wire gauge. No need to fabricate a board but if you plan to drive the relays with a uC then transistor drivers for the 12 volt relay coils. That's how it is normally done in automotive and marine applications. They are also water resistant boxes making for nice and dry even if exposed to salt spray.

Not saying MOSFETs are a poor choice but I would run with what is currently being widely used in the industry for large vessels.


OK so options are
low side switching: (load across terminals)

High side switching:


Why the Zener? If you calculate the voltage divider well it is not needed.

I think you need much better driving circuit, at least for the high side switching. To switch 10A you need turn it on and off quickly. I doubt 3k3 resistor can do this.

Why the Zener? If you calculate the voltage divider well it is not needed.

Voltage spikes are common in automotive/marine applications.