SHOP
LOGIN CART TRACK ORDER
  • Products
  • New Products
  • Most Popular
  • Sale and Clearance Items
  • BoardX
  • BoardX Components
  • BoardX Kits
  • Embedded Controllers
  • ARM
  • Arduino
  • Raspberry Pi
  • D1 and D1 Mini
  • Internet of Things (IoT)
  • Microcontrollers
  • RS232, Serial and USB
  • Prototyping Supplies
  • Breadboards
  • Buttons, Knobs, Switches
  • Connectors
  • Crimp Pins and Housings
  • Enclosures and Boxes
  • Headers and Sockets
  • Pogo Pins
  • Resistors, Trim Pots, Varisters
  • Relays
  • Wires and Jumpers
  • Surface Mount to DIP Adapters
  • Heat Sinks
  • Fans
  • Components
  • Capacitors
  • Integrated Circuits (ICs)
  • Resistors
  • LEDs and Lighting
  • RGB LEDs
  • 5mm LEDs
  • 10mm LEDs
  • Diffused Lens LEDs
  • Clear & Transparent Lens LEDs
  • LED Drivers
  • 10W LEDs
  • 50W LEDs
  • Sensors and Transducers
  • Current Sensors
  • Distance and Ranging Sensors
  • Infrared (IR) Sensors
  • Moisture Sensors
  • Sound Sensors and Microphones
  • Ultrasonic Sensors
  • Voltage Sensors
  • Temperature Sensors and Meters
  • IMU, Gyros, Accelerometers
  • Compass and Magnetometers
  • Speakers
  • Kits and Assemblies
  • Component Kits
  • Educational Kits
  • Robotics Kits
  • Networking
  • Power Over Ethernet (PoE)
  • LCD and OLED Displays
  • 7-Segment Displays
  • LCD Displays
  • OLED Displays
  • Actuators and Robotics
  • DC Motors
  • Servos
  • Power Regulation
  • Power Supplies
  • Voltage Regulators and Converters
  • Power, Voltage & Current Meters
  • Solar
  • Solar Panels
  • Solar Connectors and Supplies
  • Wireless Communications
  • Wifi, Radio, RF, RC & Wireless
  • Tools
  • Crimpers, Pliers and Clippers
  • Memory and Data Storage
  • Memory Cards and Sockets
ESP-03
$3.89 x
SOLD OUT!

ESP-03 ESP8266 Serial Wifi Module

TECHNICAL SPECS
  • SKU
    1530/1
  • Baud
    115200 bps
  • Integrated Circuit
    ESP8266
  • Voltage
    3.3 V
  • Do not exceed
  • Wifi Standard
    802.11 BGN
RELATED ITEMS
433 MHz Radio Pair - Transmitter and Receiver
433 MHz Radio Pair ...
$2.37 Add to cart
ESP-01 ESP8266 Serial Wifi Module
ESP-01 ESP8266 Serial Wifi ...
$4.79 Add to cart
ESP-07 ESP8266 Serial Wifi Module
ESP-07 ESP8266 Serial Wifi ...
$3.89 Add to cart
ESP-12E ESP8266 Serial Wifi Module
ESP-12E ESP8266 Serial Wifi ...
$4.83 Add to cart
$3.89 | SOLD OUT!

This tiny wifi Module is the perfect replacement for your NRF Radio! It's a great alternative to the popular NRF, because this lets you talk over Wifi using your MCU's serial UART via RS232!

We've got code examples, datasheets and schematics listed below to help you get started!

Package Contents

  • 1 ESP2866 Wifi Module

Helpful Links

  • NodeMCU Firmware - use Lua on this module to get your projects running quickly using a high level programming language - no other MCU needed!
  • LuaLoader - a simple programmer resembling the Arduino environment that works great for updating firmware and uploading Lua sketches to use with the NodeMCU firmware
  • Datasheet in English - use this to learn the configuration
  • Example Code, Project and Configuration - learn how to uise the chip's configuration software to edit defaults

