- On sale!

Reference: 984
Heat Shrink Tubing 2:1, Eventronic Electrical Wire Cable Wrap Assortment Electric Insulation Heat Shrink Tube Kit (1 pcs) Please Choose Size Below
Reference: 1354
Length: 8.5 inches (Medium) Material: Copper Plated.EachPin Spacing: 2.54mm.Color: Colorfulcompatible with 2.54mm mil spacing pin headers.It can be used for PCB project, pc motherboard, etc.Allow you to plug and unplug easily for prototyping.Package Contents: 1 x Jumper Wire You will get only one pcs.
Reference: 31
3 Types Available 1. Male to Male 2. Male to Female 3. Female-Female
Reference: 245
Choose your desire Resistor value from below:
Reference: 94
Arduino UNO in Bangladesh The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller.
The GPRS Shield provides you a way to use the GSM cell phone network to receive data from a remote location. The shield allows you to achieve this via any of the three methods:
The GPRS Shield provides you a way to use the GSM cell phone network to receive data from a remote location. The shield allows you to achieve this via any of the three methods:
The GPRS Shield is compatible with all boards which have the same form factor (and pinout) as a standard Arduino Board. The GPRS Shield can be configured and controlled through UART by simple AT commands. Based on the SIM900 module from SIMCOM, the GPRS Shield is like a cell phone. Besides the communications features, the GPRS Shield has 12 GPIOs, 2 PWMs and an ADC.
For SIM900’s Specifications, please refer this PDF file: SIM900_SPEC.pdf
Item | Min | Typical | Max | Unit |
---|---|---|---|---|
Voltage | 4.8 | 5.0 | 5.2 | VDC |
Current | / | 50 | 450 | mA |
Dimension(with antenna) | 110x58x19 | mm | ||
Net Weight | 76±2 | g |
We have produced a lot of extension boards that can make your platform board more powerful, however not every extension board is compatible with all the platform boards, we use a table to illustrate how are those boards compatible with platform boards.
Note
Please note that “Not recommended” means that it might have chance to work with the platform board however requires extra work such as jump wires or rewriting the code. If you are interested in digging more, welcome to contact with techsupport@seeed.cc.
LED | State | Function |
---|---|---|
Status | Off | Power Off |
On | Power On | |
Netlight | Off | SIM900 is not working |
64ms On/800ms Off | SIM900 does not find the network | |
64ms On/3000ms Off | SIM900 finds the network | |
64ms On/300ms Off | GPRS communication |
Insert an unlocked SIM card into SIM Card Holder - 6 Pin Holder for SIM Cards. Both 1.8 volts and 3.0 volts SIM Cards are supported by SIM900 - voltage type of the SIM card is automatically detected.
Make sure the antenna pad buckled properly - A miniature coaxial RF connector is presented on the GPRS Shield board to connect a GSM Antenna. The connector presented on the GPRS Shield is called a U.FL connector. The GSM The Antenna being attached on the GPRS Shield has an SMA connector (and not an RP-SMA connector) on it. A patch cord is also supplied with the GPRS Shield to interface the antenna to the board. The connection topology is shown in the diagram below:
GPRS communicate with arduino by software serial | GPRS communicate with arduino by hardware serial |
---|---|
![]() |
![]() |
Hardware trigger Press the power key for about 2 seconds to power up or power down.
Software trigger You can power up/down the shield through D9 pin of Arduino by adding software triggering in your firmware.
Note
The JP for pin 9 on the shield must be soldered in order to use software power up/down.
As the timing of turn on/off , a >1s pulse was needed to trigger the turning, and a >3.2s delay was needed to get the timing stable. The following code in your firmware is required to turn on / off the shield without pressing the button:
void powerUpOrDown() { pinMode(9, OUTPUT); digitalWrite(9,LOW); delay(1000); digitalWrite(9,HIGH); delay(2000); digitalWrite(9,LOW); delay(3000); }
The GPRS Shield comes with all the accessories that you need to get started with sending data over the GSM network except an Arduino board and a GSM SIM Card. If you want to make voice calls, you would also require a headset with microphone.
Step 1: Creating a test setup for the GPRS Shield
As you received your GPRS Shield, what would be the first thing you want to do with it? Send out a text (SMS)? or call up someone (headset required)? You can do all of these by talking to the GPRS Shield through AT Commands - which is a special language that it understands. AT Commands are simple textual commands sent to the GPRS modem over its serial interface (UART), so you can use any serial terminal software to communicate with it.
Note
Almost all the AT commands should be sent by following with carriage return and you need to select the “+CR”option in the serial port terminal.
To do experiment with AT commands, you would require a way to power up and communicate with your GPRS Shield. The best way to do this using an Arduino Duemilanove board described below. The same steps are applicable for Seeeduino or Seeeduino Stalker.
For developing such a program, we need to use the SoftwareSerial library. Here is the demo code.
//Serial Relay - Arduino will patch a //serial link between the computer and the GPRS Shield //at 19200 bps 8-N-1 //Computer is connected to Hardware UART //GPRS Shield is connected to the Software UART #include <SoftwareSerial.h> SoftwareSerial GPRS(7, 8); unsigned char buffer[64]; // buffer array for data recieve over serial port int count=0; // counter for buffer array void setup() { GPRS.begin(19200); // the GPRS baud rate Serial.begin(19200); // the Serial port of Arduino baud rate. } void loop() { if (GPRS.available()) // if date is comming from softwareserial port ==> data is comming from gprs shield { while(GPRS.available()) // reading data into char array { buffer[count++]=GPRS.read(); // writing data into array if(count == 64)break; } Serial.write(buffer,count); // if no data transmission ends, write buffer to hardware serial port clearBufferArray(); // call clearBufferArray function to clear the storaged data from the array count = 0; // set counter of while loop to zero } if (Serial.available()) // if data is available on hardwareserial port ==> data is comming from PC or notebook GPRS.write(Serial.read()); // write it to the GPRS shield } void clearBufferArray() // function to clear buffer array { for (int i=0; i<count;i++) { buffer[i]=NULL;} // clear all index of array with command NULL }
Also, you should see messages from the shield such as RDY
+CFUN: 1
+CPIN: READY
Call Ready
in the serial monitor. If you can not see the messages in the serial monitor, you should click the “send new” option that will add carriage return at the end of AT command and then send AT command “AT+IPR=19200” to set the baud rate of the SIM900.
Note that the baud rate of GPRS shield and the Arduino’s serial port should be the same before you setting the GPRS shield’s baud rate.
Step 2: Sending a text message (SMS)
Now that our test setup is ready, let’s play around with some AT Commands manually before moving on to program the Arduino to do this. Let’s try sending an SMS to start.
Note
If you follow steps as specified above, you aren’t able to receive the message on the target handset, then it might be that you need to set the SMS Message Center number.
Send the command AT+CSCA=”+919032055002” and press the Enter Key. Send this command in between the AT+CMGF and AT+CMGS commands. Replace the phone number specified in the command above with the SMS Center number of your GSM Service Provider.
The message center number is specific to each service provider (for example +919032055002 is the message center number for Tata DoCoMo, Pune, India). You can get the message center number by calling up the customer center of the GSM Service Provider and asking them for it.
Step 3: Exploring further
Now that you have gotten a taste of how the AT Commands work, you can try out other commands before moving on to develop sketches for Arduino by using the GPRS Shield.
This involves to create a sketch for sending out these same sequence of AT Commands (on your behalf) out the serial port to the GPRS Shield to perform the same task of sending and SMS, making a call or sending data over a GPRS connection.
You can go through the AT Commands reference manual to figure out the sequence of commands. If you develop an Arduino sketch, you find that the GPRS Shield doesn’t act as what you expect, then you will need to check your AT Commands and their sequence. To do this, reload the serial relay sketch attached above in the getting started section into ATmega328P and type out the AT Commands manually and check the output. The responses sent back by the GPRS Shield will help you debug the AT Command sequence.
Note
A C program to perform the same task has also been developed and attached: Softuart relay atmega328p.zip.
The program was developed on a Windows PC.AVRStudio4 was used as the IDE and WinAVR was used as the compiler. The ZIP file contains an AVRStudio4 Project. The C compiler (WinAVR) will generate an Intel Hex (.hex). To upload this .hex file into an Arduino board outside of Arduino IDE would require a program which is able to communicate with the Arduino boards bootloader. XLoader is such a program which runs on Windows can upload .hex files generated by various compiler into an Arduino Board.
With Arduino 1.0 you should be able to use the SoftwareSerial library included with the distribution (instead of NewSoftSerial). However, you must be aware that the buffer reserved for incoming messages are hardcoded to 64 bytes in the library header, “SoftwareSerial.h”:
define _SS_MAX_RX_BUFF 64 // RX buffer size
This means that if the GPRS module receive more data than the buffer, you are likely to lose it with a buffer overflow! For instance, reading out an SMS from the module with “AT+CMGR=xx” (xx is the message index), you might not even see the message part because the preceding header information (like telephone number and time) takes up a lot of space. The fix seems to be to manually change _SS_MAX_RX_BUFF to a higher value (but reasonable so you don’t use all your memory!)
The Softwareserial library has the following limitations (taken from arduino page). If use multiple software serial ports, only one can receive data at a time. This means that if you try to add another serial device such as grove serial LCD you may get communication errors unless you craft your code carefully.
The below demo code is for the Xduino to send SMS message, dial a voice call, submit a http request to a website and upload data to the pachube. It has been tested on Arduino Duemilanove and also works on any compatible platforms, please note that this sketch uses the software UART of ATmega328P. please follow the below steps to run this sketch.
Type command in the terminal to execute different function, there are 4 functions in the demo:
If the program returns error in the terminal after you typing the command, don’t worry, just try input the command again.
/*Note: this code is a demo for how to using gprs shield to send sms message, dial a voice call and send a http request to the website, upload data to pachube.com by TCP connection, The microcontrollers Digital Pin 7 and hence allow unhindered communication with GPRS Shield using SoftSerial Library. IDE: Arduino 1.0 or later Replace the following items in the code: 1.Phone number, don't forget add the country code 2.Replace the Access Point Name 3. Replace the Pachube API Key with your personal ones assigned to your account at cosm.com */ #include <SoftwareSerial.h> #include <String.h> SoftwareSerial mySerial(7, 8); void setup() { mySerial.begin(19200); // the GPRS baud rate Serial.begin(19200); // the GPRS baud rate delay(500); } void loop() { //after start up the program, you can using terminal to connect the serial of gprs shield, //if you input 't' in the terminal, the program will execute SendTextMessage(), it will show how to send a sms message, //if input 'd' in the terminal, it will execute DialVoiceCall(), etc. if (Serial.available()) switch(Serial.read()) { case 't': SendTextMessage(); break; case 'd': DialVoiceCall(); break; case 'h': SubmitHttpRequest(); break; case 's': Send2Pachube(); break; } if (mySerial.available()) Serial.write(mySerial.read()); } ///SendTextMessage() ///this function is to send a sms message void SendTextMessage() { mySerial.print("AT+CMGF=1r"); //Because we want to send the SMS in text mode delay(100); mySerial.println("AT + CMGS = "+86138xxxxx615"");//send sms message, be careful need to add a country code before the cellphone number delay(100); mySerial.println("A test message!");//the content of the message delay(100); mySerial.println((char)26);//the ASCII code of the ctrl+z is 26 delay(100); mySerial.println(); } ///DialVoiceCall ///this function is to dial a voice call void DialVoiceCall() { mySerial.println("ATD + +86138xxxxx615;");//dial the number delay(100); mySerial.println(); } ///SubmitHttpRequest() ///this function is submit a http request ///attention:the time of delay is very important, it must be set enough void SubmitHttpRequest() { mySerial.println("AT+CSQ"); delay(100); ShowSerialData();// this code is to show the data from gprs shield, in order to easily see the process of how the gprs shield submit a http request, and the following is for this purpose too. mySerial.println("AT+CGATT?"); delay(100); ShowSerialData(); mySerial.println("AT+SAPBR=3,1,"CONTYPE","GPRS"");//setting the SAPBR, the connection type is using gprs delay(1000); ShowSerialData(); mySerial.println("AT+SAPBR=3,1,"APN","CMNET"");//setting the APN, the second need you fill in your local apn server delay(4000); ShowSerialData(); mySerial.println("AT+SAPBR=1,1");//setting the SAPBR, for detail you can refer to the AT command mamual delay(2000); ShowSerialData(); mySerial.println("AT+HTTPINIT"); //init the HTTP request delay(2000); ShowSerialData(); mySerial.println("AT+HTTPPARA="URL","www.google.com.hk"");// setting the httppara, the second parameter is the website you want to access delay(1000); ShowSerialData(); mySerial.println("AT+HTTPACTION=0");//submit the request delay(10000);//the delay is very important, the delay time is base on the return from the website, if the return datas are very large, the time required longer. //while(!mySerial.available()); ShowSerialData(); mySerial.println("AT+HTTPREAD");// read the data from the website you access delay(300); ShowSerialData(); mySerial.println(""); delay(100); } ///send2Pachube()/// ///this function is to send the sensor data to the pachube, you can see the new value in the pachube after execute this function/// void Send2Pachube() { mySerial.println("AT+CGATT?"); delay(1000); ShowSerialData(); mySerial.println("AT+CSTT="CMNET"");//start task and setting the APN, delay(1000); ShowSerialData(); mySerial.println("AT+CIICR");//bring up wireless connection delay(3000); ShowSerialData(); mySerial.println("AT+CIFSR");//get local IP adress delay(2000); ShowSerialData(); mySerial.println("AT+CIPSPRT=0"); delay(3000); ShowSerialData(); mySerial.println("AT+CIPSTART="tcp","api.cosm.com","8081"");//start up the connection delay(2000); ShowSerialData(); mySerial.println("AT+CIPSEND");//begin send data to remote server delay(4000); ShowSerialData(); String humidity = "1031";//these 4 line code are imitate the real sensor data, because the demo did't add other sensor, so using 4 string variable to replace. String moisture = "1242";//you can replace these four variable to the real sensor data in your project String temperature = "30";// String barometer = "60.56";// mySerial.print("{"method": "put","resource": "/feeds/42742/","params"");//here is the feed you apply from pachube delay(500); ShowSerialData(); mySerial.print(": {},"headers": {"X-PachubeApiKey":");//in here, you should replace your pachubeapikey delay(500); ShowSerialData(); mySerial.print(" "_cXwr5LE8qW4a296O-cDwOUvfddFer5pGmaRigPsiO0");//pachubeapikey delay(500); ShowSerialData(); mySerial.print("jEB9OjK-W6vej56j9ItaSlIac-hgbQjxExuveD95yc8BttXc");//pachubeapikey delay(500); ShowSerialData(); mySerial.print("Z7_seZqLVjeCOmNbEXUva45t6FL8AxOcuNSsQS"},"body":"); delay(500); ShowSerialData(); mySerial.print(" {"version": "1.0.0","datastreams": "); delay(500); ShowSerialData(); mySerial.println("[{"id": "01","current_value": "" + barometer + ""},"); delay(500); ShowSerialData(); mySerial.println("{"id": "02","current_value": "" + humidity + ""},"); delay(500); ShowSerialData(); mySerial.println("{"id": "03","current_value": "" + moisture + ""},"); delay(500); ShowSerialData(); mySerial.println("{"id": "04","current_value": "" + temperature + ""}]},"token": "lee"}"); delay(500); ShowSerialData(); mySerial.println((char)26);//sending delay(5000);//waitting for reply, important! the time is base on the condition of internet mySerial.println(); ShowSerialData(); mySerial.println("AT+CIPCLOSE");//close the connection delay(100); ShowSerialData(); } void ShowSerialData() { while(mySerial.available()!=0) Serial.write(mySerial.read()); }
Here is the GPRS Shield FAQ that list the frequently asked questions, please read it before use:
Why does GPRS Shield can not work with Stalker v2.1/2.0 via software serial port(D7/D8) ?
Talker v2.1/2.0 has used the Digital Pin(D7/D8) , you need to connect GPRS_TX/GPRS_RX to other Digital Pin as software serial port. And this problem had been solved at Stalker 2.2 version.
Why does the I2C can’t be used when I assembled the GPRS Shield to Stalker or other Arduino boards ?
Because GPRS Shield conflicts with other module via I2C . GPRS Shield doesn’t use I2C port, you can disconnect the connection from SIM900 I2C port to A4/A5 .
Reference: 189
Brand: DFRobot
Xbee Shield for Arduino (without Xbee) INTRODUCTION: The XBee Expansion Board is a compliant solution designed to meet low-cost, low-power wireless sensor networks with special needs.The module is easy to use, low power consumption, and the provision of critical data between devices reliable transmission.
Reference: 924
4 Bits 0.36Inch Clock RED Anode Digital Tube Four Serial Driver Board Control Interface: A total of four pins (GND, VCC, DIO, CLK), GND to ground, VCC is the power supply, DIO of data input and output pin, CLK is the clock signal pin;
Reference: 392
The new version of this shield allows for either 3.3 or 5v logic, a separate and more robust VIN connection, and the PWM input has moved to pin 3.
Reference: 1137
The ENC28J60 Ethernet Module uses the Microchip ENC28J60 Stand-Alone Ethernet Controller IC featuring a host of features to handle most of the network protocol requirements. The board connects directly to most microcontrollers with a standard SPI interface with a transfer speed of up to 20MHz.
Reference: 1266
Description This prototyping shield is the best out there, and now is even better with Version R3 – updated for the most compatibility with just about all the Arduinos! It works with UNO, Mega, Leonardo, NG, Diecimila, Duemilanove, and compatible Arduino. Yun’s and Arduino Ethernets have a chunky Ethernet jack that gets in the way of stacking, you can use...
Reference: 1037
SIM808 module is a GSM/GPS/BT three-in-one function module. It is based on the latest GSM/GPS/BT module SIM808 from SIMCOM, supports GSM/GPRS Quad-Band network and combines GPS technology for satellite navigation. It has high GPS receive sensitivity with 22 tracking and 66 acquisition receiver channels. Besides, it supports A-GPS that available for...
Reference: 419
Features: Built-in Red, IR, and Green LEDs 5V operation (3.3V is allowed, but green LED is not guaranteed to operate) Applications include presence detection, distance sensing (18" max), pulse oximetry, blood oxygen saturation level (SpO2), smoke and particle detection Documents: Schematic Eagle Files Hookup Guide Datasheet (MAX30105) MAX3010x Sensor...
Reference: 914
MAX7219 Dot Matrix Module Microcontroller 4 In One Display with 5P Line
Reference: 314
Double-ended 50cm Cable Crocodile Clips 5 colour available Red, Black, White, Green, Yellow.
Reference: 282
Specifications: - 3.3V and 5V dual power output- 3.3V and 5V IO compatible- USB2.0 protocol- BitBang mode ready- Easily connected to PC via mini USB cable- Support XBee-setting with software X-CTU
Reference: 1354
Length: 8.5 inches (Medium) Material: Copper Plated.EachPin Spacing: 2.54mm.Color: Colorfulcompatible with 2.54mm mil spacing pin headers.It can be used for PCB project, pc motherboard, etc.Allow you to plug and unplug easily for prototyping.Package Contents: 1 x Jumper Wire You will get only one pcs.
Reference: 108
USB Host Shield For Arduino UNO, MEGA, Compatible with Google Android ADK
Reference: 564
AC 0~5A Analog Current Meter Module Ammeter Sensor Board for Arduino This electricity sensor is based on TA12-100 current transformer, which can transform AC signals of large current into small amplitude signals. The maximum current that can be detected can reach 5A, and the present current signal can be read via analog I / O port.
Reference: 1398
This is a 12V 1-Channel Relay interface board, Be able to control various appliances, and other equipments with large current. It can be controlled directly by Micro-controller (Raspberry Pi, Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic) . **Relay Brand is different from the picture as per stock
Reference: 1218
Nextion is a seamless Human Machine Interface (HMI) solution that provides a control and visualization interface between a human and a process, machine, application or appliance. Nextion is mainly applied to Internet of thing (IoT) or consumer electronics field.
Reference: 1402
NodeMCU ESP8266 Expansion Base Board This NodeMCU ESP8266 Expansion Base Board is an expansion board designed to work with the NodeMCU V3 ESP8266 ESP-12E. Powered by 6V to 24V DC input, it provides the support power to operate the NodeMCU V3, and provide easy connection to all of its input and output pins to help you connect your NodeMCU board to other...
Reference: 1541
37 IN 1 BOX Sensor Kits /37 SENSOR KIT For Arduino with Plastic Box
Reference: 1138
The A9G development board is a multifunctional development board based on AI Thinker’s A9G GPRS/GSM + GPS/ BDS module. You can use it to verify the basic communication and peripheral functions of A9G module. It has the basic phone/SMS, GPRS networking communications and GPS/BDS dual mode positioning function. There are lithium battery charge management,...
Reference: 413
SD card interface works with FAT16 or FAT32 formatted cards. 3.3v level shifter circuitry prevents damage to your SD card Real time clock (RTC) keeps the time going even when the Arduino is unplugged.
Reference: 1381
This is a board designed for opto-isolation. This board is helpful for connecting digital systems (like a 5V microcontroller) to a high-voltage or noisy system. This board electrically isolates a controller from the high-power system by use of an opto-isolator IC. This IC has two LEDs and two photodiodes built-in. This allows the low-voltage side to...
Reference: 1333
The module has 12 push buttons. You can make usual keypads for enter numbers, symbols, or navigate and selections in the program. There are pull-up resistors of different values for each button. This makes it possible to connect all the 12 keys to taking only one analog port of the microcontroller. The button consists of two parts: a cap, which can be...
Reference: 346
NXP PN532 NFC RFID Module V3 Kits Reader Writer Arduino Android Phone M92 NFC is a popular technology in recent years. We often heard this work while smart phone company such as Samsung or HTC introduces their latest high-end phones. Almost all the high-end phone in the market support NFC.
Reference: 323
Arduino Uno R3 is the clone one of the latest version of Arduino Uno with an on-board CH340 usb - serial converter chip. Even there are some little differences with respect to the original one, it is almost the same in terms of usage and software. This provides you a cheaper opportunitiy to get started with Arduino boards. The microcontroller model of...
Reference: 1021
Operating voltage: 2.5V-5.5V, recommended 5VSpeaker Load: 2-8 OhmsInput and Output Connectors: Pins on 0.2" centersSize: 24 x 23 x 105 mm (L x W x H)Net weight: 3g
Reference: 353
Size: 0.96 Resolution: 128X64 Color: Blue, Yellow Viewing angle: greater than 160 degrees Low power consumption: 0.04W during normal operation Support wide voltage: 3.3V-5V DC Working temperature: -30-80 degrees Volume: 27MM * 27MM * 4.1MM Driver IC: SSD1306 Communication: IIC, only two I / O ports Backlight: OLED self light, no backlight
Reference: 684
The TB6612FNG motor driver can control up to two DC motors at a constant current of 1.2A (3.2A peak). Two input signals (IN1 and IN2) can be used to control the motor in one of four function modes - CW, CCW, short-brake, and stop.
Reference: 1602
The OTA WeMos D1 CH340 WiFi Development Board ESP8266 ESP-12F is a more Powerful Arduino with WIFI support. This development platform Espressif based on the ESP-8266 is the pins of the Arduino Uno almost compatible and can even be used as some shield modules designed for the classic Arduino Uno. *No Cable
The GPRS Shield provides you a way to use the GSM cell phone network to receive data from a remote location. The shield allows you to achieve this via any of the three methods: