Skip to content

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)
{
}

Developement using Raspberry