{"id":52354,"date":"2026-11-01T10:51:00","date_gmt":"2026-11-01T10:51:00","guid":{"rendered":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/"},"modified":"2026-11-01T10:51:00","modified_gmt":"2026-11-01T10:51:00","slug":"sim800l-sms","status":"publish","type":"siratek_tutorial","link":"https:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/","title":{"rendered":"Sending SMS Alerts with a SIM800L"},"content":{"rendered":"<body><p><\/p>\n<h2>What it does<\/h2>\n<p>A mobile phone module. Put a SIM in it and an Arduino can send a text message from anywhere with coverage, with no Wi-Fi, no router and no internet.<\/p>\n<p>For a water tank in a village, a generator in a yard, or a cold store that must not fail unnoticed, that is a capability nothing else in this library has. An alert arrives on a phone that is already in someone\u2019s pocket.<\/p>\n<p>It is also the module most likely to arrive, be wired up correctly, and do nothing at all. There are two reasons for that, and both come before any code.<\/p>\n<h2>Read this first<\/h2>\n<h3>1. The power supply, which is where most of these fail<\/h3>\n<p>This is the single most common reason a SIM800L appears faulty.<\/p>\n<p><strong>It needs 3.4 to 4.4 volts.<\/strong> Not 5. An Arduino\u2019s <code>5V<\/code> pin is above the maximum and can damage it; the <code>3.3V<\/code> pin is below the minimum and it will not register on the network.<\/p>\n<p><strong>And it draws up to 2 amps in bursts<\/strong> while transmitting. Not continuously: in short peaks each time it talks to the tower, especially while first registering.<\/p>\n<p>So the supply has to do two things at once: sit in a narrow voltage window, and deliver a 2 A burst without sagging. An Arduino\u2019s regulator can do neither.<\/p>\n<p>What works:<\/p>\n<ul>\n<li><strong>A dedicated buck converter set to about 4 V<\/strong>, fed from a supply that can give 2 A.<\/li>\n<li><strong>A single lithium cell<\/strong>, which is 3.0 to 4.2 V and happily supplies the burst. This is the neatest answer and why so many SIM800L projects are battery powered.<\/li>\n<li><strong>Four NiMH cells<\/strong> at 4.8 V is slightly too high; three at 3.6 V is slightly low but often works.<\/li>\n<\/ul>\n<p><strong>Add a large capacitor across the module\u2019s supply pins<\/strong>, 1000 \u00b5F or more. Same reasoning as the NRF24L01\u2019s 10 \u00b5F, scaled up: it supplies the peak so the rail does not dip.<\/p>\n<p>The symptom of getting this wrong is specific and worth recognising: <strong>the module powers up, the LED blinks, and it never registers on the network<\/strong>, or it resets every time it tries to send.<\/p>\n<h3>2. 2G, which may not exist where you are<\/h3>\n<p>The SIM800L is a <strong>2G-only<\/strong> module. It cannot use 3G, 4G or 5G.<\/p>\n<p>Many operators around the world have switched their 2G networks off, and others have announced dates. <strong>Before buying this module, check that your operator still runs 2G in the place the project will live.<\/strong> If it does not, the module is unusable there and no amount of wiring will change that.<\/p>\n<p>Where 2G is still running, as it is across much of West Africa, the module works well and its coverage is often better than data coverage.<\/p>\n<h3>3. The SIM, and its logic level<\/h3>\n<ul>\n<li>The SIM holder takes a <strong>micro SIM<\/strong>, in a slot on the underside.<\/li>\n<li><strong>Disable the PIN<\/strong> on the SIM first, using a phone. A module cannot answer a PIN prompt, and a locked SIM simply never registers.<\/li>\n<li>Make sure there is credit.<\/li>\n<li>The module\u2019s logic is <strong>2.8 V<\/strong>. That is below the Uno\u2019s 3.0 V HIGH threshold, so the module\u2019s <code>TXD<\/code> may be read unreliably, and the Uno\u2019s 5 V <code>TXD<\/code> is too much for the module\u2019s <code>RXD<\/code>.<\/li>\n<\/ul>\n<p>So: a divider on the Arduino\u2019s transmit line is required, and if the module\u2019s replies come back garbled, a proper level converter is the fix. A 3.3 V board such as an ESP32 is a better partner for this module than an Uno.<\/p>\n<h2>Before you begin<\/h2>\n<h3>Required parts and tools<\/h3>\n<ul>\n<li>An Arduino Uno or compatible board.<\/li>\n<li>One SIM800L module. This is Siratek product 2671, supplied with a helical antenna.<\/li>\n<li><strong>A 4 V supply capable of 2 A<\/strong>, and a 1000 \u00b5F capacitor.<\/li>\n<li>A micro SIM with credit and no PIN.<\/li>\n<li>Resistors for a divider, or a level converter.<\/li>\n<li>A multimeter.<\/li>\n<\/ul>\n<h3>The antenna<\/h3>\n<p>The module comes with a small helical spring antenna and has a u.FL connector for a better one.<\/p>\n<p>Fit the supplied antenna before powering up. <strong>A GSM module transmitting into no antenna can damage its output stage<\/strong>, and will certainly not register.<\/p>\n<p>Indoors, near a window is better than the middle of a room. If registration is unreliable, an external antenna on the u.FL connector makes more difference than anything else.<\/p>\n<h3>Reading the status LED<\/h3>\n<p>The LED tells you the state, and knowing the pattern saves hours:<\/p>\n<ul>\n<li><strong>Blinking about once a second<\/strong>: searching for a network.<\/li>\n<li><strong>Blinking about once every three seconds<\/strong>: registered. This is what you want.<\/li>\n<li><strong>Rapid blinking<\/strong>: usually GPRS activity.<\/li>\n<li><strong>Nothing<\/strong>: no power, or the supply is out of range.<\/li>\n<\/ul>\n<p><strong>Do not send a single AT command until the LED is on the slow three-second blink.<\/strong> Everything before that will fail, and it will look like a wiring problem.<\/p>\n<h2>Pin reference<\/h2>\n<table>\n<thead>\n<tr>\n<th>Module pin<\/th>\n<th>Connect to<\/th>\n<th>Purpose<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>VCC<\/code><\/td>\n<td><strong>4 V supply<\/strong>, 2 A capable<\/td>\n<td>Power<\/td>\n<td><strong>Never the Arduino\u2019s 5V<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>GND<\/code><\/td>\n<td>Supply negative <strong>and<\/strong> Uno <code>GND<\/code><\/td>\n<td>Common ground<\/td>\n<td>Both<\/td>\n<\/tr>\n<tr>\n<td><code>SIM_TXD<\/code><\/td>\n<td>Uno <code>D10<\/code><\/td>\n<td>Module out<\/td>\n<td>2.8 V; marginal for an Uno<\/td>\n<\/tr>\n<tr>\n<td><code>SIM_RXD<\/code><\/td>\n<td>Uno <code>D11<\/code> <strong>through a divider<\/strong><\/td>\n<td>Module in<\/td>\n<td>2.8 V input<\/td>\n<\/tr>\n<tr>\n<td><code>RST<\/code><\/td>\n<td>Not used here<\/td>\n<td>Reset<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<figure class=\"siratek-tutorial-figure\"><img decoding=\"async\" src=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/sim800l-sms-wiring.svg\" alt=\"A SIM800L powered from a separate 4 volt supply with a large capacitor across its supply pins, its grounds joined to the Arduino, and a divider on its receive line\" loading=\"lazy\"><figcaption>4 volts, 2 amps of burst, and a big capacitor. The Arduino\u2019s 5V pin can supply none of that.<\/figcaption><\/figure>\n<h2>Wiring steps<\/h2>\n<ol>\n<li>Unplug everything.<\/li>\n<li>Fit the antenna and insert the SIM.<\/li>\n<li>Set your buck converter to <strong>4.0 V<\/strong> and confirm it with a meter <strong>before<\/strong> connecting the module.<\/li>\n<li>Supply positive to <code>VCC<\/code>, supply negative to <code>GND<\/code>.<\/li>\n<li>Fit the 1000 \u00b5F capacitor across <code>VCC<\/code> and <code>GND<\/code>, at the module. Watch the polarity.<\/li>\n<li>Join the supply\u2019s ground to the Uno\u2019s <code>GND<\/code>.<\/li>\n<li>Module <code>SIM_TXD<\/code> to <code>D10<\/code>.<\/li>\n<li>From <code>D11<\/code>, a 1 k resistor to a free row, and a 2 k from that row to ground. Module <code>SIM_RXD<\/code> to that row.<\/li>\n<li>Power up and <strong>watch the LED<\/strong> before doing anything else.<\/li>\n<\/ol>\n<h2>Software and libraries<\/h2>\n<p>No library is required, and that is deliberate. The module speaks <strong>AT commands<\/strong>: plain text lines you send and plain text replies you read. Seeing that directly is more useful than hiding it, because every failure shows up as a reply you can read.<\/p>\n<p><code>SoftwareSerial<\/code> comes with the IDE.<\/p>\n<h2>Minimal working example<\/h2>\n<p>Talk to it by hand first. Nothing else is worth trying until this works.<\/p>\n<pre><code>\/\/ Siratek: a pass-through, so you can type AT commands yourself.\n\n#include &lt;SoftwareSerial.h&gt;\n\nSoftwareSerial sim(10, 11);      \/\/ Arduino RX, Arduino TX\n\nvoid setup() {\n  Serial.begin(9600);\n  sim.begin(9600);\n  Serial.println(\"Siratek: wait for the slow blink, then type AT and press Enter.\");\n}\n\nvoid loop() {\n  if (sim.available()) {\n    Serial.write(sim.read());\n  }\n  if (Serial.available()) {\n    sim.write(Serial.read());\n  }\n}<\/code><\/pre>\n<p>Set the serial monitor\u2019s line ending to <strong>Both NL &amp; CR<\/strong>, or the module will ignore everything you type.<\/p>\n<p>Then work through these, in order. Each one tells you something:<\/p>\n<table>\n<thead>\n<tr>\n<th>Type<\/th>\n<th>Expect<\/th>\n<th>Means<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>AT<\/code><\/td>\n<td><code>OK<\/code><\/td>\n<td>The module is listening<\/td>\n<\/tr>\n<tr>\n<td><code>AT+CPIN?<\/code><\/td>\n<td><code>+CPIN: READY<\/code><\/td>\n<td>The SIM is in and unlocked<\/td>\n<\/tr>\n<tr>\n<td><code>AT+CSQ<\/code><\/td>\n<td><code>+CSQ: 15,0<\/code><\/td>\n<td>Signal. Under 10 is poor, over 20 is good<\/td>\n<\/tr>\n<tr>\n<td><code>AT+CREG?<\/code><\/td>\n<td><code>+CREG: 0,1<\/code> or <code>0,5<\/code><\/td>\n<td>Registered. <code>0,2<\/code> means still searching<\/td>\n<\/tr>\n<tr>\n<td><code>AT+COPS?<\/code><\/td>\n<td>Your operator\u2019s name<\/td>\n<td>It found a network<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>If <code>AT<\/code> gives nothing<\/strong>, the problem is power, wiring or baud rate, in that order. If it gives garbled characters, it is the logic levels or the baud rate.<\/p>\n<p><strong>Do not go further until <code>AT+CREG?<\/code> returns 1 or 5.<\/strong> Everything after this depends on it.<\/p>\n<h3>Sending a message<\/h3>\n<pre><code>\/\/ Siratek: send one SMS, with the replies checked rather than assumed.\n\n#include &lt;SoftwareSerial.h&gt;\n\nSoftwareSerial sim(10, 11);\n\n\/\/ International format, including the country code.\nconst char* recipient = \"+233XXXXXXXXX\";\n\nbool waitFor(const char* expected, unsigned long timeout) {\n  unsigned long start = millis();\n  String buffer = \"\";\n\n  while (millis() - start &lt; timeout) {\n    while (sim.available()) {\n      buffer += (char) sim.read();\n      if (buffer.indexOf(expected) &gt;= 0) {\n        return true;\n      }\n      if (buffer.indexOf(\"ERROR\") &gt;= 0) {\n        Serial.println(\"  module replied ERROR\");\n        return false;\n      }\n    }\n  }\n\n  Serial.print(\"  timed out waiting for \");\n  Serial.println(expected);\n  return false;\n}\n\nbool sendSms(const char* number, const char* text) {\n  sim.println(\"AT+CMGF=1\");                 \/\/ text mode, not PDU\n  if (!waitFor(\"OK\", 2000)) {\n    return false;\n  }\n\n  sim.print(\"AT+CMGS=\\\"\");\n  sim.print(number);\n  sim.println(\"\\\"\");\n  if (!waitFor(\"&gt;\", 5000)) {                \/\/ the module asks for the text\n    return false;\n  }\n\n  sim.print(text);\n  sim.write(26);                            \/\/ Ctrl-Z ends the message\n\n  \/\/ Sending can genuinely take this long.\n  return waitFor(\"+CMGS\", 30000);\n}\n\nvoid setup() {\n  Serial.begin(9600);\n  sim.begin(9600);\n\n  Serial.println(\"Siratek: waiting 20 seconds for the network.\");\n  delay(20000);\n\n  if (sendSms(recipient, \"Siratek: tank level low.\")) {\n    Serial.println(\"sent\");\n  } else {\n    Serial.println(\"failed\");\n  }\n}\n\nvoid loop() {\n}<\/code><\/pre>\n<p>Four things in there matter more than the rest.<\/p>\n<p><strong>Every step waits for the expected reply.<\/strong> The common version of this sketch is a series of <code>println()<\/code> calls with <code>delay(1000)<\/code> between them, which works on the bench and fails in the field with no indication of where. Waiting for <code>OK<\/code>, then <code>&gt;<\/code>, then <code>+CMGS<\/code> means a failure tells you which step failed.<\/p>\n<p><strong>The <code>&gt;<\/code> prompt.<\/strong> After <code>AT+CMGS<\/code> the module replies with a bare <code>&gt;<\/code> and waits for the message text. Sending the text before that prompt arrives loses it.<\/p>\n<p><strong>Ctrl-Z, which is byte 26<\/strong>, ends the message. Nothing is sent until that byte arrives.<\/p>\n<p><strong>Thirty seconds for the final reply.<\/strong> Sending an SMS genuinely takes that long sometimes, especially on a weak signal. A two-second timeout here reports failure on messages that are actually sent.<\/p>\n<h3>An alert that does not flood you<\/h3>\n<p>A sensor on a threshold can send fifty messages in an hour, which costs money and teaches the recipient to ignore them.<\/p>\n<pre><code>const unsigned long minimumGap = 3600000UL;   \/\/ one hour\nunsigned long lastAlert = 0;\nbool alerting = false;\n\nvoid checkAndAlert(bool condition, const char* text) {\n  if (condition &amp;&amp; !alerting) {\n    if (millis() - lastAlert &gt; minimumGap || lastAlert == 0) {\n      alerting = true;\n      lastAlert = millis();\n      sendSms(recipient, text);\n    }\n  } else if (!condition) {\n    alerting = false;          \/\/ armed again, but still rate-limited\n  }\n}<\/code><\/pre>\n<p>One message per event, and no more than one an hour whatever happens. For anything that costs money per message, this is not optional.<\/p>\n<h2>Expected result<\/h2>\n<p>The LED settling to a slow three-second blink within a minute of power-up. <code>AT<\/code> returning <code>OK<\/code>. <code>AT+CSQ<\/code> returning a signal figure above 10. Then a text message arriving on the recipient\u2019s phone within a few seconds.<\/p>\n<h2>Troubleshooting<\/h2>\n<table>\n<thead>\n<tr>\n<th>Symptom<\/th>\n<th>Likely cause<\/th>\n<th>Check or fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>LED blinks fast and never slows<\/td>\n<td><strong>Power<\/strong>, almost always<\/td>\n<td>4 V, 2 A capable, with a big capacitor<\/td>\n<\/tr>\n<tr>\n<td>LED does nothing<\/td>\n<td>Supply out of range<\/td>\n<td>Measure it: 3.4 to 4.4 V<\/td>\n<\/tr>\n<tr>\n<td>Module resets when sending<\/td>\n<td>Supply sags under the burst<\/td>\n<td>Bigger capacitor; better supply<\/td>\n<\/tr>\n<tr>\n<td><code>AT<\/code> returns nothing<\/td>\n<td>Power, wiring or baud<\/td>\n<td>Check in that order<\/td>\n<\/tr>\n<tr>\n<td><code>AT<\/code> returns garbled text<\/td>\n<td>Logic levels, or baud rate<\/td>\n<td>Fit the divider; try 9600<\/td>\n<\/tr>\n<tr>\n<td><code>+CPIN: SIM PIN<\/code><\/td>\n<td>SIM is locked<\/td>\n<td>Disable the PIN with a phone<\/td>\n<\/tr>\n<tr>\n<td><code>+CREG: 0,2<\/code> for ever<\/td>\n<td>Searching, no coverage<\/td>\n<td>Antenna; move near a window; check 2G exists<\/td>\n<\/tr>\n<tr>\n<td><code>+CSQ: 99,99<\/code><\/td>\n<td>No signal at all<\/td>\n<td>Antenna not fitted, or no coverage<\/td>\n<\/tr>\n<tr>\n<td><code>AT+CMGS<\/code> returns ERROR<\/td>\n<td>Not registered, or no credit<\/td>\n<td>Check <code>AT+CREG?<\/code> first<\/td>\n<\/tr>\n<tr>\n<td>Message never arrives<\/td>\n<td>Number not in international format<\/td>\n<td><code>+233...<\/code>, including the country code<\/td>\n<\/tr>\n<tr>\n<td>Worked once, then stopped<\/td>\n<td>Out of credit<\/td>\n<td>Check the SIM<\/td>\n<\/tr>\n<tr>\n<td>Nothing works anywhere<\/td>\n<td>Operator has switched 2G off<\/td>\n<td>This module cannot be made to work<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Next steps<\/h2>\n<ul>\n<li><strong>Easier first:<\/strong> <em>Regulators, Batteries and Solar<\/em>, which is what this module\u2019s supply needs.<\/li>\n<li><strong>Related:<\/strong> <em>Sending Sensor Data with MQTT<\/em>, where Wi-Fi exists and is cheaper per message.<\/li>\n<li><strong>Next project:<\/strong> a tank-level alarm that sends one text when the level drops and no more than one an hour.<\/li>\n<\/ul>\n<h2>Sources and attribution<\/h2>\n<p>All text, wiring guidance and code in this tutorial are original Siratek work.<\/p>\n<ul>\n<li>SIM800L documentation for the supply voltage range, the peak current during transmission, the 2.8 V logic level and the status LED patterns.<\/li>\n<li>The AT commands used are from the standard GSM AT command set.<\/li>\n<li>The helical antenna, the u.FL connector, the micro SIM holder and the loose header strip were read from the Siratek product photographs for item 2671.<\/li>\n<\/ul>\n<p>Whether 2G service exists in a given place is an operator matter that changes over time, and the reader is told to check rather than given an answer. Current and voltage figures are from the module documentation. No third-party tutorial text, diagrams, photographs or code has been reproduced here.<\/p>\n<p><\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>A mobile phone module. Put a SIM in it and an Arduino can send a text message from anywhere with coverage, with no Wi-Fi, no router and no internet.<\/p>\n","protected":false},"featured_media":0,"template":"","siratek_tutorial_level":[],"class_list":["post-52354","siratek_tutorial","type-siratek_tutorial","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sending SMS Alerts with a SIM800L - siratek<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sending SMS Alerts with a SIM800L - siratek\" \/>\n<meta property=\"og:description\" content=\"A mobile phone module. Put a SIM in it and an Arduino can send a text message from anywhere with coverage, with no Wi-Fi, no router and no internet.\" \/>\n<meta property=\"og:url\" content=\"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/\" \/>\n<meta property=\"og:site_name\" content=\"siratek\" \/>\n<meta property=\"og:image\" content=\"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/sim800l-sms-wiring.svg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/\",\"url\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/\",\"name\":\"Sending SMS Alerts with a SIM800L - siratek\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/sim800l-sms-wiring.svg\",\"datePublished\":\"2026-11-01T10:51:00+00:00\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/#primaryimage\",\"url\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/sim800l-sms-wiring.svg\",\"contentUrl\":\"https:\\\/\\\/siratek.net\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/sim800l-sms-wiring.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/sim800l-sms\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/siratek.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials\",\"item\":\"https:\\\/\\\/siratek.net\\\/index.php\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sending SMS Alerts with a SIM800L\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/siratek.net\\\/#website\",\"url\":\"https:\\\/\\\/siratek.net\\\/\",\"name\":\"siratek\",\"description\":\"Your Best Electronic Retail Shop\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/siratek.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sending SMS Alerts with a SIM800L - siratek","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/","og_locale":"en_US","og_type":"article","og_title":"Sending SMS Alerts with a SIM800L - siratek","og_description":"A mobile phone module. Put a SIM in it and an Arduino can send a text message from anywhere with coverage, with no Wi-Fi, no router and no internet.","og_url":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/","og_site_name":"siratek","og_image":[{"url":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/sim800l-sms-wiring.svg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/","url":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/","name":"Sending SMS Alerts with a SIM800L - siratek","isPartOf":{"@id":"https:\/\/siratek.net\/#website"},"primaryImageOfPage":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/#primaryimage"},"image":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/#primaryimage"},"thumbnailUrl":"http:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/sim800l-sms-wiring.svg","datePublished":"2026-11-01T10:51:00+00:00","breadcrumb":{"@id":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/#primaryimage","url":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/sim800l-sms-wiring.svg","contentUrl":"https:\/\/siratek.net\/wp-content\/uploads\/2026\/11\/sim800l-sms-wiring.svg"},{"@type":"BreadcrumbList","@id":"http:\/\/siratek.net\/index.php\/tutorials\/sim800l-sms\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/siratek.net\/"},{"@type":"ListItem","position":2,"name":"Tutorials","item":"https:\/\/siratek.net\/index.php\/tutorials\/"},{"@type":"ListItem","position":3,"name":"Sending SMS Alerts with a SIM800L"}]},{"@type":"WebSite","@id":"https:\/\/siratek.net\/#website","url":"https:\/\/siratek.net\/","name":"siratek","description":"Your Best Electronic Retail Shop","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/siratek.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial"}],"about":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/types\/siratek_tutorial"}],"version-history":[{"count":0,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial\/52354\/revisions"}],"wp:attachment":[{"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/media?parent=52354"}],"wp:term":[{"taxonomy":"siratek_tutorial_level","embeddable":true,"href":"https:\/\/siratek.net\/index.php\/wp-json\/wp\/v2\/siratek_tutorial_level?post=52354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}