Need advice with MOSFET H-bridge

Hey all. I would like to construct a H-bridge to interface with my Arduino to control a DC motor (not spec'd at this point). I was originally thinking of using 4 n-channel logic level MOSFETs and control the switching directly from the Arduino. Then to ensure that the switches are triggered in the correct order and prevent shoot through, I will utilize some logic (NAND). One wire will control direction, the second wire will control the enable. I will also include flyback diodes for added protection.

Can anyone see any major issues with this design? From what I've seen, H-bridges are typically designed with 2 n-channel and 2 p-channel MOSFETs, which I can understand if one does not use any logic to control the gates, but are there any other advantages to this method over the 4 n-channel method? I'm trying to avoid p-channel logic MOSFETs as they are quite rare, costly and do not have as much power handling compared to their n-channel counterparts.

And yes, I suppose I could use some H-bridge package such as the L298, but I'd prefer this method as I will gain some experience with MOSFETs and I will get higher power handling capability (plus a neat looking circuit in the end). Thanks

Can anyone see any major issues with this design? From what I've seen, H-bridges are typically designed with 2 n-channel and 2 p-channel MOSFETs, which I can understand if one does not use any logic to control the gates, but are there any other advantages to this method over the 4 n-channel method? I'm trying to avoid p-channel logic MOSFETs as they are quite rare, costly and do not have as much power handling compared to their n-channel counterparts.

It is not as easy as you might think to substitute the N mosfets for the P mosfets. To use the N mosfets on the h-bridge high side, you might have to use a charge pump or bootstrap setup to get the gate voltage high enough to turn the N mosfets fully on. This may not be the case with logic level N mosfets.

Hmm yeah I can see this being a problem in power MOSFETs. I suppose in this case a solution would be to place an NPN transistor before the high side n-channel FETS and ties Vcc to the collector and the input to the FET to the emitter. Then when the NPN is turned on the FET would surely have enough voltage to turn on. Or am I overlooking something important? In any case, hopefully I don't have this problem with logic level n-FETS.

Have a look here for some ideas:-