I agree with Paul, you shouldn't use the Arduino, you can get break out boards at £1 for 10, but that's not what your problem is...
You are using a couple of resistors to do the level shifting taking the 5V to 3.3V. This is a bad plan, you need a proper bidirectional level shifter, particularly at higher baud rates, i.e. above 1000.
You are supplying the top VCC rail with both 3V from the batteries and 3.3V from the Arduino, not the best plan IMO.
You are not supplying the Arduino with any power, I guess this is a drawing error but just in case it isn't I though I best mention it.
You have no level shifting on the Arduino's Rx line. Its not technically needed, but you might require it particularly when the batteries are going flat.
You are using batteries and that's not a great plan.
Have you configured the ESPs using the AT command set, since you won't program them.
Just for the record the ESP has more memory it has a faster processor (80MHz) and you can still use the Arduino IDE. You should be able to pick up boards to mount the ESPs so you can use them more easily for less that the price of the level shifters, but its your call.