Promake WiFi M1
Description
The ProMake WiFi M1 Serial to WiFi module is a great way to connect your microcontroller projects to a WiFi network. This module is based on ESP8266 SOC and can be controlled via UART AT commands and supports TCP/UDP communication protocols.
ESP8266 is a highly integrated WiFi SoC solution to meet the continuous demands for efficient power usage, compact design and reliable performance in the industry. Besides the WiFi functionalities, ESP8266 integrates a 32-bit processor and on-chip SRAM As well as antenna switches, RF balun, power amplifier, low noise receiver amplifier, filters and power management modules. With the complete and self-contained WiFi networking capabilities, it can perform as either an stand-alone application or the slave to an MCU host.
Features
- WiFi Protocles:802.11 b/g/n
- Serial/UART baud rate: 115200 bps, changeable
- Integrated TCP/IP protocol stack
- Single 3.3V Operation
- UART communication, controlled via AT command, helps you get started quickly
- Supports STA, AP, and STA+AP three WiFi operating modes, embedded LWIP protocol stack, supports TCP/UDP communication
- PROG button, convenient for user to update module firmware
- Breadboard-friendly
Important Notes
- Due to I/O voltage tolerance of 3.6V (Max), it's strongly recommended to use level converters to connect to higher voltage devices (i.e. Arduino)
Resource
Module Pinout
Module Schematic
Software
Developement using Arduino
To set up the hardware, just plug this module into:
Module2
slot of your ProMake® Arduino Nano Kit
or
Module2
slot of your ProMake® Arduino Uno Shield
or
- Use your breadboard to connect the Power and UART lines.
To start coding you need to install:
- ESP_AT_Lib by Khoi Hoang
in your Arduino® IDE. Then use the following code to Connect to your wirless AP:
#define ESP_AT_DEBUG_OUTPUT Serial
#define _ESP_AT_LOGLEVEL_ 4
#define USE_ESP32_AT true
#include "ESP_AT_Lib.h"
#include <SoftwareSerial.h>
#define SSID "TYPE_YOUR_AP_SSID_HERE"
#define PASSWORD "TYPE_YOUR_AP_PASSWORD_HERE"
// Your board <-> ESP_AT baud rate:
#define ESP_AT_BAUD 9600
#define ARD_RX_ESP_TX 4
#define ARD_TX_ESP_RX 7
#define ESP_RST 8
SoftwareSerial softser(ARD_RX_ESP_TX, ARD_TX_ESP_RX); // Arduino RX = ESP TX, Arduino TX = ESP RX
#define EspSerial softser
ESP8266 wifi(&softser);
void setup(void)
{
Serial.begin(115200);
while (!Serial);
pinMode(ESP_RST, OUTPUT);
digitalWrite(ESP_RST, LOW); delay(50);
digitalWrite(ESP_RST, HIGH);
delay(1000);
Serial.println("\nStart ConnectWiFi");
Serial.println(ESP_AT_LIB_VERSION);
// initialize serial for ESP module
EspSerial.begin(ESP_AT_BAUD);
Serial.print("FW Version: ");
Serial.println(wifi.getVersion().c_str());
if (wifi.setOprToStation())
{
Serial.println("Set STA Mode OK");
}
else
{
Serial.println("Set STA Mode failed");
}
if (wifi.joinAP(SSID, PASSWORD))
{
Serial.println("Connect to WiFi OK");
Serial.print("IP: ");
Serial.println(wifi.getLocalIP().c_str());
}
else
{
Serial.println("Connect to WiFi failed");
}
Serial.println("Done");
}
void loop(void)
{
}