Category: BlueTooth/WIFI

Introducing a new ESP8266 Development Board with an ESP-12, a 3x AA battery holder, a voltage regulator, an RGB LED, several red LEDs, and a light sensor LDR on the ADC input all on one board.

The board can be controlled by an open source Android App which is available from the AI-THINKER Website.

GPIO pins are extended with berg pins for easy external connections. RXD,TXD & GND pins are provided for programming / firmware upgrading. A yellow jumper is provided to pull GPIO0 pin to GND during programming. During normal operation this jumper must be removed.

The board is powered by 3 nos AA batteries , for which a battery box is already wired. On board 3.3v regulator is provided for a stable power supply.

No power switch or Reset switch is provided. To switch off you need to pull out one of the batteries.

The board comes pre-loaded with a demo which does actually seem to work. If you have an Android based phone or tablet you can download AI-Thinker’s app to control and mix the color balance on the RGB LED and to switch the other LEDs on and off.

There are also 6 red LEDs fixed with the necessary resistors connected to GPIO16, GPIO14, GPIO5, GPIO4, GPIO0 and GPIO2. A BLUE LED is always ON if the board is powered.

The GPIO13, GPIO12 and GPIO15 are connected to a RGB LED which allows you color mixing using PWM.

ADC

The analog-digital converter is also available on a pin & connected to a light resistor. This lets you quickly test the ADC and you still can clip the resistor off if you want to measure another analog source.Remember the range of ADC is max 1v & not 0 to 3.3v

If you don’t want to use the light sensor or the LEDs you can simply clip them off. Then you’ll just have an ESP8266 with 3xAA power supply, 9 available GPIO pins and one ADC.

Open the Settings & enable WIFI of the Android phone.Now power on the ESP board to see the AI-THINKER SSID on your mobile.

PAIR this with the ESP board using password ai-thinker

Now open the app & touch on LED 1 to 6 , to see the corresponding light glowing on the ESP board.On the top you can see 3 icons with sliders in the App. Use this to mix colors on the 3 color LED of ESP board.

Once the functioning of board is verified , you can proceed to connect the GPIO pins of ESP board with a 4 channel Relay board.

The 4 channel relay board used requires a separate power source of 5V, 1amp.For demo 2 of the GPIO pins are connected to relay 1 & relay 3.The GND pins of both ESP & the Relay. board to be made common.

You can watch this video to learn the home automation basics with ESP board :

ESP8266 WIFI Module comes with an inbuilt firmware which supports serial interface and can be controlled using AT commands. Even though we can use this module to offer WiFi functionality from another micro controller ,this module is not just a simple serial to WiFi transceiver .

I used a USB – TTL converter between my ESP-01 board & PC. As the ESP device requires 200ma current which cannot be sourced from USB-TTL module , I used a separate power source 5v/1Amp adaptor followed by a 3.3v regulator ( 1117 3.3v).

Please note that while I used a separate power source for ESP module , the operation was smooth.

I connected the ESP module with USB-TTL board as per following wiring diagram :

CH-PD is CHIP ENABLE which is directly connected to +3.3v

RST is pulled HIGH through a 2k2 resistor.A press switch is connected to GND , so that when it is pressed RST pin is grounded.

TX of ESP is connected to RX of USB-TTL module

RX is connected to TX .

Vcc is connected to +3.3v of the external Regular. GND is made common for all , i.e GND of ESP ,USB-TTL & that of 1117 regulator are ALL MADE COMMON.

GPIO0 pin is connected to GND to upload firmware.

After uploading firmware , this GPIO0 connection must be removed from GND.

The USB-TTL converter I used is built on Silicon Labs CP2102 chip which is highly reliable one.The other type available in the market is built on Prolific chip (Chinese one , not original) , which has got some issues with driver installation .

I connected the USB-TTL board to my PC & from the Device Manager I noted the Port allotted .

COM port COM9 is allotted.

Next , I browsed to the folder where I’ve already downloaded the 2 required files , one is the simple flasher & the other one is the latest firmware to be uploaded.

On double clicking the esp8266_flasher .exe file , I got this Downloader window open

I clicked on the BIN button & browsed to the location of the folder to select firmware.bin file.

Before clicking the DOWNLOAD button I changed the COM port number , where USB-TTL is connected to PC.

The default address 0x000000 is automatically displayed after COM port

