A oui en effet, ce n'est pas assez puissant tes servos.
Le 2N3904 est trop léger pour faire de la commutation http://www.st.com/web/en/resource/technical/document/datasheet/CD00002987.pdf
Le 2N2222, bon pour un relais, mais trop juste pour un moteur http://pdf.datasheetcatalog.com/datasheet/on_semiconductor2/2N2222A-D.PDF
Peut convenir pour tes petits servos, mais pas un comme le miens.
Il faut que le VCE(sat) soit le plus bas possible. Les mosfets sont champions pour ça et en plus pas besoin de résistance entre la sortie de l'arduino et le gate.
J'ai acheté des AO3402 (http://www.aosmd.com/pdfs/datasheet/AO3402.pdf), capables de commuter 4 A. Par contre ce sont des CMS minuscules et pas facile à souder. Un peu comme traire une puce avec des gants de boxe
Mon problème de reboot viens peut-être de fils d'alimentation trop fins, d'un pro mini mal filtré (ebay), ou d'un appel de courant important du servo en commutation. Et aussi à cause du cablage sur breadboard sans soudure ( sauf le transistor soudé sur un bout de circuit imprimé).
N'importe comment j'avais prévu de mettre une résistance pour protéger le servo des blocages prolongés ( j'essaierait 5 ou 10 ohm si ça n'entrave pas le fonctionnement du moteur, le principal est qu'il ne crame pas sur blocage prolongé).