I'm working on a programmer that programs 5v EEPROMs with a 3.3v microcontroller. I'm using a PN2222A transistor with a 10k pull up to 5v and a 10k resistor on the base for level shifting when I read from a shift register. This limits me to about 400kHz. I know if I used smaller resistors it might go faster but how low could I go? I would hate to damage any of the chips involved by drawing excessive current. Is there a rule of thumb I could go by? Does anyone know how fast I could expect to switch with a transistor like this?