First time when I clicked the Download button I got “Failed to connect” error.

This was because I’ve connected GPIO0 to GND after the power to ESP board is ON.

GPIO0 pin must be at GND level when the power is initially provided to the ESP module.

Second time when I clicked on the Download button , Writing started but abruptly failed .

You can see the “Failed to write to target Flash” message in the screenshot below .

After repeated trials I finally found that , connecting 100uf capacitor between Vcc & Gnd

solved the problem.

Finally I hit the Download button and waited for the flashing process to complete. The STATUS BLUE LED blinked fast while the uploading was going on.

“ Failed to leave Flash mode “ message after 99% writing ,does not affect the flashing process in any way and can be ignored.

After the firmware flashing, ESP8266 module settings changed. The default baud rate now is 9600 & can be modified using AT+CIOBAUD command.

It is even possible to cloud update ESP8266 Wi-Fi module firmware using AT+CIUPDATE command.But I suggest you not to try this cloud update , as it’s got some issues.

Following screen shot shows the PUTTY terminal which I’ve opened on a different PC with a different IP.

On clicking OPEN button , the ESP Terminal at the other end will respond with

0,CONNECT

This means a connection established on channel 0.

Now type in some characters on the distant PC terminal.

The ESP terminal responds with

+IPD,0,21:characters received

which indicates , it has received 21 characters on channel 0.

The screen shots with HUAWEI symbol (IP 117.252.205.55 ) is that of TERMINAL where ESP module is connected & the screen shot of distant PC is shown with the IP address 180.215.121.135

To send characters from ESP , use the AT command :

AT+CIPSEND=0,15

This indicates that you want to send 15 characters on channel 0.

The ESP will respond with a > symbol & waits till you type 15 characters.

The distant PC now receives the 15 characters you typed inside ESP terminal.

Hence a two communication is established with ESP Terminal & a PC from anywhere in the world.This opens the door for INTERNET OF THINGS where you can control the devices connected to ESP from anywhere in the World.

In the previous post we’ve seen the ways to control the ESP8266 WIFI module from anywhere in the world.The key to success depends on the PORT FORWARDING , where we route the contact on particular port to the local IP address of the WIFI module.

Nowadays USB dongles are used widely for internet access .This post will help you troubleshoot PORT FORWARDING.

Following is the SETUP diagram .

TPLINK ROUTER is on the top of the NETWORK. An MTS USB dongle is plugged to TPLINK Router (model TL-MR 3420 with 3G/4G support).

A Laptop is connected to TPLINK Router on Ethernet using RJ45 cable.

A USB to TTL board is connected to PC on which the ESP 8266 module is wired.

The ESP module is linked to TPLINK Router on WIFI using the AT Command AT+CWJAP=”SSID”,”password”

On switching ON the ROUTER , it assigns LOCAL IP address to the modules connected to it either on RJ45 (wired) or on WIFI.

In our set up the LAPTOP which is connected by wire is assigned 192.168.0.100

& the ESP module which is connected on WIFI is assigned 192.168.0.101.

Note that the allotment of address is on first come basis.When you power off & on the Router again , this allotment may vary.

You can RESERVE the address by selecting the DHCP tab of TPLINK configuration.Here select

Address Reservation & then feed in the MAC address of the devices you’ve connected to the Router.

These are reserved by IANA for private Intranets & NOT ROUTABLE TO INTERNET.

Private addresses are not reachable on the Internet. Therefore, Internet traffic from a host that has a private address must either send its requests to an Application layer gateway (such as a proxy server), which has a valid public address, or have its private address translated into a valid public address by a network address translator (NAT) before it is sent on the Internet.

In my case , the MTS ISP provider hide the PUBLIC IP address.

The MTS dongle does not support VIRTUAL SERVER settings , which means PORT FORWARDING IS NOT POSSIBLE with MTS.

What I couldn’t understand was , while writing my previous blog ,it worked sometimes.While MTS customer support was contacted repeatedly , they finally accepted that port forwarding is blocked by them.

After sleepless nights I’ve found a solution….. Read on my next post ….

In the previous posts we’ve tested the WIFI module in TCP Server/Client mode & how to control from an Android mobile.These are related to LAN – Local Area Network where the WIFI module & Mobile are connected to the same ACCESS POINT (AP).

