I was reading up about transistors and they say divide the current by 10 or 20 you want from the emitter and that is the current needed on the base to fully saturate. So if I want 100 mA I need 10 mA on the base. If I want 1000 mA on the emitter I need 100 mA on the base.
First, you can buy a NPN transistor with beta higher than 10 to 20.
The other approach that works well is using 2 transistors in a darlington configuration. You can also buy darlington transistors (2 inside), but for rapid switching it's sometimes better to have 2 separate transistors so you can add a resistor to the emitter-base connection that would be inaccessible if you use a single package with both transistors inside.
Of course that isn't possible, I will burn out the pins. So I am going to see if I can replace my transistors with Mosfets. I have 2N7000 mosfets that I use for my motor. I think I used them on the Arduino so they activated at 5V, still need to test if they activate at 3.3V
You can use mosfets, but they add many other design challenges. In addition to the higher voltage required (already mentioned here), the mosfet gate is essentially a capacitor. If you need the mosfet to turn on or off rapidly, it can be challenging to charge or discharge that capacitor rapidly. Even though the mosfet needs virtually zero current to remain on, very large pulses of current can be needed to go from off to on rapidly.
From this discussion, it sounds like you're tempted to use the mosfet as a voltage controlled resistor. That is a very challenging design. The main problem is very tiny changes in voltage result in substantial changes in resistance, and the exact voltage where that change occurs varies with temperature and is different from one mosfet to another, even among two identically labeled parts from the same batch.
To make a mosfet-as-resistor application work in a practical application, you would probably need an opamp and carefully designed feedback loop that senses the current and controls the mosfet voltage. It's not impossible, but quite difficult. Aside from just the challenge of designing any opamp circuit (other than the very standard ones), a huge problem is the opamp's ability to drive the capacitive gate of the mosfet. Many opamps can't drive large capacitance at all. Even if they can, perhaps by a series resistor, placing a mosfet in the feedback loop adds significant phase shift which causes the feedback to become unstable. Usually circuits like that have very creatively designed feedback loops where the sensed current effects the opamp feedback at low frequency, but at higher frequency a second feedback path without the extra phase shift is used for stability. That can make the feedback stable, but then the whole system can have strange response to changes, so it requires very careful analog design. Definitely not a good beginner electronics project! In fact, it's so difficult that mosfets are very rarely used that way.
However, it is relatively easy to build a voltage-to-current circuit with an opamp and a NPN transistor, or even without an opamp (as previously discussed) if you're willing to accept a limited voltage range and some inaccuracy from the not-always-0.7 base-emitter voltage.
There are a lot of difficult trade-offs in an analog circuit design. I still believe the 3 or 4 transistor circuit mentioned earlier, with each transitor's emitter to ground and binary-weighted resistors between each collector and the LED is probably the simplest and easiest to accomplish your goals. The low beta value problem is fairly easy to solve, either by buying a better transistor or using 2 in darlington mode.