My MCU is a Samsung S3C8 series 8bit CMOS controller,and the board operates at 3 volts(I get this from a variable DC power supply).Consequently, the gpio pin cannot produce more than 3V.
The MCU has open drain outputs on some ports! I guess that means I can just use a pullup resistor to get the 4.2 volts.
In case i use a port pin not having pullups, is the 2N3904 a good choice?.I just need to send HIGH (>4.2V)and LOW (<0.4v) on the pin (communication protocol) and the current is not a factor.But the pin might switch at 10KHz.