The AP I’ve used is a WIFI Dongle MTS MBLAZE. For the outside world to contact the ESP module connected to MTS , PORT FORWARDING should be done. This is a method by which the IP address of ESP module is forwarded , so that any one accessing the particular port of external IP will land on the ESP module.

The problem is WIFI Dongles do not allow Port Forwarding . As I’ve previous experience in CCTV DVR port forwarding (you can watch my video on DVR port forwarding Here ) using land line Internet connection , I decided to apply the same technique for ESP WIFI.

Select Protocol as TCP & enter the port number 333 under Specific Local Ports.

Select “Allow the Connection “.

Apply rule to all Domain,Private & Public.

You can name the rule & click Finish to save it.

STEP 5 :Know your External IP & Port Open Condition

The Router is accessed from outside world by its external IP. This external IP is assigned by the ISP provider.Generally this IP is DYNAMIC ,which means every time you switch on your Router , a different IP is assigned.

ESP8266 is an UART to WiFi module, a really cheap and easy way to connect any small microcontroller platform (for example Arduino) wirelessly to Internet.

The ESP8266 is now one of the leading platforms for the Internet of Things. It’s super cheap, and super easy to work with.

This is a serial module with a built-in TCP/IP stack, so you can use it standalone

You can use AT commands to connect with WiFi networks and open TCP connections without need to have TCP/IP stack running in your own microcontroller: You can simply connect any microcontroller to ESP module and start pushing data up to internet.

There are several module designs called ESP-x where x is 1 to 12, so far.

I am using the ESP-1 module. The new firmware is set at 9600 baud. provides the same 2×4 connector, Tx,Rx , RST, CH_DP(chip enable), and two GPIOs, GPIO0 and GPIO2.

ESP8266 is 3.3v device & cannot tolerate 5v levels.

Make sure you pullup the CH_DP and the RST line. I used 3k3 resistor to pull up RST to +Vcc.

CH_PD is directly connected to +3.3v .Unless you connect CH_PD to Vcc , you won’t get any response from the module. The firmware boots up only on this connection.

So far it seems you can leave the GPIOs floating. For upgrading the firmware , however , the GPIO0 must be grounded.

The current consumption of the module is 80mA at idle state & it can draw as much as 300mA during operation.

Vcc: 3.3V, up to 300 mA

GND: Ground

Tx: UART Tx of the module, to be connected to the Rx of the microcontroller

Rx: UART Rx of the module, to be connected to the Tx of the microcontroller

RST: Reset/Restart, pull to GND to restart

CH_PD: Chip enable, used for flash boot .

GPIO0: pulled low for update mode

GPIO2: not sure yet???

I used a USB to TTL converter for connectivity between PC & WIFI module.The converter has 3.3v output which is used to power the WiFi module. It has also a +5v supply out.

Care has to be taken with power supply as the unit is to be powered at 3.3V and using 5V will probably kill it.

For ease of connections I’ve used a Breadboard.The connection details are as below :

WIFI Module USB-TTL

Vcc — 3.3v

Gnd — Gnd

Tx — Rx

Rx — Tx

CH_PD — connected to 3.3v to enable chip firmware boot.

RST — connected to 3.3v through 3k3 resistor

CH_PD pin acts as an enable signal, without it the board is mute and deaf. If CH_PD is not pulled HIGH , you won’t get any response from the module.

Once you connect this last pin to VCC (remember 3.3V) the module is brought to life, and after some garbage in the serial port you can read the word “ready”. Once you get there things will start to get interesting.

The USB-TTL converter I used required a driver “Prolific 2303” to be installed.After installing the driver , I got the port allotment under device manager while the converter is connected to a USB port of PC.

A serial Terminal software PuTty is used to communicate with the port where USB-TTL converter is connected.

Open PuTty & select Serial .Feed in the port number seen under Device manager (here it’s COM41) & speed as 9600 (Baud Rate).

Click on OPEN button to see the Terminal black window.

Try to type in AT .If you do not get any response , just momentarily connect the RST pin of module with GND.

You get some garbage data initially & then the address of the vendor “www.ai-thinker.com”

followed by the firmware version & then “ready”

Now type in AT .The module will respond with OK. If not ,close the Putty window & again open it & proceed with above steps.

AT+GMR will return the current firmware version.

Generally , you can inquire the module with AT command followed by question mark ?

or you can assign a value , by using equal to = , after the AT command.

All AT commands must end with a “\r\n” – a carriage return & a New Line.

But the magic starts once you try AT+CWLAP command, that will provide you a list of available wifi access points in the area.

The command AT+CWLAP will list access points in range. This was very encouraging, not only is my access point (MBLAZE..) on the list, but the ESP can see at least as many access points as my laptop can .

In the above screen shot you can see my AP “MBLAZE..” is WPA2_PSK (3) password protected.You can see some other APs which are open & not protected with password .They are listed with ecn 0.

Next you want the board to join a certain access point (most of us want the board to act as a STA or WIFI client that will connect to an access point). That behavior is selected with the AT+CWMODE=1. You will need to reset your board after making this selection.

To connect to your home/office access point you issue the command AT+CWJAP=”yourSSID”,”yourWifiPassword”

The good news is that from now, every time you power the board it will try to connect to the same wifi network. You can see if it was successful by checking your router’s DHCP client list.

Even if the power is removed , the ESP module will remember the joined AP .

You can make it forget by issuing the QUIT command AT+CWQAP

Alternatively you can check your module IP address with command AT+CIFSR. Once you know your board’s IP address you can try pinging it from your computer.

In the upcoming posts we shall investigate the module in TCP client and server modes.

It is quite simple to pair a Bluetooth module from your Android phone.But bit tricky to pair it with another HC-05 module.In this post I’ll describe the method of pairing 2 BT modules.One of the module is assigned ROLE as MASTER & the other left as SLAVE.

By default all HC05 modules are SLAVEs.Using AT commands the module can be configured as we like.

To configure the SLAVE we make use of an Arduino UNO board.Not much of configuration needed for slave.We can leave it to defaults.But to know the ADDRESS of the slave you’ve to follow this procedure.

Before connecting the HC05 module , upload an empty sketch to Arduino. This bypasses the Boot loader of UNO & the Arduino is used as USB-UART converter.

void setup() {}

void loop() {}

After uploading this empty sketch,remove USB power from Arduino & do the following connections with HC05 Slave :

——————————————-

ARDUINO HC05

Rx(pin0 ) —> Rx Remember it is one to one connection here & not cross connection

Tx (pin1) —-> Tx

+5v ——-> VCC

GND ——-> GND

+3.3V ——–> KEY

————————————————-

Now provide the USB cable power to Arduino.The HC05 module enters the Command mode with Baud Rate 38400.

Open the Serial Monitor of Arduino .

Ensure to select “BOTH NL & CR” & Baud Rate as 38400 at the bottom of the serial monitor.This is very important as the Bluetooth module HC05 expects both Carriage Return and Line Feed after every AT command.

If you type in AT & click on SEND button you should get an OK confirmation from the HC05 module.

If you get ERROR(0) try again to enter the Command mode.If there is no response then check whether correct COM port has been assigned in Arduino IDE & confirm Baud Rate is 38400 , “Both NL & CR” selected.

Type in AT+NAME? to get the name of the module.You can change the name as you like with

AT+NAME=HC05_SLAVE

The password by default is 1234 .Confirm that with AT+PSWD?

The ROLE of the module can be known by typing AT+ROLE?

You can change it by AT+ROLE=0 0 for SLAVE & 1 for Master. Leave it as 0 as we want this module to be SLAVE.

You should know the Address of this module to make it PAIR with another.Type in

AT+ADDR?

& note the Address.Here it is 14:2:110007.

While using this address in AT commands you should replace the colon with a comma , like

14,2,110007

Now remove the KEY connection from the HC05 module & disconnect the power.

Again provide the power to see STATUS LED on the module blinking fast indicating that it is looking for a PAIR.

MASTER Module setup

To configure another module as MASTER a simple USB to TTL converter is used.

Following are the connections between HC05 & USB-TTL module.

————————————————

HC-05 USB-TTL

VCC —–> +5V

GND —–> GND

Tx ——> Rx Note the CROSS connection here

Rx ——> Tx

KEY ——> +3.3V

————————————————-

We make use of a Terminal Software TERATERM to configure the MASTER.The advantages of this Terminal software are

– It supports CR+LF Carriage Return and Line FEED after each command , which is a must for HC05

Open the TERATERM terminal & select SERIAL & the port number where the USB-TTL module is connected.

Under SETUP –> Terminal select CR+LF for TRANSMIT

Also check mark “Local Echo “ so that you see what you type.

