With Rds of <12Ohm with 5v on the gate, then power dissipated by the MOSFET will be I^2 x R = .78A x .78A x .012 = 7.3mW.
WIth BJT, assuming 0.7V Vce, power dissipated = I x V = .78A x 0.7V = 546mW.
To Saturate the BJT, get it to turn full on, you need 50mA of base current to support 500mA Ice current:
VCE(sat) Collector-Emitter Saturation Voltage at IC = 500 mA, IB = 50 mA: 0.5V
which Arduino pin can't support (for very long).
It will work with a 220ohm base resistor.
Saturation voltage of the transistor is a bit higher, the transistor gets hot, and the LEDs are not getting full current.
You could add a small NPN transistor, and make a darlington.
But as CrossRoads suggested, a logic fet would be better/easier.
I started a subject along these lines awhile back.
It was more about drawing lots of current than about LEDs, but using LEDs was more visually convincing than just using resistors (I supposed.)
[If it was about getting 20 LEDs going, I would have put bunches of them in series.]
are you sure using MOSFET is a good idea, since i'm using it to controll 39 LEDs with PWM....those high frequencies will increase power loss at the MOSFET?!
Firstly the default PWM frequencies on the Arduino are either about 1kHz or 500Hz depending on
which pin... Not particularly fast.
Secondly a reasonable choice of MOSFET for 1A load or so will have perhaps a couple of nF gate
capacitance, which with a 220 gate resistor would give a switching time of the order of 0.5us
which is fine. Probably faster than BD139 switch-off time from saturation.