user7753: I'm trying to connect a WiFi module, ESP8266-01 to an Arduino Uno. But, as I've understood, this module will only work with 3.3 V. Since all of the data pins use 5 V, one of the solutions is to use a voltage regulator, such as LM2596.
My questions are:

Does anyone know if there already exists a tutorial that describes the way this WiFi module can be connected to an Arduino Uno?
For a simple server, would I need to use several voltage regulators (since there are quite many pins)?
Since Rx is the receiver, it would not need a voltage regulator because that pin can handle up to 5 volts? 
Is there any need for an external power source, such as a cell?


user13780: Check out the ESP-Link project over on Github. It has a pretty decent implementation of communicating with an Arduino via UART. As mentioned in another comment you will need a 5v-3.3v level shifter. But if you want to make things a little less messy you could just get a 3.3v Arduino mini for probably around the same price as the level shifter. Esp-link is built with the esp-open-sdk so you will have to spend some time setting up the toolchain if you haven't already. 
I'm working on a project right now using a Moteino + ESP-12E and it's working great. However I'm planning on porting the RFM69 library and removing the Arduino portion completely. I would recommend doing the same if you can. The link below shows how to use the ESP with a port-expander (using SPI) so you can have more GPIO with the ESP. 
https://github.com/MetalPhreak/ESP8266_MCP23S17

user10794: 
Since all of the data pins use 5 V, one of the solutions is to use a voltage regulator, such as LM2596.

You do not want a voltage regulator you need a level shifter.
You can buy them cheaply or make them up with a transistor or MOSFET.
I gather the ESP8266 has a Tx (transmit) to the Arduino. You probably don't need to level-shift that, as the Arduino Uno will interpret 3V upwards as a HIGH. For the Rx (receive) from the Arduino you need to level-shift the data pin (possibly a voltage-divider might work) since the 5V from the Arduino needs to be converted down to 3.3V.
The ESP8266 Vcc and CH_PD can go to the Arduino 3.3V pin.
Disclaimer - I haven't done this, I am summarizing what I read on various web pages. Read some of the answers on the pages you get when you do a Google search for more details.

References

Voltage divider - Wikipedia
Level shifter - StackExchange
SparkFun Logic Level Converter - Bi-Directional
4-channel I2C-safe Bi-directional Logic Level Converter - Adafruit
Bi-directional level shifter for I²C-bus and other systems - PDF
ESP8266 Community Forum


7753: <p>I'm trying to connect a WiFi module, ESP8266-01 to an Arduino Uno. But, as I've understood, this module will only work with 3.3 V. Since all of the data pins use 5 V, one of the solutions is to use a voltage regulator, such as LM2596.</p>

<p>My questions are:</p>

<ul>
<li>Does anyone know if there already exists a tutorial that describes the way this WiFi module can be connected to an Arduino Uno?</li>
<li>For a simple server, would I need to use several voltage regulators (since there are quite many pins)?</li>
<li>Since Rx is the receiver, it would not need a voltage regulator because that pin can handle up to 5 volts? </li>
<li>Is there any need for an external power source, such as a cell?</li>
</ul>
 13780: <p>Check out the ESP-Link project over on Github. It has a pretty decent implementation of communicating with an Arduino via UART. As mentioned in another comment you will need a 5v-3.3v level shifter. But if you want to make things a little less messy you could just get a 3.3v Arduino mini for probably around the same price as the level shifter. Esp-link is built with the esp-open-sdk so you will have to spend some time setting up the toolchain if you haven't already. </p>

<p>I'm working on a project right now using a Moteino + ESP-12E and it's working great. However I'm planning on porting the RFM69 library and removing the Arduino portion completely. I would recommend doing the same if you can. The link below shows how to use the ESP with a port-expander (using SPI) so you can have more GPIO with the ESP. 
<a href="https://github.com/MetalPhreak/ESP8266_MCP23S17" rel="nofollow">https://github.com/MetalPhreak/ESP8266_MCP23S17</a></p>
 10794: <blockquote>
  <p>Since all of the data pins use 5 V, one of the solutions is to use a voltage regulator, such as LM2596.</p>
</blockquote>

<p>You do not want a voltage regulator you need a <strong>level shifter</strong>.</p>

<p>You can buy them cheaply or make them up with a transistor or MOSFET.</p>

<p>I gather the ESP8266 has a Tx (transmit) <strong>to</strong> the Arduino. You probably don't need to level-shift that, as the Arduino Uno will interpret 3V upwards as a HIGH. For the Rx (receive) <strong>from</strong> the Arduino you need to level-shift the data pin (possibly a voltage-divider might work) since the 5V from the Arduino needs to be converted down to 3.3V.</p>

<p>The ESP8266 Vcc and CH_PD can go to the Arduino <strong>3.3V</strong> pin.</p>

<p>Disclaimer - I haven't done this, I am summarizing what I read on various web pages. Read some of the answers on the pages you get when you do a Google search for more details.</p>

<hr>

<h2>References</h2>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Voltage_divider" rel="nofollow noreferrer">Voltage divider - Wikipedia</a></li>
<li><a href="https://electronics.stackexchange.com/questions/42727/what-is-the-difference-between-level-shifter-voltage-regulator-and-dc-dc-conver">Level shifter - StackExchange</a></li>
<li><a href="https://www.sparkfun.com/products/12009" rel="nofollow noreferrer">SparkFun Logic Level Converter - Bi-Directional</a></li>
<li><a href="https://www.adafruit.com/products/757" rel="nofollow noreferrer">4-channel I2C-safe Bi-directional Logic Level Converter - Adafruit</a></li>
<li><a href="https://www.adafruit.com/datasheets/an97055.pdf" rel="nofollow noreferrer">Bi-directional level shifter for I²C-bus and other systems - PDF</a></li>
<li><a href="http://www.esp8266.com/viewforum.php?f=25" rel="nofollow noreferrer">ESP8266 Community Forum</a></li>
</ul>