Specifications and Features

  • Default Baud Rate: 115200
  • Warning: 3.3V Power Only - do NOT attempt to use 5V because it may fry this chip!
  • 802.11 b / g / n
  • Wi-Fi Direct (P2P), soft-AP
  • Built-in TCP / IP protocol stack
  • Built-in TR switch, balun, LNA, power amplifier and matching network
  • Built-in PLL, voltage regulator and power management components
  • 802.11b mode + 19.5dBm output power
  • Built-in temperature sensor
  • Supports antenna diversity
  • "Off" leakage current is less than 10uA
  • Built-in low-power 32-bit CPU: can double as an application processor
  • SDIO 2.0, SPI, UART
  • STBC, 1x1 MIMO, 2x1 MIMO
  • A-MPDU, A-MSDU aggregation and the 0.4 Within wake
  • 2ms, connect and transfer data packets
  • Standby power consumption of less than 1.0mW (DTIM3)

Code Example of a Server

/**********************************
  UPGRADE INDUSTRIES Micro License:
  Copyright UPGRADE INDUSTRIES
  This software is free to use,
  modify, and sell, but this notice 
  MUST REMAIN INTACT at the top of 
  software as it appears now. 
**********************************/

// Description: This software will listen for a connection
//  from a remove computer and print out what it receives


#include <SoftwareSerial.h>
#include <ByteBuffer.h>

// 1. Edit these:
#define SSID "SSID"
#define PASS "PASSWORD"
#define LISTEN_PORT 6000


// 2. Verify this:
// Change this to the Serial path connecting 
// to your ESP8266 module
#define ESP8266 Serial


// Used to create dummy code that doesn't actually print
class DummySerial{
public:
  DummySerial(int rx, int tx){}
  void begin(int baud){}
  void println(String str){}
  void print(String str){}
  void print(const __FlashStringHelper* str){}
  void println(const __FlashStringHelper* str){}
  void print(int num){}
  void println(int num){}
  void print(const char* str){}
  void println(const char* str){}
};

// 3. Check this
// You have to define alternative debug serial
// if you need to monitor this program with a terminal
SoftwareSerial SoftSerial2(10, 11); // RX, TX
DummySerial DummySerial(10, 11);    // RX, TX - doesn't matter
                                    // because it won't 
                                    // print anything

// 4. Set this: - Choose whether to not print any debug or 
// to route to SoftwareSerial                                    
// #define DEBUG SoftSerial2
#define DEBUG DummySerial

//Connect to accept point and setup MUX mod
boolean connectWiFi()
{
  //set mode to connect to an AP
  ESP8266.println("AT+CWMODE=1");
  delay(1000);
  if(ESP8266.find("OK"))
  {
    DEBUG.println("OK, Set Mode.");
  }
  else
  {
    DEBUG.println("Can not set mode.");
    return false;
  }

  //Setup connection command
  String cmd="AT+CWJAP=\"";
  cmd+=SSID;
  cmd+="\",\"";
  cmd+=PASS;
  cmd+="\"";
  
  DEBUG.println(cmd);
  ESP8266.println(cmd);

  delay(2000);
  
  if(ESP8266.find("OK"))
  {
    DEBUG.println("OK, Connected to WiFi.");
  }
  else
  {
    DEBUG.println("Can not connect to the WiFi.");
    return false;
  }

  return true;
}


boolean enableMultiConnect(){
   ESP8266.println("AT+CIPMUX=1");
   return ESP8266.find("OK");
}


void printMyIp(){
  ESP8266.println("AT+CIFSR");
  while (ESP8266.available()){
    DEBUG.write(ESP8266.read());
  }
}


//Create a connection to send data to something.
boolean connect(int connection, String type, String ip, int port){
  
  String cmd = "AT+CIPSTART=";
  cmd += String(connection);
  cmd += ",\"";
  cmd += type;
  cmd += "\",\"";
  cmd += ip;
  cmd += "\",";
  cmd += String(port);


  DEBUG.print(F("Telling device to connect on connection ["));
  DEBUG.print(connection);
  DEBUG.print(F("] to address ["));
  DEBUG.print(ip);
  DEBUG.print(F("]\n"));
  DEBUG.print(F("] on port ["));
  DEBUG.print(port);
  DEBUG.print(F("]\n"));

  delay(1000);
  ESP8266.println(cmd);
  DEBUG.println(cmd);

  if(ESP8266.find("OK"))
  {
    DEBUG.println("...connected");
  }
  else{
    DEBUG.println(F("Could not create connection."));
    return false;
  }

  return true;

}

