I am buying an ESP8266 and the plan is to control it serially from an Arduino. I am going to use a voltage divider(Using a voltage divider is temporary and I know the cons of using voltage dividers).

I calculated out the values of the voltage divider and I am going to use 220 ohm and 440 ohm value resistors to get 3.3 volts and 250 ma from the Arduino 5v pin so I can power vcc and ch_pd on the ESP8266.

The question is do I need to use a separate voltage divider to connect Arduino TX to ESP8266 RX and Arduino RX to ESP8266 TX. Or will it be safe to connect RX and TX directly to Arduino RX and TX.

Honestly I am extremely new to this and I don't even know if I am going at this right. If I am tell me.

  • You have to convert Arduino's 5V TX so that it'd be compatible with ESP's 3.3V RX.
    – Avamander
    May 5, 2016 at 19:54
  • 1
    You're planning on using a voltage divider to provide 250mA current? How much voltage would be dropped across a 220 Ohm resistor with 250mA drawn through it? 55 Volts. May 5, 2016 at 21:02

2 Answers 2


For ESP 3.3V power supply, I'd recommend a distinct 3.3V regulated supply.

Of course, the Arduino UNO already has a 3.3V output but it may not supply enough current to the ESP (current consumption can go up to almost 200mA): UNO 3.3V pin is limited to 50mA. So do not use it or you may roast your UNO.

Using resistors to output 3.3V from Arduino 5V might be possible (the UNO 5V pin can provide ~400mA) but it would be a big waste of energy because you'd have to use low resistor values to be able to supply 200mA for instance.

You might possibly use a 7833 regulator with additional caps to provide 3.3V from Arduino 5V pin (or Vin directly if your UNO is powered through the DC power jack, not USB)

For ESP RX a voltage divider is foreseeable but it may trigger issues due its switching response time, which may be too slow when transmitting data at high baud rates. I recommend using a MOSFET based level shifter:

enter image description here

The advantages of this circuit are:

  • it has the fastest switching response time
  • it can work in both directions (3.3V -> 5V and 5V -> 3.3V)

You can also buy some cheap ready-made breakouts using this circuit and offering several level shifters.

For ESP TX, I'd also recommend the same level shifter circuit as for RX (if you can make one, you can make two).


The RX pin is 5V tolerant (at least it is on all of my boards!) and almost certainly your arduino will recognize 3V as logic high for the TX pin. So you don't really need any level conversions there (no other pin is 5V tolerant).

Are you sure your ESP8266 board doesn't already have a 5V to 3V3 regulator? I've never seen one!

  • Yes there are some development boards by adafruit that do come with voltage regulators. I am going to be writing a blog on how low cost arduino can be in the future maybe so I am not going to be using dev boards. I will say that the dev boards are worth the extra $8 though for anyone reading this.
    – Clayton
    May 8, 2016 at 1:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.