Arduino UNO + ESP8266 as a WiFi access point

The ESP8266 module will be configured as a standalone WiFi access point. No binding to an existing WiFi network is required for this mode of operation. To connect, the smartphone must be connected to the created access point.

Step 1. Create a graphical user interface project

Enter the RemoteXY editor. Set one button in the smartphone field. Highlight this button, then select the "Snap to pin" property to 13 (LED) value in the right pane of the "Element" tab.


Step 2. Configure the project

In the right pane, select the following settings under the "Configuration" tab.


In the right pane, set the following settings under the "Module interface" tab.


The settings indicate the ESP8266 to be connected to the Arduino via the Hardware Serial (pins 0 and 1) at 115200 speed.

The settings also specify the name of the future access point and the password for the access point.

Step 3. Get the sketch for the Arduino

Press the "Get source code" button.

In the opened page with the source code of the sketch, download it to your computer (the link "Download code") and open it in the Arduino IDE.

Also, download the library RemoteXY (the link "Download Library") from this page.

The library being installed correctly, the source code for the sketch must be compiled without errors.

More information on installing the RemoteXY library for the Arduino IDE

Step 4. Set up the ESP8266

The ESP8266 module needs to be set up. Your module might already have the necessary default settings, but it is better to check it.

You need to check the following:

  • The module has a firmware supporting AT commands of the version no lower than v0.40;
  • The module is set up for the 115200 speed.

More information on configuring the ESP8266 to work with RemoteXY

Step 5. Connect the ESP8266 to the Arduino Uno

Connect the ESP8266 to the Arduino Uno according to the diagram below. Note that the RX-TX contacts are connected by a crosswire.

Since the ESP8266 module has 3.3V signal levels and the Arduino has 5V ones, it is necessary to use a resistive voltage divider to convert the signal level.


Step 6: Load the sketch into the Arduino

The sketch is loaded into the Arduino in the normal way. However, programming is not possible because the ESP8266 module is connected to pins 0 and 1, the compiler will show an error.

Before programming, disconnect the wires going to the ESP8266 from terminals 0 and 1. Fulfill programming. Then place the contacts back. Press the Arduino reset button.

Notice. Flickering of the blue LED on the ESP8266 module for half a second immediately after the reset is the first sign that the programming was successful. Blinking of the blue LED means the data exchange between the Arduino and the ESP8266. In these half-seconds, the Arduino configures the ESP8266 to work as an access point.

Step 7. Connect from the mobile application.

Install the RemoteXY mobile application on your smartphone/tablet.

Notice. Before connecting, it is necessary to connect manually your smartphone to the access point using the operating system settings in the iOS application. The Android application is able to independently switch the system to the access point of the device and return to the previous access point after disconnecting.

Press the new connection "+" button in the top panel in the application. In the window that opens, select the connection "WiFi access point".

In the iOS application, go to the system settings first and connect to the access point "RemoteXY" using the password "12345678". The connected access point must be displayed in the opened window. Press the "Connect" button.


In the Android application, turn on WiFi and press the update button for a list of available access points. Select the RemoteXY access point. In the window that opens, enter the password for the access point "12345678", press the "Connect" button.



If there is no connection ...

You can check the connection between the Arduino and the ESP8266 using the Serial Monitor, which you can open in the Tools tab of the Arduino IDE.

Open the Serial Monitor and set the speed to 115200. Press the reset button on the Arduino board.

Check for a properly loaded program

If there are no messages after the Arduino reset in the Serial Monitor, it might mean that the Arduino will not execute your program. It is possible that:

  • the sketch needed was not downloaded;
  • your Arduino is not on;
  • the Serial Monitor is not connected to the Arduino;
  • there is something wrong with your Arduino.

Check the connection between the Arduino and the ESP8266

If you see the following sequence of commands after the Arduino reset in the Serial Monitor, this means that the ESP8266 initialization is successful and there is a connection between the Arduino and the ESP8266:


AT 
AT+RST 
ATE0 
AT+CWMODE=2 
AT+CWDHCP=0,1 
AT+CWSAP="RemoteXY","12345678",10,4 
AT+CIPMODE=0 
AT+CIPMUX=1 
AT+CIPSERVER=1,6377 

If you only see repeating "AT" commands, this means that there is no connection between the Arduino and the ESP8266.


AT 
AT 
AT 
AT 

There may be no connection for various reasons. The main ones are listed below:

  • RX and TX pins are not connected correctly, the contacts are reversed, or not connected to the right contacts, or are not connected at all;
  • there is no power supply to the ESP8266, when the power is supplied to the ESP8266, the red LED must be lit;
  • there is not enough 3.3 V power supply for the ESP8266;
  • the ESP8266 module is defective.

Check the ESP8266 firmware

If after the Arduino reset in the Serial Monitor you only see the beginning of the commands sequence, but there is no end AT+CIPSERVER=1,6377 command, this means that the ESP8266 module has an obsolete firmware. Firmware upgrade is required.

More information on updating the ESP8266 firmware.

Check the power supply for the ESP8266

Your ESP8266 might not have enough power supply. Some Arduino cards have a weak 3.3V voltage regulator, which is not capable of delivering 200-300mA in peak modes. In this case, you will also see a break in the command sequence in the Serial Monitor.

It is possible that the power connection cables are too long or too thin.

Check the peculiarities of your smartphone

Some models of smartphones on Android base have some peculiarities of connecting WiFi access points, and the access point may not turn on automatically. Try to connect to the access point manually beforehand, using the system settings. After that, try to connect to the device from the RemoteXY application. If in this case the connection is established, your smartphone has that kind of peculiarity.