Two PCA9685 breakout boards (Adafruit, ebay).I2C (two Arduino pins) and hardware PWM.Leo..
The PCA9685 is usually used for servos, but is in fact a common I2C controlled PWM chip.The outputs are totempole by default (<=10mA source, <=25mA sink), but that can be changed with code.I use those chips to drive CC LED drivers, but I don't see why you can't drive mosfets with them.Leo..
How can you drive something if you can't sink or source current?10-25 mA is very common for driver ICs, logic ICs, OpAmps, etc. Good for 1-2 LEDs or a MOSFET or BJT transistor, just like an Arduino pin. Some such ICs can hardly source any current (the PCF8574 port expander is one) but those can still sink a reasonable current.
Use a P type MOSFET to invert the signal and drive the positive output to the LEDs.