//setup server to listen on a specific port for both UDP and TCP
boolean listen(int connection, int port){
 

  String cmd = "AT+CIPSERVER=";
  cmd += String(connection);
  cmd += ",";
  cmd += String(port);

  DEBUG.print(F("Telling server to listen on connection ["));
  DEBUG.print(connection);
  DEBUG.print(F("] on port ["));
  DEBUG.print(port);
  DEBUG.print(F("]\n"));

  DEBUG.println(cmd);
  ESP8266.println(cmd);
  delay(1000);
  for(int i=0;i<5;i++)
  {
    if(ESP8266.find("OK"))
    {

      return true;
    } 
    else
    {
      DEBUG.println("Could not setup server to listen.");
      
    }
    delay(25);
  }
  return false;
}


boolean sendData(int connection, String data){


  String cmd = "AT+SEND=";
  cmd += String(connection);
  cmd += ",";
  cmd += String(data.length());

  DEBUG.print(F("Sending data to connection ["));
  DEBUG.print(connection);
  DEBUG.print(F("]"));
  
  DEBUG.println(cmd);
  ESP8266.println(cmd);
  delay(100);
  if(ESP8266.find(">"))
  {
    DEBUG.println("...sending");
  } 
  else
  {
    DEBUG.println("Could not send data");
    return false;
  }

  DEBUG.println(data);
  ESP8266.println(data);
  delay(1000);
  if(ESP8266.find("OK"))
  {
    DEBUG.println("...sent");
  } 
  else
  {
    DEBUG.println("Could not send data.");
    ESP8266.print("AT+CIPCLOSE=");
    ESP8266.println(String(connection));
    return false;
  }

  return true;

}


boolean resetESP8266(){

 //test if the module is ready
 ESP8266.println("AT+RST");
 delay(1000);
 
  if(ESP8266.find("ready"))
  {
    DEBUG.println("Module is ready");
    return true;
  }
  else
  {
    DEBUG.println("Module had no response. Reset and try again..");
   
    return false;
  }
}

void ATPing(){
  ESP8266.println("AT");
}

void setup()
{
  // Open DEBUG communications and wait for port to open:
  ESP8266.begin(115200);
  DEBUG.begin(9600);
  DEBUG.println("UPGRADE INDUSTRIES Wifi Server Demo");


  //connect to the wifi (try several times)
  boolean connected=false;
  for(int i=0;i<5;i++)
  {

    if(resetESP8266())
    {

      delay(1000);

        if(connectWiFi())
        {
          // all good 
          connected = true;
          break;
        }

      delay(2000);
    }
    else
    {
      //error
      DEBUG.println("Couldn't connect to access point.");
    }
  }
 
 if(connected){

    //Setup mode for multiple connections
    enableMultiConnect();
    delay(1000);
    printMyIp();
    delay(1000);

    if(listen(1, LISTEN_PORT))
    {
      delay(1000);
    }else{
      // ERROR - coundn't listen to port
      DEBUG.println("Couldn't listen to port.");
      while(1);
    }

  }else{
    //ERROR - Not connected
    DEBUG.println("Not connected.");
  }

  ATPing();

}

void loop()
{

  if(ESP8266.find("OK")){


    // Uncomment to print out results
    while(ESP8266.available()){
      DEBUG.write(ESP8266.read());
    }

  }
  else
  {
    
  }
  delay(100);
}

  • About Us
  • Licensing and Copyright
  • Privacy Policy
  • Shipping and Return Policies
  • Wholesale, Resellers, and Educational Discounts
LOGIN CART TRACK ORDER
All communications encrypted via SSL
We Accept Visa, MasterCard, American Express, Discover via Stripe
Payments by PayPal