Under SETUP –> SERIAL PORT select the Baud Rate as 38400 , 8N1

If you type in AT you should get an OK response.

Reset the module by issuing AT+ORGL which restores the module to original state.

You can change the name to user friendly one by typing AT+NAME=usergivenname

AT+RMAAD will release the module from any previous PAIR.

AT+PSWD=1234 to set the password as 1234

AT+ROLE=1 changes the ROLE of the module to MASTER

AT+CMODE=1

Allows connecting to any address.

Default is CMODE = 0 which allows connection to only bound address.

Start SPP profile library (needed to do any Bluetooth transmitting/receiving):

Serial Port Profile (SPP)

While Bluetooth specifications define how the technology works, profiles define how it’s used.

If you’re replacing a serial communication with Bluetooth, SPP is the profile for you. SPP is great for sending bursts of data between two devices. It’s is one of the more fundamental Bluetooth profiles.

Using SPP, each connected device can send and receive data just as if there were RX and TX lines connected between them.

Initialize the SPP Profile library by typing

AT+INIT

If you get ERROR(17) , it means you’ve already issued this command & you can continue ignoring the error.

Start searching:inquire surrounding bluetooth devices

AT+INQ

A short list of devices found should appear, one of them will be the slave module.

The format of the output is as follows:+INQ:address,type,signal e.g. 14:2:110007,0,7FFF

Type can be ignored. The signal will be 7FFF since inquire is in standard mode.

Copy the address part of the devices found, for example 14:2:110007 and change the colons to commas – 14,2,110007.

To find out which device is the slave module you will need to query each address for its name:AT+RNAME? <address>

Replace <address> with address of device like 14,2,110007

Response should be +RNAME:HC05_SLAVE if you’re using a master module as a slave.

And now to actually connect to the SLAVE

AT+LINK=<address>

AT+LINK=14,2,110007

You can watch the status LEDs of both slave & master.The fast blinking Status LED starts flickering slowly & the Pairing LED goes steady.

Now you can remove the KEY connection from master & Reset the module by removing the power & connecting back.

On powering back the MASTER ,the Slave gets paired with it automatically which can be verified by the LEDs on board.The paired devices are remembered even after disconnecting power.

Now these two modules can replace the physical serial connection of your project.

Bluetooth networks (commonly referred to as piconets) use a master/slave model to control when and where devices can send data. In this model, a single master device can be connected to up to seven different slave devices. Any slave device in the piconet can only be connected to a single master.

The master coordinates communication throughout the piconet. It can send data to any of its slaves and request data from them as well. Slaves are only allowed to transmit to and receive from their master. They can’t talk to other slaves in the piconet.Maximum 7 devices are allowed in this piconet network.

The Bluetooth module HC-05 is a MASTER/SLAVE module.The Role of the module (Master or Slave) can be configured only by AT COMMANDS.

By default the factory setting is SLAVE.

This post walks you through the AT commands of Bluetooth module .Through AT Commands you can change the ROLE of the module. Name,Password of the Module can be changed .The list of AT commands can be downloaded HERE

Remember the models HC-04 or HC-06 are SLAVE only modules .HC-05 is the module of interest in this post.To identify the model you can see the pin count.If the module has 5 or 6 pins it is HC-05.If the module has only 4 pins then it is HC-04 or HC-06.

The firmware for HC04 is LINVOR & for the HC05 it is HC05 itself.If you scan for bluetooth devices from your Android phone you can see this name.

The extra pins in HC-05 are the KEY & STATE pins.The KEY pin is used to enter the Command mode.

HC05 Pin count is 6MASTER/SLAVE HC-04 Pins 4 SLAVE ONLY

The slave modules can not initiate a connection to another Bluetooth device, but can accept connections.Master module can initiate a connection to other devices. Be sure not to make the mistake of buying 2 slaves (HC-04) .

To enter the Command mode you can either use an USB TO TTL Module or your Arduino UNO board.

OR

USB TO TTL DEVICE ARDUINO UNO

First let me explain how to use the Arduino board for the configuration.We need to use the USB – UART portion of the Arduino board bypassing the bootloader function of ATMEGA328.For this connect the Arduino to PC & just upload an empty sketch

————————–

void setup()

{

}

void loop()

{

}

————————–

Connect Rx (pin 0) of Arduino to Rx of Bluetooth module.

Tx (pin1) of Arduino to Tx of Bluetooth module.

Yes,I’m correct.The connection is one to one while using Arduino as USB-UART board.It is not the other way (Tx to Rx while using USB-TTL board).

Before connecting the power to HC05 module you should know that there are there are two ways of activating command mode on these devices.

One is to hold pin 34 high (KEY) as the device is powered on and it should enter command mode at 38400,8,N,1

The other is to hold pin 34 low then set it high after the module has been powered on and it will enter command mode at the pre-programmed speed (default is 9600,8,N,1).

Let us complete all the connections and finally provide power to the module.

HC-05 ARDUINO

Tx –—> Tx (1)

Rx –—> Rx (0)

Vcc ––> 5v

GND –-–> GND,

KEY –—> 3.3V

Now provide the power to the module by connecting USB cable to Arduino

The Status LED starts blinking slowly (once per 2 secs).This indicates that the module has entered the command mode at the BAUD RATE 38400.

You can use the SERIAL Monitor of the Arduino to feed AT commands.

At the bottom of the SERIAL monitor ensure that you select “BOTH NL & CR” .This will feed /r/n after each command.Generally while using Arduino ,the println() statement), appends both carriage return and newline .(In case of PIC or 8051 you should add terminator ( “0x0d 0x0a”) to the program.)

HC 05 module needs a CARRIAGE RETURN & LINE FEED after each command .

Now open the Serial monitor of Arduino with settings BOTH NL & CR , Baud Rate 38400

Type in AT & click on Send.

You should get a OK response from the module.

The default ROLE of HC-05 is SLAVE .To change this to MASTER type in

AT+ROLE = 1

The module responds with OK.

To confirm , type in AT+ROLE ?

The module will reply the status as ROLE 1.

You can also use a Terminal software like TERATERM to feed the AT Commands.

Close the Serial monitor of Arduino & then start the TERATERM terminal.

Select Serial at the start up window of TERATERM.

Under SETUP –> Terminal select CR+LF of Transmit & tick mark the LOCAL ECHO (to see what you type)

Under SETUP –> SERIAL PORT select the BAUDRATE 38400 , 8N1

Now you are ready to feed the AT commands.

To query a condition like Name, Password ,etc. you need to use a ? question mark after the command.

To change the condition use the equal to mark = after the command.

For e.g to query about password you type in AT+PSWD?

To change the password you type in AT+PSWD=1234

In the next post we shall see how to pair 2 nos. HC-05 modules so that it can replace the physical Serial connection.This can be an alternative to ZIGBEE , but with less range and more data speed (2Mbps).

The easiest & economical way to go wireless in an Embedded project is through a Bluetooth module.Your Serial communication goes Wireless using this module.

The types available in the market are HC-04 , HC 05 & HC06 .The HC 05 is a Master/Slave module & the other two models are Slave only models.The Slave only models need a Master like Android phone to get paired.

HC05 model can be configured either for a Master or for a Slave mode , thus most preferred for a Microcontroller project.

The HC-05 module can build a connection to other modules, while HC04/HC-06 modules can be a slave only.Two Slave modules cannot communicate with each other themselves.

HC04 is factory loaded with LINVOR firmware.If you power up the module and scan for Bluetooth devices using your Android phone , you can see the name LINVOR on the phone.If the module is HC05 , you see the name HC05 on the phone.

The square wave like design on the top of module acts as antenna & the range is about 30 feet.

The specifications of different models of Bluetooth module is on this Wiki page :

Above is the picture of a raw HC05 Bluetooth module .The module operates on 3.3 V DC power & the acceptable TX/RX signal level is 3.3v & not 5v. The KEY pin (pin 34) on a HC05 module plays an important role in entering AT mode of the module.

I suggest to buy a module on a breakout board and available as JY-MCU modules.The Bluetooth module is mounted on a breakout board and connections provided using header pins.You can safely provide 5v power to this board, as it has an inbuilt 3.3v regulator.Also the board has Status LEDs for visual indication of status of module.

The module is covered with a plastic transparent sleeve.If you need to access all the pins , cut this sleeve out.Mostly the header pin connections extended is enough for connection to a microcontroller.

To connect this module to a Laptop an USB to TTL converter board built on Prolific’s 2303 IC is required.

This is an inexpensive module with USB at front & header pins for connections.When connected to PC you need to install the driver for Prolific 2303.