{"id":434,"date":"2026-03-14T11:44:07","date_gmt":"2026-03-14T11:44:07","guid":{"rendered":"https:\/\/circuitdigest.com\/wiki\/?page_id=434"},"modified":"2026-03-17T13:08:15","modified_gmt":"2026-03-17T13:08:15","slug":"geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board","status":"publish","type":"page","link":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/","title":{"rendered":"GeoLinker GL868 ESP32"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-text-align-left\">The GeoLinker <strong>GL868_ESP32 <\/strong>is a production-ready, open-source development board that combines an <strong>ESP32-S3<\/strong> and <strong>SIM868<\/strong> <strong>GSM<\/strong> modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking. <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>The board ships with an <strong>Airtel M2M IoT Sim card<\/strong> (optional) and readily supports the <a href=\"https:\/\/www.circuitdigest.cloud\/geolinker\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>GeoLinker GPS tracking dashabord<\/strong><\/a> allowing you to track and visualise data on a map right out of the box for quick prototyping. For further developement you can use the open-source <strong>GL868_ESP32 Arduino library<\/strong>, which provides a high-level, non-blocking API for GPS tracking, HTTP data upload, SMS command processing, voice call handling, and deep-sleep power management. <\/p>\n\n\n\n<p>Unlike normal GPS shields or modules, which require wiring and separate power management, the GL868_ESP32 is an all-in-one hardware platform. It integrates a <strong>BQ24073 battery charger<\/strong>, a dedicated <strong>LIS3DHTR 3-axis accelerometer <\/strong>for motion-triggered wake-up, a <strong>TXB0102 logic-level translator<\/strong>, an <strong>addressable RGB LED<\/strong>, 4 more status LEDs, onboard <strong>dual antenna for GSM and GNSS<\/strong>, a USB-C programming port, and a nano-SIM card slot, everything needed for your GPS tracking and remote monitoring projects. <\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"1188\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif\" alt=\"GL868 ESP32 Geolinker development board top view and bottom view\" class=\"wp-image-442\" style=\"object-fit:contain;width:400px;height:400px\"\/><figcaption class=\"wp-element-caption\">Geolinker GL868 ESP32 Development Board <\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-c93e732c alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"border-style:none;border-width:0px\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div data-aos= \"flip-left\" data-aos-duration=\"400\" data-aos-delay=\"0\" data-aos-easing=\"ease\" data-aos-once=\"true\" class=\"wp-block-uagb-info-box uagb-block-3839dc03 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-middle\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-image-content\"><img decoding=\"async\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2025\/12\/5-150x150.png\" alt=\"open source icon\" width=\"80\" height=\"80\" loading=\"lazy\"\/><\/div><div class=\"uagb-ifb-title-wrap\"><p class=\"uagb-ifb-title\"><strong>Open Source DNA<\/strong><\/p><\/div><div class=\"uagb-ifb-desc\">\n<p class=\"has-text-align-center\">Fully open-source hardware and firmware. Access schematics, Gerber files, and firmware to modify, customize, and build your own solutions.<\/p>\n<\/div><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div data-aos= \"flip-left\" data-aos-duration=\"400\" data-aos-delay=\"0\" data-aos-easing=\"ease\" data-aos-once=\"true\" class=\"wp-block-uagb-info-box uagb-block-6a137b86 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-middle\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-image-content\"><img decoding=\"async\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/geolinker-logo.png\" alt=\"geolinker icon\" width=\"80\" height=\"80\" loading=\"lazy\"\/><\/div><div class=\"uagb-ifb-title-wrap\"><p class=\"uagb-ifb-title\"><strong>Geolinker Dashboard<\/strong><\/p><\/div><div class=\"uagb-ifb-desc\">\n<p class=\"has-text-align-center\">Visualize device location, track routes, and monitor sensor data in real time using the Geolinker GPS dashboard on CircuitDigest Cloud.<\/p>\n<\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div data-aos= \"flip-right\" data-aos-duration=\"400\" data-aos-delay=\"0\" data-aos-easing=\"ease\" data-aos-once=\"true\" class=\"wp-block-uagb-info-box uagb-block-d3a3531d uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-middle\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-image-content\"><img decoding=\"async\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/airtel-150x150-1.webp\" alt=\"airtel m2m sim card\" width=\"80\" height=\"80\" loading=\"lazy\"\/><\/div><div class=\"uagb-ifb-title-wrap\"><p class=\"uagb-ifb-title\"><strong>Airtel M2M IoT SIM<\/strong><\/p><\/div><div class=\"uagb-ifb-desc\">\n<p class=\"has-text-align-center\">Can be purchased with an Airtel IoT M2M SIM card and a 3-month complimentary data plan for instant cellular connectivity and quick deployment.<\/p>\n<\/div><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div data-aos= \"flip-left\" data-aos-duration=\"400\" data-aos-delay=\"0\" data-aos-easing=\"ease\" data-aos-once=\"true\" class=\"wp-block-uagb-info-box uagb-block-8f8b4a33 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-middle\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-image-content\"><img decoding=\"async\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gpr-gsm-150x150-1.webp\" alt=\"gsm and gps\" width=\"80\" height=\"80\" loading=\"lazy\"\/><\/div><div class=\"uagb-ifb-title-wrap\"><p class=\"uagb-ifb-title\"><strong>Integrated GSM &amp; GPS<\/strong><\/p><\/div><div class=\"uagb-ifb-desc\">\n<p class=\"has-text-align-center\">Built-in GNSS positioning and GSM\/GPRS connectivity enable reliable real-time location tracking and data transmission from anywhere.<\/p>\n<\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div data-aos= \"flip-right\" data-aos-duration=\"400\" data-aos-delay=\"0\" data-aos-easing=\"ease\" data-aos-once=\"true\" class=\"wp-block-uagb-info-box uagb-block-4c290de2 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-middle\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-image-content\"><img decoding=\"async\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/esp32-s3-150x150-1.webp\" alt=\"esp32-s3 soc\" width=\"80\" height=\"80\" loading=\"lazy\"\/><\/div><div class=\"uagb-ifb-title-wrap\"><p class=\"uagb-ifb-title\"><strong>ESP32-S3<\/strong> <strong>Powered<\/strong><\/p><\/div><div class=\"uagb-ifb-desc\">\n<p class=\"has-text-align-center\">Powered by the ESP32-S3 microcontroller, offering high performance, Wi-Fi, Bluetooth connectivity, and rich peripheral support.<\/p>\n<\/div><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div data-aos= \"flip-right\" data-aos-duration=\"400\" data-aos-delay=\"0\" data-aos-easing=\"ease\" data-aos-once=\"true\" class=\"wp-block-uagb-info-box uagb-block-323f3944 uagb-infobox__content-wrap  uagb-infobox-icon-above-title uagb-infobox-image-valign-middle\"><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-image-content\"><img decoding=\"async\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2025\/12\/1-150x150.png\" alt=\"arduino logo\" width=\"80\" height=\"80\" loading=\"lazy\"\/><\/div><div class=\"uagb-ifb-title-wrap\"><p class=\"uagb-ifb-title\"><strong>Arduino Compatible<\/strong><\/p><\/div><div class=\"uagb-ifb-desc\">\n<p class=\"has-text-align-center\">Easily program the onboard ESP32-S3 using the Arduino IDE, making development simple for makers, engineers, and researchers.<\/p>\n<\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-a00647de alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\" id=\"specifications\"><span class=\"ez-toc-section\" id=\"Specifications\"><\/span><strong>Specifications<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: top !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 200px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>\u283f Specification<\/th><th>Details<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Microcontroller<\/td><td>ESP32-S3-MINI-1 (Xtensa LX7 dual-core, 240 MHz, 4 MB Flash, 512 KB SRAM, 2MB PSRAM)<\/td><\/tr>\n        <tr><td>Cellular \/ GPS Module<\/td><td>SIM868 \u2013 Quad-band GSM 850\/900\/1800\/1900 MHz + GNSS (GPS, GLONASS, BeiDou)<\/td><\/tr>\n        <tr><td>Motion Sensor<\/td><td>LIS3DHTR \u2013 3-axis MEMS accelerometer, \u00b12g \/ \u00b14g \/ \u00b18g \/ \u00b116g, I\u00b2C<\/td><\/tr>\n        <tr><td>Power Management<\/td><td>BQ24073RGTR \u2013 USB LiPo charger with power-path management<br>SPX3819M5-L-3-3 \u2013 500 mA LDO for 3.3V generation<\/td><\/tr>\n        <tr><td>Status LED<\/td><td>1\u00d7 WS2812B-2020 addressable RGB LED + 4\u00d7 indicator LEDs<\/td><\/tr>\n        <tr><td>USB Interface<\/td><td>USB-C (USB 2.0) for programming and charging<\/td><\/tr>\n        <tr><td>Antenna<\/td><td>On-board custom designed dual antenna for GSM and GPS\/GNSS<\/td><\/tr>\n        <tr><td>SIM Card<\/td><td>Nano SIM card<\/td><\/tr>\n        <tr><td>Battery<\/td><td>Single Cell Li-Ion battery<\/td><\/tr>\n        <tr><td>Switches<\/td><td>2\u00d7 Tactile push buttons \u2013 Boot Selection and Reset<\/td><\/tr>\n        <tr><td>PCB Dimensions<\/td><td>33 mm \u00d7 85 mm<\/td><\/tr>\n        <tr><td>Programming IDE<\/td><td>Arduino IDE \/ PlatformIO<\/td><\/tr>\n        <tr><td>Network<\/td><td>2G GSM \/ GPRS \u2013 HTTP and HTTPS with automatic fallback<\/td><\/tr>\n        <tr><td>GPS Performance<\/td><td>Cold start &lt;30 s (open sky), Hot start &lt;1 s, Warm starts: 22s<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-2296570d alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Airtel_M2M_IoT_SimCard\"><\/span><strong>Airtel M2M IoT SimCard<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Geolinker-development-board-with-Airtel-M2M-IoT-SIM-card-1024x683.png\" alt=\"\" class=\"wp-image-601 size-full\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Geolinker-development-board-with-Airtel-M2M-IoT-SIM-card-1024x683.png 1024w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Geolinker-development-board-with-Airtel-M2M-IoT-SIM-card-300x200.png 300w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Geolinker-development-board-with-Airtel-M2M-IoT-SIM-card-768x512.png 768w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Geolinker-development-board-with-Airtel-M2M-IoT-SIM-card.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>If you are building IoT solutions at scale, or plan to run your devices continuously for months or years, traditional SIM cards have expensive plans and are not scalable. An <strong>M2M IoT SIM card<\/strong> is the better choice for professional development. However, obtaining an M2M IoT SIM in India can be difficult for individual developers or even small startups, which is why we added an Airtel M2M IoT SIM card as an optional add-on with all GeoLinker Boards.  <\/p>\n\n\n\n<p>The provided SIM cards work readily with GeoLinker boards, and include 3 months of connectivity for free, i.e., 120MB\/month data, 100 outgoing minutes, unlimited incoming calls, and 200 SMS\/month. After the 3-month period, you can renew the plan for \u20b950\/month directly from your Geolinker Dashboard.<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"has-ast-global-color-2-color has-ast-global-color-5-background-color has-text-color has-background has-link-color wp-elements-b11dbd1356fe2445fec863f4babb1230\">Please note you will have to perfrom online KYC verification after purchase to activate your IoT M2M SIM card. Check out how to activate Airtel M2M SIM card with Geolinker to know more on how to activate and use your M2M SIM card.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-135e45c0 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"GeoLinker_GPS_Tracking_Dashboard\"><\/span>GeoLinker GPS Tracking Dashboard<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>CircuitDigest Cloud is an online platform designed to support engineers, makers, and IoT developers by providing ready-to-use cloud services and APIs for embedded projects. Instead of building complex server infrastructure, developers can send data directly from devices such as Arduino, ESP32, Raspberry Pi, or GSM modules to the platform using simple HTTP APIs.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>One of the key services offered by CircuitDigest Cloud is GeoLinker, a GPS data visualisation system. IoT devices can send latitude, longitude, and timestamp information to the cloud, where the platform stores the data and displays it on an interactive map, as shown above. This allows users to track assets, vehicles, or people in real time, view routes, analyse travel distance and speed, and monitor multiple devices from a dashboard. The platform also logs historical data so users can analyse movement patterns and export the data for further analysis.<\/p>\n\n\n\n<p>You can log in to the <a href=\"https:\/\/www.circuitdigest.cloud\/geolinker\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>GeoLinker GPS tracking dashabord<\/strong><\/a>to view your device&#8217;s live position on an interactive map, review location history, set geofences, and monitor device health in real time, no backend code required.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-uagb-image uagb-block-71f8c691 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\"  sizes=\"auto, (max-width: 480px) 150px\" src=\"https:\/\/raw.githubusercontent.com\/Circuit-Digest\/GL868_ESP32\/main\/Docs\/GL868_ESP32_CircuitDigest_Cloud.gif\" alt=\"\" width=\"750\" height=\"457\" title=\"\" loading=\"lazy\" role=\"img\"\/><\/figure><\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-da83606b alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Hardware_Overview\"><\/span><strong>Hardware Overview<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Parts_Marking_Top.webp\" alt=\"gl868-esp32 geolinker development board front view parts marking image\" class=\"wp-image-451 size-full\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Parts_Marking_Top.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Parts_Marking_Top-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p>The SIM868 modem occupies the upper section of the board while ESP32-S3 module sits at the bottom. The power management and voltage regulator ICs cluster near the USB-C connector. The accelerometer, along with the voltage level translator and the indicator LEDs are on the middle section of the board utilising the space in between the ESP32 and the SIM868 modules.<br><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>As you can see, the GL868_ESP32 development board contains most of its components on the top side; only the battery connector and SIM card socket are tucked at the bottom side edge for easy access. Both GSM and GPS antennas are located at the edge to improve the antenna performance and to avoid any signal reflections or noises from other components or signal lines.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Parts_Marking_Bottom.webp\" alt=\"geolinker board parts marking gl868-esp32\" class=\"wp-image-454 size-full\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Parts_Marking_Bottom.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Parts_Marking_Bottom-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">GL868 ESP32 &#8211; Pinout<\/h3>\n\n\n\n<p>The <strong>GL868_ESP32<\/strong> development board comes with a total of 32 expansion pins. Among them 12 pins are directly connected to the <strong>SIM868<\/strong> GSM module, while the remaining 20 are connected to the <strong>ESP32-S3<\/strong> SoC. The image below shows the pinout of the GL868_ESP32 development board. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Pinout.webp\" alt=\"gl868-esp32 geolinker development board pinout image. \" class=\"wp-image-455\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Pinout.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_Pinout-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Geolinker GL868 ESP32 Development Board Pinout<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">ESP32-S3-MINI<\/h3>\n\n\n\n<p>The ESP32-S3-MINI-1-N4R2 is the brain of the board. The Xtensa LX7 dual-core processor running at up to 240 MHz runs the GL868_ESP32 state machine entirely in firmware, handling UART communication with the SIM868, I\u00b2C communication with the LIS3DHTR accelerometer, battery ADC reading, and the WS2812B LED driver &#8211; all in a non-blocking manner.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_ESP32.webp\" alt=\"\" class=\"wp-image-458\" style=\"aspect-ratio:1.500027380756804;width:425px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_ESP32.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_ESP32-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">ESP32-S3-Mini_N4R2 Module<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Wiki Block Export<\/title>\n  <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Lora:wght@400;700&family=Sora:wght@400;600;700&display=swap');\n        *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n        body{font-family:'Sora',sans-serif;color:#1f2937;background:#fff;padding:24px;line-height:1.6}\n        \/* \u2500\u2500 Typography \u2500\u2500 *\/\n        .wiki-h1{font-family:'Lora',Georgia,serif;font-size:2.4rem;font-weight:400;color:#111827;line-height:1.2;letter-spacing:-0.02em;padding:8px 0 4px}\n        .wiki-h2{font-family:'Lora',Georgia,serif;font-size:1.7rem;font-weight:400;color:#111827;border-bottom:2px solid #e5e7eb;padding-bottom:10px;margin-bottom:4px;letter-spacing:-0.02em;position:relative}\n        .wiki-h2::before{content:'';display:inline-block;width:4px;height:1.5em;background:#e8372a;margin-right:10px;vertical-align:middle;border-radius:2px}\n        .wiki-h3{font-size:1.1rem;font-weight:700;color:#111827;letter-spacing:-0.01em;padding:4px 0}\n        .wiki-h4{font-family:'IBM Plex Mono',monospace;font-size:0.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:0.06em;padding:4px 0}\n        .wiki-p{font-size:0.95rem;color:#374151;line-height:1.75;padding:4px 0}\n        .wiki-hr{border:none;border-top:2px solid #e5e7eb;margin:8px 0}\n        \/* \u2500\u2500 Table (responsive) \u2500\u2500 *\/\n        .wiki-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb;width:100%}\n        .wiki-table{width:100%;border-collapse:collapse;font-size:0.87rem;font-family:'Sora',sans-serif}\n        .wiki-table thead tr{background:#111827;color:#fff}\n        .wiki-table thead th{padding:10px 14px;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.07em;text-transform:uppercase;font-weight:600;white-space:nowrap}\n        .wiki-table tbody tr{border-bottom:1px solid #e5e7eb}\n        .wiki-table tbody tr:last-child{border-bottom:none}\n        .wiki-table tbody tr:nth-child(even){background:#f9fafb}\n        .wiki-table tbody tr:hover{background:#f0f4ff}\n        .wiki-table tbody td{padding:9px 14px;color:#374151;vertical-align:top}\n        .wiki-table tbody td:first-child{font-weight:600;font-family:'IBM Plex Mono',monospace;font-size:0.82em;color:#111827;white-space:nowrap}\n        \/* \u2500\u2500 Callouts \u2500\u2500 *\/\n        .wiki-callout{border-left:4px solid;padding:13px 16px;border-radius:0 6px 6px 0;margin:8px 0}\n        .wiki-callout.info{border-color:#0891b2;background:rgba(8,145,178,0.06)}\n        .wiki-callout.warn{border-color:#f59e0b;background:rgba(245,158,11,0.07)}\n        .wiki-callout.danger{border-color:#e8372a;background:rgba(232,55,42,0.06)}\n        .wiki-callout.success{border-color:#22c55e;background:rgba(34,197,94,0.06)}\n        .wiki-callout .cl{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:5px}\n        .wiki-callout.info .cl{color:#0891b2}.wiki-callout.warn .cl{color:#f59e0b}.wiki-callout.danger .cl{color:#e8372a}.wiki-callout.success .cl{color:#22c55e}\n        .wiki-callout p{font-size:0.88rem;color:#374151;margin:0}\n        \/* \u2500\u2500 Code \u2500\u2500 *\/\n        .wiki-code{background:#0f1923;color:#e2e8f0;padding:18px 22px;border-radius:8px;font-family:'IBM Plex Mono',monospace;font-size:0.8rem;line-height:1.65;border-left:3px solid #e8372a;overflow-x:auto;white-space:pre;display:block}\n        \/* \u2500\u2500 Lists \u2500\u2500 *\/\n        .wiki-ul,.wiki-ol{padding-left:22px;font-size:0.95rem;color:#374151;line-height:1.8}\n        .wiki-ul li,.wiki-ol li{margin-bottom:4px}\n        \/* \u2500\u2500 Tag chips \u2500\u2500 *\/\n        .tag-chip{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;padding:3px 9px;border-radius:3px;border:1px solid;letter-spacing:0.04em;text-transform:uppercase;margin:2px}\n        \/* \u2500\u2500 LED dot \u2500\u2500 *\/\n        .led-dot{display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:middle;margin-right:7px}\n        .led-row-cell{display:flex;align-items:center}\n        \/* \u2500\u2500 Responsive breakpoint \u2500\u2500 *\/\n        @media(max-width:600px){\n          body{padding:12px}\n          .wiki-h1{font-size:1.6rem}.wiki-h2{font-size:1.3rem}\n          .wiki-table tbody td:first-child{white-space:normal}\n        }\n      <\/style>\n<\/head>\n<body>\n  <div class=\"block-inner\"><div class=\"wiki-table-wrap\"><table class=\"wiki-table\"><thead><tr><th><span style=\"font-size: 10.88px; letter-spacing: 0.7616px;\">Parameter<\/span><br><\/th><th><span style=\"font-size: 10.88px; letter-spacing: 0.7616px;\">Value<\/span><\/th><\/tr><\/thead><tbody><tr><td>CPU<\/td><td>Xtensa LX7 dual-core @ 240 MHz<\/td><\/tr><tr><td>Flash<\/td><td>4MB<\/td><\/tr><tr><td>RAM<\/td><td>512KB SRAM, 2MB PSRAM<\/td><\/tr><tr><td>Wi-Fi<\/td><td>802.11 b\/g\/n (2.4 GHz)&nbsp;<\/td><\/tr><tr><td>Bluetooth<\/td><td>BLE 5.0<\/td><\/tr><tr><td>Deep Sleep Current<\/td><td>~10 \u00b5A (ESP32-S3 core off, RTC running)<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n<\/body>\n<\/html>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">SIM868 GSM Module<\/h3>\n\n\n\n<p>The <strong>SIM868<\/strong> is one of the main component on the board and provides two core capabilities in a single package: a quad-band <strong>GSM\/GPRS<\/strong> radio for cellular data, SMS, and voice calls, and an integrated <strong>GNSS<\/strong> receiver supporting <strong>GPS<\/strong>, <strong>GLONASS<\/strong>, and <strong>BeiDou<\/strong>. It communicates with the <strong>ESP32-S3<\/strong> over a <strong>UART<\/strong> port.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SIM868.webp\" alt=\"\" class=\"wp-image-460\" style=\"aspect-ratio:1.5000313342106912;width:398px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SIM868.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SIM868-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">SIM868 Module<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: top !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 200px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>CPU<\/td><td>Xtensa LX7 dual-core @ 240 MHz<\/td><\/tr>\n        <tr><td>Flash<\/td><td>4MB<\/td><\/tr>\n        <tr><td>RAM<\/td><td>512KB SRAM, 2MB PSRAM<\/td><\/tr>\n        <tr><td>Wi-Fi<\/td><td>802.11 b\/g\/n (2.4 GHz)<\/td><\/tr>\n        <tr><td>Bluetooth<\/td><td>BLE 5.0<\/td><\/tr>\n        <tr><td>Deep Sleep Current<\/td><td>~10 \u00b5A (ESP32-S3 core off, RTC running)<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Wiki Block Export<\/title>\n  <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Lora:wght@400;700&family=Sora:wght@400;600;700&display=swap');\n        *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n        body{font-family:'Sora',sans-serif;color:#1f2937;background:#fff;padding:24px;line-height:1.6}\n        \/* \u2500\u2500 Typography \u2500\u2500 *\/\n        .wiki-h1{font-family:'Lora',Georgia,serif;font-size:2.4rem;font-weight:400;color:#111827;line-height:1.2;letter-spacing:-0.02em;padding:8px 0 4px}\n        .wiki-h2{font-family:'Lora',Georgia,serif;font-size:1.7rem;font-weight:400;color:#111827;border-bottom:2px solid #e5e7eb;padding-bottom:10px;margin-bottom:4px;letter-spacing:-0.02em;position:relative}\n        .wiki-h2::before{content:'';display:inline-block;width:4px;height:1.5em;background:#e8372a;margin-right:10px;vertical-align:middle;border-radius:2px}\n        .wiki-h3{font-size:1.1rem;font-weight:700;color:#111827;letter-spacing:-0.01em;padding:4px 0}\n        .wiki-h4{font-family:'IBM Plex Mono',monospace;font-size:0.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:0.06em;padding:4px 0}\n        .wiki-p{font-size:0.95rem;color:#374151;line-height:1.75;padding:4px 0}\n        .wiki-hr{border:none;border-top:2px solid #e5e7eb;margin:8px 0}\n        \/* \u2500\u2500 Table (responsive) \u2500\u2500 *\/\n        .wiki-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb;width:100%}\n        .wiki-table{width:100%;border-collapse:collapse;font-size:0.87rem;font-family:'Sora',sans-serif}\n        .wiki-table thead tr{background:#111827;color:#fff}\n        .wiki-table thead th{padding:10px 14px;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.07em;text-transform:uppercase;font-weight:600;white-space:nowrap}\n        .wiki-table tbody tr{border-bottom:1px solid #e5e7eb}\n        .wiki-table tbody tr:last-child{border-bottom:none}\n        .wiki-table tbody tr:nth-child(even){background:#f9fafb}\n        .wiki-table tbody tr:hover{background:#f0f4ff}\n        .wiki-table tbody td{padding:9px 14px;color:#374151;vertical-align:top}\n        .wiki-table tbody td:first-child{font-weight:600;font-family:'IBM Plex Mono',monospace;font-size:0.82em;color:#111827;white-space:nowrap}\n        \/* \u2500\u2500 Callouts \u2500\u2500 *\/\n        .wiki-callout{border-left:4px solid;padding:13px 16px;border-radius:0 6px 6px 0;margin:8px 0}\n        .wiki-callout.info{border-color:#0891b2;background:rgba(8,145,178,0.06)}\n        .wiki-callout.warn{border-color:#f59e0b;background:rgba(245,158,11,0.07)}\n        .wiki-callout.danger{border-color:#e8372a;background:rgba(232,55,42,0.06)}\n        .wiki-callout.success{border-color:#22c55e;background:rgba(34,197,94,0.06)}\n        .wiki-callout .cl{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:5px}\n        .wiki-callout.info .cl{color:#0891b2}.wiki-callout.warn .cl{color:#f59e0b}.wiki-callout.danger .cl{color:#e8372a}.wiki-callout.success .cl{color:#22c55e}\n        .wiki-callout p{font-size:0.88rem;color:#374151;margin:0}\n        \/* \u2500\u2500 Code \u2500\u2500 *\/\n        .wiki-code{background:#0f1923;color:#e2e8f0;padding:18px 22px;border-radius:8px;font-family:'IBM Plex Mono',monospace;font-size:0.8rem;line-height:1.65;border-left:3px solid #e8372a;overflow-x:auto;white-space:pre;display:block}\n        \/* \u2500\u2500 Lists \u2500\u2500 *\/\n        .wiki-ul,.wiki-ol{padding-left:22px;font-size:0.95rem;color:#374151;line-height:1.8}\n        .wiki-ul li,.wiki-ol li{margin-bottom:4px}\n        \/* \u2500\u2500 Tag chips \u2500\u2500 *\/\n        .tag-chip{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;padding:3px 9px;border-radius:3px;border:1px solid;letter-spacing:0.04em;text-transform:uppercase;margin:2px}\n        \/* \u2500\u2500 LED dot \u2500\u2500 *\/\n        .led-dot{display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:middle;margin-right:7px}\n        .led-row-cell{display:flex;align-items:center}\n        \/* \u2500\u2500 Responsive breakpoint \u2500\u2500 *\/\n        @media(max-width:600px){\n          body{padding:12px}\n          .wiki-h1{font-size:1.6rem}.wiki-h2{font-size:1.3rem}\n          .wiki-table tbody td:first-child{white-space:normal}\n        }\n      <\/style>\n<\/head>\n<body>\n  <div class=\"block-inner\">\n    <div class=\"wiki-callout warn\"><div class=\"cl\">\u26a0\ufe0f Power Note<\/div><p>The SIM868 can draw up to 2 A during GSM transmission bursts. The 100 \u00b5F bulk tantalum capacitor placed directly at the GSM_VBAT supply pins provides the instantaneous charge needed for these bursts and prevents the rail from collapsing. Always ensure your LiPo battery is capable of supplying this current.<\/p><\/div>\n    \n  <\/div>\n<\/body>\n<\/html>\n\n\n\n<h3 class=\"wp-block-heading\">LIS3DHTR &#8211; 3-Axis Accelerometer<\/h3>\n\n\n\n<p>The <strong>LIS3DHTR<\/strong> is a low-power MEMS accelerometer from <strong>STMicroelectronics<\/strong> connected to the <strong>ESP32-S3<\/strong> over <strong>I\u00b2C<\/strong>. Its primary role in this system is <strong>motion-triggered wake-up<\/strong>: when the device is in deep sleep, the accelerometer remains powered and monitors movement. When vibration or motion exceeds the configured threshold, the INT pin fires an interrupt that wakes the ESP32-S3 from deep sleep, triggering an immediate GPS fix and data upload. This eliminates the need for a constant polling interval and dramatically extends battery life for asset-tracking applications.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_-LIS3DHTR.webp\" alt=\"\" class=\"wp-image-463\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_-LIS3DHTR.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_-LIS3DHTR-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">LIS3DHTR &#8211; 3-Axis Accelerometer<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: top !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 200px !important;\n  }\n\n  .wbr table tbody td sup {\n    font-size: 0.7em !important;\n    vertical-align: super !important;\n    line-height: 0 !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Interface<\/td><td>I<sup>2<\/sup>C \/ SPI \u2014 GL868_ESP32 uses I<sup>2<\/sup>C<\/td><\/tr>\n        <tr><td>Measurement Axis<\/td><td>3-axis<\/td><\/tr>\n        <tr><td>Measurement Ranges<\/td><td>\u00b12g \/ \u00b14g \/ \u00b18g \/ \u00b116g dynamically selectable full scale<\/td><\/tr>\n        <tr><td>Output Format<\/td><td>16-bit<\/td><\/tr>\n        <tr><td>Interrupt<\/td><td>2 independent programmable interrupt generators<\/td><\/tr>\n        <tr><td>Other Features<\/td><td>\n          6D\/4D orientation detection<br>\n          Free-fall detection<br>\n          Motion detection<br>\n          Embedded temperature sensor<br>\n          Embedded self-test<br>\n          Embedded 32-level 16-bit data output FIFO<br>\n          10,000 g high shock survivability\n        <\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">BQ24073RGTR &#8211; PMIC<\/h3>\n\n\n\n<p>The <strong>BQ24073RGTR<\/strong> is a USB-compatible single-cell LiPo battery charger IC from Texas Instruments. It manages the entire charging cycle -pre-conditioning, constant-current (CC), and constant-voltage (CV) &#8211; and provides a power-path architecture that allows the system to run directly from the USB supply while simultaneously charging the battery.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: top !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 200px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Maximum Input Voltage<\/td><td>6.4 V (28 V absolute max)<\/td><\/tr>\n        <tr><td>Maximum Charge Current<\/td><td>Up to 1.5 A<\/td><\/tr>\n        <tr><td>System Output Voltage<\/td><td>~4.4 V typical<\/td><\/tr>\n        <tr><td>Battery Voltage<\/td><td>4.2 V<\/td><\/tr>\n        <tr><td>Protection Features<\/td><td>\n          Thermal regulation during charging<br>\n          Thermal shutdown protection<br>\n          Battery temperature monitoring<br>\n          Input over-voltage protection<br>\n          Current limiting\n        <\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_BQ24073RGTR_PMIC.webp\" alt=\"\" class=\"wp-image-464\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_BQ24073RGTR_PMIC.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_BQ24073RGTR_PMIC-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">BQ24073RGTR PMIC<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">SPX3819M5-L-3-3 &#8211; 3.3V LDO<\/h3>\n\n\n\n<p>The <strong>SPX3819<\/strong> is a low-dropout (LDO) positive voltage regulator designed to deliver stable output with minimal noise. It operates with a small dropout voltage and maintains low ground current, typically around <strong>800 \u00b5A at a 100 mA load<\/strong>, making it suitable for power-efficient applications.This regulator provides an <strong>output accuracy within \u00b11%<\/strong> and includes a <strong>logic-compatible enable\/disable control<\/strong>. When the device is turned off, its power consumption becomes extremely low. The SPX3819 also incorporates several protection features such as <strong>reverse battery protection<\/strong>, <strong>current limiting<\/strong>, and <strong>thermal shutdown<\/strong> to improve reliability. Additionally, the device features a reference bypass pin that helps reduce output noise for sensitive circuits. Thanks to its very low temperature coefficient, the SPX3819 can also function effectively as a low-power voltage reference in precision applications.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SPX3819_LDO.webp\" alt=\"\" class=\"wp-image-465\" style=\"aspect-ratio:1.5000294446734586;width:371px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SPX3819_LDO.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SPX3819_LDO-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">SPX3819 3.3V LDO<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: top !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 200px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Input Voltage Range<\/td><td>2.5 V to 16 V<\/td><\/tr>\n        <tr><td>Output Voltage<\/td><td>3.3 V<\/td><\/tr>\n        <tr><td>Output Current<\/td><td>Up to 800 mA<\/td><\/tr>\n        <tr><td>Dropout Voltage<\/td><td>340 mV at full load<\/td><\/tr>\n        <tr><td>Quiescent Current<\/td><td>90 \u00b5A<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-d68864fd alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Circuit_Diagram_Explanation\"><\/span>Circuit Diagram Explanation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The schematic for the <strong>GL868_ESP32<\/strong> is organised into six logical sub-circuits: the power section, the SIM868 modem interface, the ESP32-S3 microcontroller connections, the motion sensor, the indicator LEDs and the expansion pins. Each block is described below.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH-1024x574.webp\" alt=\"\" class=\"wp-image-469\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH-1024x574.webp 1024w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH-300x168.webp 300w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH-768x431.webp 768w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH-1536x861.webp 1536w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH-2048x1148.webp 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Geolinker GL868 ESP32 Development Board Schematic Diagram<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Power Section<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"285\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Power.webp\" alt=\"\" class=\"wp-image-470\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Power.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Power-300x114.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Geolinker GL868 ESP32 Development Board Power Section<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The board supports two simultaneous power sources: USB-C (5 V from the host) and a single-cell LiPo battery (3.0\u20134.2 V). The <strong>BQ24073RGTR<\/strong> (U1) manages both through an internal power-path switch. When USB is connected it powers the system directly from VBUS and simultaneously charges the battery; when USB is absent, the battery takes over seamlessly with no switching glitch. the charge current is set to 500mA using the current limit resistor R4. Even tough the <strong>BQ24073RGTR<\/strong> is capable of 1.5A charge current we have limited it to the 500mA to reduce heat and better performance. Two LEDs are used to indicate the charging status. The 5.1K resistors connected to the CC pins ensures that the <strong>GL868_ESP32<\/strong> development board is compatible with all USB type c interfaces.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>From the BQ24073 output, the 3.3 V system rail is derived by the SPX3819M5-L-3-3 LDO regulator (U2). This rail powers the ESP32-S3-MINI-1, the LIS3DHTR accelerometer, and all 3.3V signal-level circuitry. The SIM868, which requires a supply of 3.4\u20134.4 V, is powered directly from the PMIC&#8217;s output rail (labelled VBAT in the schematic) &#8211; bypassing the LDO to ensure adequate voltage at full GSM burst current.<\/p>\n\n\n\n<p>The battery voltage divider connects the battery rail through resistors R8 and R9 (both 4.7 k\u03a9) down to a level safe for GPIO 1 (ADC1_CH0). The library reads this voltage via analogRead() and converts it to a battery percentage.<\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Wiki Block Export<\/title>\n  <style>\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Lora:wght@400;700&family=Sora:wght@400;600;700&display=swap');\n        *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n        body{font-family:'Sora',sans-serif;color:#1f2937;background:#fff;padding:24px;line-height:1.6}\n        \/* \u2500\u2500 Typography \u2500\u2500 *\/\n        .wiki-h1{font-family:'Lora',Georgia,serif;font-size:2.4rem;font-weight:400;color:#111827;line-height:1.2;letter-spacing:-0.02em;padding:8px 0 4px}\n        .wiki-h2{font-family:'Lora',Georgia,serif;font-size:1.7rem;font-weight:400;color:#111827;border-bottom:2px solid #e5e7eb;padding-bottom:10px;margin-bottom:4px;letter-spacing:-0.02em;position:relative}\n        .wiki-h2::before{content:'';display:inline-block;width:4px;height:1.5em;background:#e8372a;margin-right:10px;vertical-align:middle;border-radius:2px}\n        .wiki-h3{font-size:1.1rem;font-weight:700;color:#111827;letter-spacing:-0.01em;padding:4px 0}\n        .wiki-h4{font-family:'IBM Plex Mono',monospace;font-size:0.8rem;font-weight:600;color:#0891b2;text-transform:uppercase;letter-spacing:0.06em;padding:4px 0}\n        .wiki-p{font-size:0.95rem;color:#374151;line-height:1.75;padding:4px 0}\n        .wiki-hr{border:none;border-top:2px solid #e5e7eb;margin:8px 0}\n        \/* \u2500\u2500 Table (responsive) \u2500\u2500 *\/\n        .wiki-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb;width:100%}\n        .wiki-table{width:100%;border-collapse:collapse;font-size:0.87rem;font-family:'Sora',sans-serif}\n        .wiki-table thead tr{background:#111827;color:#fff}\n        .wiki-table thead th{padding:10px 14px;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.07em;text-transform:uppercase;font-weight:600;white-space:nowrap}\n        .wiki-table tbody tr{border-bottom:1px solid #e5e7eb}\n        .wiki-table tbody tr:last-child{border-bottom:none}\n        .wiki-table tbody tr:nth-child(even){background:#f9fafb}\n        .wiki-table tbody tr:hover{background:#f0f4ff}\n        .wiki-table tbody td{padding:9px 14px;color:#374151;vertical-align:top}\n        .wiki-table tbody td:first-child{font-weight:600;font-family:'IBM Plex Mono',monospace;font-size:0.82em;color:#111827;white-space:nowrap}\n        \/* \u2500\u2500 Callouts \u2500\u2500 *\/\n        .wiki-callout{border-left:4px solid;padding:13px 16px;border-radius:0 6px 6px 0;margin:8px 0}\n        .wiki-callout.info{border-color:#0891b2;background:rgba(8,145,178,0.06)}\n        .wiki-callout.warn{border-color:#f59e0b;background:rgba(245,158,11,0.07)}\n        .wiki-callout.danger{border-color:#e8372a;background:rgba(232,55,42,0.06)}\n        .wiki-callout.success{border-color:#22c55e;background:rgba(34,197,94,0.06)}\n        .wiki-callout .cl{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:5px}\n        .wiki-callout.info .cl{color:#0891b2}.wiki-callout.warn .cl{color:#f59e0b}.wiki-callout.danger .cl{color:#e8372a}.wiki-callout.success .cl{color:#22c55e}\n        .wiki-callout p{font-size:0.88rem;color:#374151;margin:0}\n        \/* \u2500\u2500 Code \u2500\u2500 *\/\n        .wiki-code{background:#0f1923;color:#e2e8f0;padding:18px 22px;border-radius:8px;font-family:'IBM Plex Mono',monospace;font-size:0.8rem;line-height:1.65;border-left:3px solid #e8372a;overflow-x:auto;white-space:pre;display:block}\n        \/* \u2500\u2500 Lists \u2500\u2500 *\/\n        .wiki-ul,.wiki-ol{padding-left:22px;font-size:0.95rem;color:#374151;line-height:1.8}\n        .wiki-ul li,.wiki-ol li{margin-bottom:4px}\n        \/* \u2500\u2500 Tag chips \u2500\u2500 *\/\n        .tag-chip{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;padding:3px 9px;border-radius:3px;border:1px solid;letter-spacing:0.04em;text-transform:uppercase;margin:2px}\n        \/* \u2500\u2500 LED dot \u2500\u2500 *\/\n        .led-dot{display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:middle;margin-right:7px}\n        .led-row-cell{display:flex;align-items:center}\n        \/* \u2500\u2500 Responsive breakpoint \u2500\u2500 *\/\n        @media(max-width:600px){\n          body{padding:12px}\n          .wiki-h1{font-size:1.6rem}.wiki-h2{font-size:1.3rem}\n          .wiki-table tbody td:first-child{white-space:normal}\n        }\n      <\/style>\n<\/head>\n<body>\n  <div class=\"block-inner\"><div class=\"wiki-callout warn\"><div class=\"cl\">\u26a0\ufe0fTip<\/div><p>During the fast charging the PMIC may get a little warm, but it is completely normal and within specs.<\/p><\/div><\/div>\n<\/body>\n<\/html>\n\n\n\n<h3 class=\"wp-block-heading\">SIM868 Interface<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The <strong>SIM868<\/strong> module (U7) connects to the ESP32-S3 through the UART channel <strong>UART1<\/strong>(GPIO 17 TX \u2192 SIM868 RX; GPIO 18 RX \u2192 SIM868 TX) via a <strong>TXB012DCU<\/strong> voltage level translator. The voltage level translator ensure that the SIM868 with a logic level of 2.8V is communicating with the MCU with out any problems. The <strong>Ring Indicator (RI)<\/strong> output from the SIM868 connects to GPIO 16, allowing the ESP32-S3 to wake from deep sleep on an incoming call or SMS without polling the UART.<\/p>\n\n\n\n<p>The SIM868 PWRKEY line connects through the <strong>PDTC114EU pre-biased NPN transistor<\/strong> (Q1) to GPIO 42. A brief low pulse on this GPIO drives the PWRKEY pin low, toggling the modem power state. This transistor configuration ensures the 3.3 V ESP32 GPIO can reliably drive the SIM868 PWRKEY, which is referenced to a different voltage rail.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"1024\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_SIM868-725x1024.webp\" alt=\"\" class=\"wp-image-471\" style=\"aspect-ratio:0.708008965799812;width:273px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_SIM868-725x1024.webp 725w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_SIM868-212x300.webp 212w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_SIM868.webp 750w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><figcaption class=\"wp-element-caption\">SIM868 Module Circuit<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>The <strong>SIM card interface<\/strong> routes SIM_CLK, <strong>SIM_DATA<\/strong>, <strong>SIM_RST<\/strong>, <strong>SIM_VCC<\/strong>, and the <strong>card-detect (CD)<\/strong> signal to the <strong>SIM868<\/strong>&#8216;s internal SIM controller. Pull-up resistors on the <strong>SIM_DATA<\/strong> and <strong>SIM_CLK<\/strong> lines ensure clean signalling. The SIM1_VCC line is powered by the SIM868&#8217;s internal 1.8 V or 3.0 V SIM supply &#8211; no external SIM power circuit is needed.<\/p>\n\n\n\n<p>GeoLinker <strong>GL868_ESP32<\/strong> uses a custom designed PCB antennaThree small RF inductors (L1 13 nH, L2 5 nH, L3 7.1 nH) along with precision capacitors are placed on the antenna feed lines. These form part of the matching and filtering network between the SIM868 GSM and GPS antenna ports and the board&#8217;s antenna connectors, suppressing harmonics and improving radiated efficiency.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ESP32-S3 SoC<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"626\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_ESP32.webp\" alt=\"\" class=\"wp-image-472\" style=\"aspect-ratio:1.1981222090759895;width:337px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_ESP32.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_ESP32-300x250.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">ESP32-S3-Mini Circuit<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The ESP32-S3-MINI-1 module lands on the one edge of the PCB. Its boot and reset buttons (SW1 on IO0, SW2 on EN) are accessible for firmware flashing. The USB D+ and D\u2212 signals from the USB-C connector (J1) route through 22 \u03a9 series resistors (R13\/R14 and R22\/R23) directly to the ESP32-S3&#8217;s internal USB-Serial\/JTAG controller &#8211; no separate USB-to-UART bridge IC is needed, reducing component count and cost. All the GPIOs that were used internally for the flash and PSRAM are left unconnected. All remaining available GPIOs are brought out to the expansion header for user convenience.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>The battery voltage is measured using GPIO1. Near the power input, two capacitors (C7 \u2013 10 \u00b5F and C8 \u2013 100 nF) are connected between 3.3 V and GND. These are decoupling capacitors used to stabilize the power supply. The larger capacitor helps smooth slow voltage fluctuations, while the smaller ceramic capacitor filters high-frequency noise generated by the ESP32 during Wi-Fi or processing activity. This combination ensures a clean and stable voltage supply to the module.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Indicator LEDs<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Apart from the charing indicators, the <strong>GL868_ESP32<\/strong> comes with an additional addressable RGB LED along with a status indicator LED. For the RGB LED we are using a <strong>WS2812B<\/strong> addressable RGB LED in a 2020 package. An additional <strong>TPS22919<\/strong> load switch is used to control the power to the <strong>WS2812B RGB LED<\/strong>, since even when it is not displaying any current , it will still draws a small amount of current. The load switch ensures that the RGB LED remains fully turned of during deep sleep mode to reduce energy usage. the load switch is controlled using the <strong>GPIO14<\/strong>, while the data for the addressable RGB LED is being controlled with <strong>GPIO15<\/strong>. <strong>GPIO47<\/strong> is used to controlled the single colour status LED.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"250\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Indicators.webp\" alt=\"\" class=\"wp-image-474\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Indicators.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Indicators-300x100.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">LED Indicator Circuit<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Expansion Headers<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"480\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Expansion_Headers.webp\" alt=\"\" class=\"wp-image-475\" style=\"width:406px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Expansion_Headers.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Expansion_Headers-300x192.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GL868 ESP32 Development Board Expansion Header<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>On the <strong>GL868_ESP32<\/strong> you can see four different expansion headers. Two of them are connected to the <strong>ESP32-S3 SoC<\/strong>. As you can see the J2 and J3 contains all the necessary pins brought out, including power pins 5V, 3V3 and GND, along with the I2C (Shared with onboard accelerometer), SPI, I2S, ADC, Touch and other remaining GPIO pins.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The expansion headers J4 and J5 are used for interfacing with the SIM868. The J4 brings out the SIM868&#8217;s UART1, Speaker Out (Connected to the Internal Class AB audio amplifier), Mic In. While the J5 brings out the SIM868&#8217;s KEY pin along with its USB pins.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"331\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Expansion_Headers2.webp\" alt=\"\" class=\"wp-image-476\" style=\"aspect-ratio:2.2659758203799654\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Expansion_Headers2.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_SCH_Expansion_Headers2-300x132.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GL868 ESP32 Development Board Expansion Header<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">GPIO Pin Map<\/h3>\n\n\n\n<p>The following table maps every functional signal to its corresponding <strong>ESP32-S3<\/strong> GPIO. These are fixed in hardware and cannot be remapped.<\/p>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: top !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 180px !important;\n  }\n\n  .wbr table tbody td sup {\n    font-size: 0.7em !important;\n    vertical-align: super !important;\n    line-height: 0 !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Pin<\/th><th>Function<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>GPIO17 \/ TX<\/td><td>SIM868 UART TX (to modem RXD)<\/td><\/tr>\n        <tr><td>GPIO18 \/ RX<\/td><td>SIM868 UART RX (from modem TXD)<\/td><\/tr>\n        <tr><td>GPIO16 \/ RI<\/td><td>SIM868 Ring Indicator \u2014 wake on call\/SMS<\/td><\/tr>\n        <tr><td>GPIO42 \/ PWR_KEY<\/td><td>SIM868 PWRKEY \u2014 modem power toggle<\/td><\/tr>\n        <tr><td>GPIO8<\/td><td>LIS3DHTR I<sup>2<\/sup>C Data<\/td><\/tr>\n        <tr><td>GPIO9<\/td><td>LIS3DHTR I<sup>2<\/sup>C Clock<\/td><\/tr>\n        <tr><td>GPIO2<\/td><td>LIS3DHTR INT \u2014 motion wake interrupt<\/td><\/tr>\n        <tr><td>GPIO14<\/td><td>WS2812B power control<\/td><\/tr>\n        <tr><td>GPIO15<\/td><td>WS2812B RGB LED data<\/td><\/tr>\n        <tr><td>GPIO47<\/td><td>Status LED<\/td><\/tr>\n        <tr><td>GPIO1<\/td><td>Battery voltage ADC reading<\/td><\/tr>\n        <tr><td>GPIO0<\/td><td>BOOT button (SW1) \/ Flash mode entry<\/td><\/tr>\n        <tr><td>EN<\/td><td>RESET button (SW2) \u2014 chip enable<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">WS2812B LED Status Reference<\/h3>\n\n\n\n<p>The onboard WS2812B RGB LED is used to indicate the current state the <strong>GL868_ESP32<\/strong>. Here are the list of indications.<\/p>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: middle !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 140px !important;\n  }\n\n  .wbr table tbody td b {\n    font-weight: 700 !important;\n    color: #111827 !important;\n  }\n\n  .wbr .dot {\n    display: inline-block !important;\n    width: 14px !important;\n    height: 14px !important;\n    border-radius: 50% !important;\n    vertical-align: middle !important;\n    margin-right: 6px !important;\n    position: relative !important;\n    top: -1px !important;\n    flex-shrink: 0 !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr>\n          <th style=\"width:140px;\">Colour<\/th>\n          <th>State<\/th>\n          <th>Remarks<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#facc15 !important;\"><\/span>Yellow<\/td>\n          <td><b>Boot<\/b><\/td>\n          <td>Firmware initialising and waiting for modem ready<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#a855f7 !important;\"><\/span>Purple<\/td>\n          <td><b>GSM<\/b><\/td>\n          <td>Searching for GSM network, waiting for registration<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#3b82f6 !important;\"><\/span>Blue<\/td>\n          <td><b>GPS<\/b><\/td>\n          <td>GPS initialised, waiting for location fix<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#f3f4f6 !important; border:1px solid #d1d5db !important;\"><\/span>White<\/td>\n          <td><b>Cloud<\/b><\/td>\n          <td>Attaching to GPRS data bearer and HTTP\/HTTPS POST to GeoLinker cloud in progress<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#ff69b4 !important;\"><\/span>Pink<\/td>\n          <td><b>Offline Data<\/b><\/td>\n          <td>Saving offline data to storage<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#ef4444 !important;\"><\/span>Red<\/td>\n          <td><b>Error<\/b><\/td>\n          <td>Error indicator<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\" style=\"background:#374151 !important; border:1px solid #9ca3af !important;\"><\/span>Off<\/td>\n          <td><b>Sleep<\/b><\/td>\n          <td>Sleep mode<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Error Codes<\/h4>\n\n\n\n<p>When a major error occurs the RGB status LED will blink in red. You can use the table below to identify the exact error using the blink code.<\/p>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: middle !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 200px !important;\n    display: flex !important;\n    align-items: center !important;\n    gap: 4px !important;\n    flex-wrap: nowrap !important;\n  }\n\n  .wbr .dot {\n    display: inline-block !important;\n    width: 14px !important;\n    height: 14px !important;\n    border-radius: 50% !important;\n    background: #ef4444 !important;\n    flex-shrink: 0 !important;\n  }\n\n  .wbr .solid-bar {\n    display: inline-block !important;\n    width: 104px !important;\n    height: 14px !important;\n    border-radius: 4px !important;\n    background: #ef4444 !important;\n    flex-shrink: 0 !important;\n  }\n\n  .wbr .label {\n    margin-left: 6px !important;\n    white-space: nowrap !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; width: auto !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Status LED Blink Count<\/th><th>Error<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td><span class=\"dot\"><\/span><span class=\"label\">1 blink<\/span><\/td>\n          <td>NO_SIM \u2014 SIM card not detected<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"label\">2 blinks<\/span><\/td>\n          <td>NO_NETWORK \u2014 GSM registration failed<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"label\">3 blinks<\/span><\/td>\n          <td>NO_GPRS \u2014 GPRS data attach failed<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"label\">4 blinks<\/span><\/td>\n          <td>NO_GPS \u2014 GPS fix failed after all retries<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"dot\"><\/span><span class=\"label\">5 blinks<\/span><\/td>\n          <td>HTTP_FAIL \u2014 Data upload failed after all retries<\/td>\n        <\/tr>\n        <tr>\n          <td><span class=\"solid-bar\"><\/span><span class=\"label\">Solid<\/span><\/td>\n          <td>MODEM \u2014 Modem communication error<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-4bc01bb4 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"PCB_Design_Overview\"><\/span>PCB Design &amp; Overview<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The GL868_ESP32 PCB (version 3.1) is a compact 33 \u00d7 85 mm two-layer board designed entirely in KiCad. Component placement prioritises RF performance &#8211; the SIM868 antenna pads are routed at the top of the board away from the digital noise sources, and the GSM\/GNSS antenna sit at the board edge for unobstructed radiation. All SMD passive components use 0402 imperial footprints, keeping the board dense while remaining manufacturable by standard SMT assembly lines.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"529\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_PCB.webp\" alt=\"\" class=\"wp-image-479\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_PCB.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32_PCB-300x212.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">PCB Design Files &amp; Resources<\/h3>\n\n\n\n<p>All design files are maintained in the GitHub repository under an open-source licence. You are free to use, modify, and manufacture these designs for personal or commercial projects, attribution appreciated.<\/p>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: middle !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 180px !important;\n  }\n\n  .wbr .gh-link {\n    display: inline-flex !important;\n    align-items: center !important;\n    gap: 6px !important;\n    color: #111827 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.78rem !important;\n    font-weight: 600 !important;\n    text-decoration: none !important;\n    background: #f3f4f6 !important;\n    border: 1px solid #d1d5db !important;\n    border-radius: 5px !important;\n    padding: 4px 10px !important;\n    transition: background 0.15s !important;\n    white-space: nowrap !important;\n  }\n\n  .wbr .gh-link:hover {\n    background: #e5e7eb !important;\n    color: #111827 !important;\n    text-decoration: none !important;\n  }\n\n  .wbr .gh-link svg {\n    flex-shrink: 0 !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Resource<\/th><th>Description<\/th><th>Link<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td>KiCad Project<\/td>\n          <td>KiCad design files<\/td>\n          <td>\n            <a class=\"gh-link\" href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\/tree\/main\/Hardware\/GL868_ESP32V3.1\" target=\"_blank\" rel=\"noopener\">\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z\"\/><\/svg>\n              GitHub\n            <\/a>\n          <\/td>\n        <\/tr>\n        <tr>\n          <td>Circuit Diagrams<\/td>\n          <td>Circuit diagrams<\/td>\n          <td>\n            <a class=\"gh-link\" href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" target=\"_blank\" rel=\"noopener\">\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z\"\/><\/svg>\n              GitHub\n            <\/a>\n          <\/td>\n        <\/tr>\n        <tr>\n          <td>Gerber Files<\/td>\n          <td>Gerber files<\/td>\n          <td>\n            <a class=\"gh-link\" href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" target=\"_blank\" rel=\"noopener\">\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z\"\/><\/svg>\n              GitHub\n            <\/a>\n          <\/td>\n        <\/tr>\n        <tr>\n          <td>Arduino Library<\/td>\n          <td>GL868_ESP32 Arduino library<\/td>\n          <td>\n            <a class=\"gh-link\" href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" target=\"_blank\" rel=\"noopener\">\n              <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z\"\/><\/svg>\n              GitHub\n            <\/a>\n          <\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Resource<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Description<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Link<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">KiCad Project<\/td><td class=\"has-text-align-center\" data-align=\"center\">KiCad Design Files<\/td><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\/tree\/main\/Hardware\/GL868_ESP32V3.1\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub Repository<\/a><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Circuit Diagrams<\/td><td class=\"has-text-align-center\" data-align=\"center\">Circuit Diagrams<\/td><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\/blob\/main\/Hardware\/GL868_ESP32V3.1\/GL868_ESP32V3.1.pdf\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub<\/a><a data-type=\"link\" data-id=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"> Repository<\/a><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Gerber Files<\/td><td class=\"has-text-align-center\" data-align=\"center\">Gerber Files<\/td><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\/blob\/main\/Hardware\/GL868_ESP32V3.1\/production\/GL868_ESP32V3.1.zip\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub<\/a><a data-type=\"link\" data-id=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" target=\"_blank\" rel=\"noreferrer noopener nofollow\"> Repository<\/a><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Arduino Library<\/td><td class=\"has-text-align-center\" data-align=\"center\">GL868_ESP32 Arduino Library<\/td><td class=\"has-text-align-center\" data-align=\"center\"><a href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">GitHub Repository<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Interactive BOM<\/h3>\n\n\n\n<iframe loading=\"lazy\" \n  src=\"https:\/\/htmlpreview.github.io\/?https:\/\/github.com\/Circuit-Digest\/SemiconLab-Website\/blob\/main\/gl868_esp32_ibom.html\"\n  width=\"100%\" \n  height=\"600px\" \n  frameborder=\"0\">\n<\/iframe>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-2c4d047f alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Custom_Combo_Antenna\"><\/span>Custom Combo Antenna<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Using two separate external antennas for the GL868_ESP32 board presents a range of practical problems that make the approach unsuitable for the board&#8217;s intended deployment context. The most immediate issue is physical size-accommodating two discrete antenna elements, whether whip, patch, or flex-cable type, requires either two SMA or U.FL connectors on the board edge plus the clearance around each, or two coaxial pigtails routed away from the enclosure, both of which directly contradict the compact, low-profile nature of the design. Beyond footprint, the mechanical reliability of two independent antenna connections is a genuine concern in field deployments; connectors work loose under vibration, cables develop stress fractures at bend points, and each additional connector is a potential ingress point for moisture in outdoor installations.<\/p>\n\n\n\n<p>There is also the matter of RF signal loss &#8211; every coaxial cable, adapter, and connector in the signal path bleeds away signal, and on the GNSS side this is particularly damaging because satellite signals arrive at the module already vanishingly weak, meaning even a decibel or two of cable loss translates directly into slower fix acquisition, reduced sensitivity in poor sky-view conditions, and more frequent signal dropouts. From a cost perspective, two qualified dual-band external antennas, their connectors, and any associated mounting hardware add a tangible per-unit bill of materials cost that compounds at scale, whereas a PCB trace antenna is fabricated as part of the board itself at no additional component cost. Finally, two external antennas introduce variability &#8211; in orientation, positioning relative to the ground plane, and proximity to each other &#8211; that makes repeatable RF performance and EMC certification testing far more difficult, since the antenna configuration is no longer fixed and consistent between units.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"500\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Combo-Ant-GL868-Drawing-v3.webp\" alt=\"\" class=\"wp-image-499\" style=\"aspect-ratio:1.5000290073678715;width:386px;height:auto\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Combo-Ant-GL868-Drawing-v3.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Combo-Ant-GL868-Drawing-v3-300x200.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GL868_ESP32 Custom Antenna Design<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The image shows the the antenna layout. The left one is for GNSS\/ GPS , while the second one is for GSM. The antenna is a two-port PCB trace structure tuned to cover the GSM and GPS bands concurrently. The radiating elements, feed traces, and ground plane clearances were all co-designed specifically around the GL868 module layout. A lumped-element matching network is placed between the antenna feed points and the module RF pins to bring both ports to a 50 \u03a9 reference impedance across their respective operating bands.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>The matching network transforms each port&#8217;s antenna impedance to 50 \u03a9 , achieving \u22122.5 dB efficiency on GPS and \u22124.9 dB on GSM. The GPS port uses a two-element series ladder C1 suppressing GSM-band interference and L1 resonating out the capacitive reactance &#8211; for a narrowband match at 1.575 GHz, while the GSM port uses a four-element ladder where L2\/L3 transform the high reactive impedance at 900 MHz and C2\/C3 refine the match at 1800 MHz and suppress energy above 2 GHz, with the \u22124.9 to \u22126.3 dB GSM efficiency.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"513\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Antenna-matching-circuit-1024x513.webp\" alt=\"\" class=\"wp-image-502\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Antenna-matching-circuit-1024x513.webp 1024w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Antenna-matching-circuit-300x150.webp 300w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Antenna-matching-circuit-768x385.webp 768w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Antenna-matching-circuit-1536x770.webp 1536w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/Antenna-matching-circuit.webp 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">GL868 Combo Antenna Matching Circuit<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">GPS Antenna Performance<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Simulation<\/h4>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Simulated from 1 to 2 GHz. S1,1 shows a well-defined resonance at 1.575 GHz (\u221221 dB return loss), precisely aligned with GPS L1. Radiation efficiency is \u22120.13 dB and total efficiency \u22120.48 dB at 1.575 GHz. Realised gain is 2.09 dBi. The 3D pattern is broadly omnidirectional with good upper-hemisphere coverage across all simulated frequencies.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu1.webp\" alt=\"\" class=\"wp-image-503\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu1.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu1-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GPS S1,1 return loss &#8211; resonance at 1.575 GHz (\u221221 dB).<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu2.webp\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu2.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu2-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\"><em>Radiation efficiency (~\u22120.13 dB) and total efficiency (\u22120.45 dB) at 1.575 GHz.<\/em><\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu-3.webp\" alt=\"\" class=\"wp-image-505\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu-3.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu-3-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GPS realised gain &#8211; 2.09 dBi at 1.575 GHz.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu-4.webp\" alt=\"\" class=\"wp-image-506\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu-4.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/simu-4-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">3D far-field patterns at 1.2, 1.3, and 1.57 GHz showing near-omnidirectional coverage.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">VNA Measurements \u2014 GPS L1 Band (1565\u20131585 MHz)<\/h4>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: middle !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 180px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Measured Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Return Loss<\/td><td>\u221210.3 dB<\/td><\/tr>\n        <tr><td>SWR<\/td><td>1.88 : 1<\/td><\/tr>\n        <tr><td>Z_re<\/td><td>~50.8 \u03a9<\/td><\/tr>\n        <tr><td>Z_im<\/td><td>\u221232.5 \u03a9<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<p>Measured at the SIM868 GPS RF pin, inclusive of the matching network. The real impedance is stable at ~50.8 \u03a9 across the L1 band \u2014 an excellent match to the 50 \u03a9 reference. A small residual capacitive reactance (\u221232.5 \u03a9) is present, which the matching network partially compensates.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-1.webp\" alt=\"\" class=\"wp-image-510\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-1.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-1-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GPS L1 VNA results: Return loss \u221210.3 dB \/ SWR 1.88:1<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-2.webp\" alt=\"\" class=\"wp-image-509\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-2.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-2-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Real impedance ~50.8 \u03a9<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-3.webp\" alt=\"\" class=\"wp-image-508\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-3.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l1-3-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Imaginary impedance \u221232.5 \u03a9<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">VNA Measurements \u2014 GPS Broadband \/ L5 (1166\u20131880 MHz)<\/h4>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: middle !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 180px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Measured Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Return Loss<\/td><td>\u221215.7 dB<\/td><\/tr>\n        <tr><td>SWR<\/td><td>1.39 : 1<\/td><\/tr>\n        <tr><td>Z_re<\/td><td>~43 \u03a9<\/td><\/tr>\n        <tr><td>Z_im<\/td><td>~13.7 \u03a9<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<p>A wider sweep confirms the antenna and matching network maintain strong performance across the extended L-band. Multiple resonances are visible on the Smith chart spiral. The minimum SWR of 1.39:1 and \u221215.7 dB return loss across this range are favourable for GNSS receivers using both L1 and L5 signals.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-1.webp\" alt=\"\" class=\"wp-image-511\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-1.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-1-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GPS broadband VNA results: Return loss \u221215.7 dB \/ SWR 1.39:1<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-2.webp\" alt=\"\" class=\"wp-image-512\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-2.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-2-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Real impedance ~43 \u03a9<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-3.webp\" alt=\"\" class=\"wp-image-513\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-3.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gps-l5-3-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Imaginary impedance ~13.7 \u03a9<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">GSM Antenna Performance<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Simulation<\/h4>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Simulated from 0 to 3 GHz. S1,1 shows a primary resonance at 1.8 GHz (\u22126.47 dB) and secondary resonances near 1.7 GHz and 2.1 GHz, covering GSM 1800\/1900 and upper. Radiation efficiency is \u22121.2 to \u22122.8 dB across the upper GSM bands. Realised gain peaks at 3.3 dBi at 2.1\u20132.3 GHz. The 3D radiation pattern is near-omnidirectional at lower frequencies, appropriate for an asset tracking device deployed in unknown orientation.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-1.webp\" alt=\"\" class=\"wp-image-514\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-1.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-1-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GSM S1,1 return loss \u2014 primary resonance at 1.8 GHz (\u22126.47 dB), secondary resonances at 1.7 GHz and 2.1 GHz.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-2.webp\" alt=\"\" class=\"wp-image-515\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-2.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-2-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Radiation efficiency (\u22121 to \u22122.5 dB) and total efficiency across band.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-3.webp\" alt=\"\" class=\"wp-image-517\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-3.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-3-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GSM realised gain peaking at 3.3 dBi at 2.1\u20132.3 GHz.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-4.webp\" alt=\"\" class=\"wp-image-518\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-4.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-4-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">3D far-field patterns at 0.7, 0.85, 1.7 GHz \u2014 near-omnidirectional at lower frequencies.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"422\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-5.webp\" alt=\"\" class=\"wp-image-519\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-5.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/gsm-sim-5-300x169.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">GSM 3D far-field patterns at 0.9, 2.1, and 2.3 GHz. Directivity 1.6\u20133.7 dBi with slight beam elongation at upper frequencies.<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">VNA Measurements \u2014 GSM 1800 (1710\u20131880 MHz)<\/h4>\n\n\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Mono:wght@400;600&family=Sora:wght@400;600;700&display=swap');\n\n  .wbr * { box-sizing: border-box !important; }\n\n  .wbr {\n    font-family: 'Sora', sans-serif !important;\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wbr .twrap {\n    overflow-x: auto;\n    border-radius: 8px;\n    border: 1px solid #e5e7eb !important;\n    width: 100%;\n  }\n\n  .wbr table {\n    width: 100% !important;\n    border-collapse: collapse !important;\n    font-size: 0.87rem !important;\n    font-family: 'Sora', sans-serif !important;\n    background: transparent !important;\n    margin: 0 !important;\n  }\n\n  .wbr table thead tr {\n    background: #111827 !important;\n  }\n\n  .wbr table thead th {\n    padding: 10px 14px !important;\n    text-align: left !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.68rem !important;\n    letter-spacing: 0.07em !important;\n    text-transform: uppercase !important;\n    font-weight: 600 !important;\n    color: #ffffff !important;\n    border: none !important;\n    white-space: nowrap !important;\n    background: transparent !important;\n  }\n\n  .wbr table tbody tr {\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    background: #ffffff !important;\n  }\n\n  .wbr table tbody tr:last-child {\n    border-bottom: none !important;\n  }\n\n  .wbr table tbody tr:nth-child(even) {\n    background: #f9fafb !important;\n  }\n\n  .wbr table tbody tr:hover {\n    background: #f0f4ff !important;\n  }\n\n  .wbr table tbody td {\n    padding: 9px 14px !important;\n    color: #374151 !important;\n    vertical-align: middle !important;\n    border: none !important;\n    border-right: 1px solid #e5e7eb !important;\n    font-family: 'Sora', sans-serif !important;\n    font-size: 0.87rem !important;\n    font-weight: 400 !important;\n    background: transparent !important;\n    line-height: 1.7 !important;\n  }\n\n  .wbr table tbody td:last-child {\n    border-right: none !important;\n  }\n\n  .wbr table tbody td:first-child {\n    font-weight: 600 !important;\n    font-family: 'IBM Plex Mono', monospace !important;\n    font-size: 0.82em !important;\n    color: #111827 !important;\n    white-space: nowrap !important;\n    width: 180px !important;\n  }\n\n  @media (max-width: 600px) {\n    .wbr table tbody td:first-child { white-space: normal !important; }\n  }\n<\/style>\n\n<div class=\"wbr\">\n  <div class=\"twrap\">\n    <table>\n      <thead>\n        <tr><th>Parameter<\/th><th>Measured Value<\/th><\/tr>\n      <\/thead>\n      <tbody>\n        <tr><td>Return Loss<\/td><td>\u22128.5 dB<\/td><\/tr>\n        <tr><td>SWR<\/td><td>2.20 : 1<\/td><\/tr>\n        <tr><td>Z_re<\/td><td>~51.7 \u03a9<\/td><\/tr>\n        <tr><td>Z_im<\/td><td>\u221241.2 \u03a9<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<p>At 1800 MHz, the measured real impedance is near-ideal at 51.7 \u03a9, demonstrating that the matching network brings the GSM 1800 port to a well-matched condition at the module pin. The Smith chart loop trace reflects a reactive sweep across the band, with the resonant crossing occurring within the 1800 MHz window.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-1.webp\" alt=\"\" class=\"wp-image-520\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-1.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-1-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Return loss \u22128.5 dB \/ SWR 2.20:1<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-2.webp\" alt=\"\" class=\"wp-image-521\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-2.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-2-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Real impedance ~51.7 \u03a9<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"469\" src=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-3.webp\" alt=\"\" class=\"wp-image-522\" srcset=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-3.webp 750w, https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/vna-gsm-1800-3-300x188.webp 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption class=\"wp-element-caption\">Imaginary impedance \u221241.2 \u03a9<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-4df0b3d6 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Arduino_Library_Installation\"><\/span>Arduino Library Installation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Install from Arduino Library Manager<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open the Arduino IDE on your computer.<\/li>\n\n\n\n<li>In the left sidebar, click the<strong> Library Manager<\/strong> icon.<\/li>\n\n\n\n<li>In the search bar, type <strong>GL868_ESP32<\/strong>.<\/li>\n\n\n\n<li>Find the <strong>GL868_ESP32<\/strong> library in the results.<\/li>\n\n\n\n<li>Click <strong>Install<\/strong>.<\/li>\n\n\n\n<li>After installation, the library will be available for use in your sketches.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Install Manually from GitHub<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to the <strong><a href=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\" data-type=\"link\" data-id=\"https:\/\/github.com\/Circuit-Digest\/GL868_ESP32\">GL868_ESP32 GitHub repository<\/a><\/strong>.<\/li>\n\n\n\n<li>Click the Code button and select Download ZIP.<\/li>\n\n\n\n<li>Extract the library ZIP file.<\/li>\n\n\n\n<li>Copy the extracted folder <strong>GL868_ESP32<\/strong>.<\/li>\n\n\n\n<li>Paste it into the Arduino libraries folder: <strong>Documents\/Arduino\/libraries\/<\/strong><\/li>\n\n\n\n<li>Restart Arduino IDE so the library appears in the library list.<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-1f0c50d9 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Examples\"><\/span>Examples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">FactoryFirmware<\/h3>\n\n\n\n<p>The FactoryFirmware example is the reference firmware shipped with the <strong>GL868_ESP32<\/strong> library. It demonstrates a complete, IoT tracker device featuring GPS location reporting, GSM\/SMS communication, incoming call handling, deep sleep power management, and SIM activation workflows &#8211; all running on an ESP32 paired with a SIM868 cellular+GPS module. It is designed to be the out-of-the-box starting point for any asset tracker or fleet management device built on this hardware platform. You can flash it to a device, power it on, follow the on-screen activation steps, enter your API key, and immediately begin sending GPS data to the <strong>GeoLinker cloud<\/strong>.<\/p>\n\n\n\n<p>After powering the device, open the serial monitor to observe the initialisation process. The firmware will display SIM details and an activation URL for completing SIM registration if required. Once the SIM registers on the network, you will be prompted to enter your GeoLinker API key, which can be obtained from the GeoLinker cloud dashboard. After entering the key, the device automatically transitions into normal operation where it periodically updates GPS data to the cloud and responds to SMS or call-based location requests.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-50bc3beb alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Troubleshooting_Guide\"><\/span>Troubleshooting Guide<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">SIM card not registering to the network.<\/h4>\n\n\n\n<p>Make sure your SIM card is activated and the 2G network coverage is available in your area. If you are not using SIM card that is not provided with GL868_ESP32, make sure it supports 2G network support and has coverage in your area.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Unable to get a GPS lock after the device is powered on.<\/h4>\n\n\n\n<p>Make sure you are not inside a building, especially for the first boot (or after full power cycle) and the sky is clear. GPS lock after full power cycle (battery fully removed and reconnected) may take some time depending on the satellite visibility.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The GL868_ESP32 unable to send data when using SIM card that is not an Airtel IoT SIM card.<\/h4>\n\n\n\n<p>When using SIM card that is not an <strong>Airtel IoT SIM<\/strong> card make sure to set the correct APN name using <strong>GeoLinker.setAPN(&#8220;your.apn&#8221;)<\/strong> before <strong>GeoLinker.begin() <\/strong>in your sketch.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Board does not enumerate as a USB device \/ cannot upload firmware<\/h4>\n\n\n\n<p>Hold the BOOT button (SW1), press and release RESET (SW2), then release BOOT. The ESP32-S3 will enter download mode. In Arduino IDE, make sure to set USB CDC On Boot to Enable before uploading the sketch.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Unable to call from and to the Airtel IoT SIM and SMS is also not working<\/h4>\n\n\n\n<p>Make sure to white list the number you are trying to call or trying to call from. Same applies for the SMS<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-separator uagb-block-e0afd750\"><div class=\"wp-block-uagb-separator__inner\" style=\"--my-background-image:url(&quot;data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cg clip-path='url(%23clip0_2356_5631)'%3E%3Cpath d='M15 1C10.5 1 9 2.5 9 7C13.5 7 15 5.5 15 1Z' stroke='black'\/%3E%3Cpath d='M1 1C5.5 1 7 2.5 7 7C2.5 7 1 5.5 1 1Z' stroke='black'\/%3E%3Cpath d='M15 15C10.5 15 9 13.5 9 9C13.5 9 15 10.5 15 15Z' stroke='black'\/%3E%3Cpath d='M1 15C5.5 15 7 13.5 7 9C2.5 9 1 10.5 1 15Z' stroke='black'\/%3E%3C\/g%3E%3Cdefs%3E%3CclipPath id='clip0_2356_5631'%3E%3Crect width='16' height='16' fill='white'\/%3E%3C\/clipPath%3E%3C\/defs%3E%3C\/svg%3E&quot;)\"><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Have_any_Questions\"><\/span>Have any Questions?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2246ba4f wp-block-columns-is-layout-flex\" style=\"padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\">\n<p class=\"has-text-align-right\">Start a Discussion on:<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-6e4966e5 wp-block-columns-is-layout-flex\" style=\"padding-top:0;padding-right:var(--wp--preset--spacing--80);padding-bottom:0;padding-left:var(--wp--preset--spacing--80)\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-uagb-info-box uagb-block-b567ff6d uagb-infobox__content-wrap  uagb-infobox_cta-type-all uagb-infobox-icon-above-title uagb-infobox-image-valign-top\"><a href=\"https:\/\/chat.whatsapp.com\/L79JMpehN63KCiBPNRwske\" class=\"uagb-infobox-link-wrap uagb-infbox__link-to-all\" target=\"_blank\" aria-label=\"Infobox Link\" rel=\"noopener noreferrer\" onclick=\"return true;\"><\/a><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-icon-wrap\"><svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\"><path d=\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"><\/path><\/svg><\/div><div class=\"uagb-ifb-title-wrap\"><span class=\"uagb-ifb-title-prefix\">WHATSAPP<\/span><\/div><div class=\"uagb-ifb-button-wrapper wp-block-button\"><\/div><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-uagb-info-box uagb-block-27c2e47f uagb-infobox__content-wrap  uagb-infobox_cta-type-all uagb-infobox-icon-above-title uagb-infobox-image-valign-top\"><a href=\"https:\/\/t.me\/circuitdigest\" class=\"uagb-infobox-link-wrap uagb-infbox__link-to-all\" target=\"_blank\" aria-label=\"Infobox Link\" rel=\"noopener noreferrer\" onclick=\"return true;\"><\/a><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-icon-wrap\"><svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 496 512\"><path d=\"M248 8C111 8 0 119 0 256S111 504 248 504 496 392.1 496 256 384.1 8 248 8zM362.1 176.7c-3.732 39.22-19.88 134.4-28.1 178.3-3.476 18.58-10.32 24.82-16.95 25.42-14.4 1.326-25.34-9.517-39.29-18.66-21.83-14.31-34.16-23.22-55.35-37.18-24.49-16.14-8.612-25 5.342-39.5 3.652-3.793 67.11-61.51 68.33-66.75 .153-.655 .3-3.1-1.154-4.384s-3.59-.849-5.135-.5q-3.283 .746-104.6 69.14-14.85 10.19-26.89 9.934c-8.855-.191-25.89-5.006-38.55-9.123-15.53-5.048-27.88-7.717-26.8-16.29q.84-6.7 18.45-13.7 108.4-47.25 144.6-62.3c68.87-28.65 83.18-33.62 92.51-33.79 2.052-.034 6.639 .474 9.61 2.885a10.45 10.45 0 0 1 3.53 6.716A43.76 43.76 0 0 1 362.1 176.7z\"><\/path><\/svg><\/div><div class=\"uagb-ifb-title-wrap\"><span class=\"uagb-ifb-title-prefix\">TELEGRAM<\/span><\/div><div class=\"uagb-ifb-button-wrapper wp-block-button\"><\/div><\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-uagb-info-box uagb-block-73610d36 uagb-infobox__content-wrap  uagb-infobox_cta-type-all uagb-infobox-icon-above-title uagb-infobox-image-valign-top\"><a href=\"https:\/\/discord.com\/invite\/UXJrFJSWpz\" class=\"uagb-infobox-link-wrap uagb-infbox__link-to-all\" target=\"_blank\" aria-label=\"Infobox Link\" rel=\"noopener noreferrer\" onclick=\"return true;\"><\/a><div class=\"uagb-ifb-content\"><div class=\"uagb-ifb-icon-wrap\"><svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 512\"><path d=\"M524.5 69.84a1.5 1.5 0 0 0 -.764-.7A485.1 485.1 0 0 0 404.1 32.03a1.816 1.816 0 0 0 -1.923 .91 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.14-30.6 1.89 1.89 0 0 0 -1.924-.91A483.7 483.7 0 0 0 116.1 69.14a1.712 1.712 0 0 0 -.788 .676C39.07 183.7 18.19 294.7 28.43 404.4a2.016 2.016 0 0 0 .765 1.375A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.063-.676A348.2 348.2 0 0 0 208.1 430.4a1.86 1.86 0 0 0 -1.019-2.588 321.2 321.2 0 0 1 -45.87-21.85 1.885 1.885 0 0 1 -.185-3.126c3.082-2.309 6.166-4.711 9.109-7.137a1.819 1.819 0 0 1 1.9-.256c96.23 43.92 200.4 43.92 295.5 0a1.812 1.812 0 0 1 1.924 .233c2.944 2.426 6.027 4.851 9.132 7.16a1.884 1.884 0 0 1 -.162 3.126 301.4 301.4 0 0 1 -45.89 21.83 1.875 1.875 0 0 0 -1 2.611 391.1 391.1 0 0 0 30.01 48.81 1.864 1.864 0 0 0 2.063 .7A486 486 0 0 0 610.7 405.7a1.882 1.882 0 0 0 .765-1.352C623.7 277.6 590.9 167.5 524.5 69.84zM222.5 337.6c-28.97 0-52.84-26.59-52.84-59.24S193.1 219.1 222.5 219.1c29.67 0 53.31 26.82 52.84 59.24C275.3 310.1 251.9 337.6 222.5 337.6zm195.4 0c-28.97 0-52.84-26.59-52.84-59.24S388.4 219.1 417.9 219.1c29.67 0 53.31 26.82 52.84 59.24C470.7 310.1 447.5 337.6 417.9 337.6z\"><\/path><\/svg><\/div><div class=\"uagb-ifb-title-wrap\"><span class=\"uagb-ifb-title-prefix\">DISCORD<\/span><\/div><div class=\"uagb-ifb-button-wrapper wp-block-button\"><\/div><\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introduction The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"left-sidebar","site-content-layout":"","ast-site-content-layout":"normal-width-container","site-content-style":"unboxed","site-sidebar-style":"boxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"[]"},"class_list":["post-434","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GeoLinker GL868 ESP32 - CircuitDigest Wiki<\/title>\n<meta name=\"description\" content=\"The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GeoLinker GL868 ESP32 - CircuitDigest Wiki\" \/>\n<meta property=\"og:description\" content=\"The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\" \/>\n<meta property=\"og:site_name\" content=\"CircuitDigest Wiki\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/circuitdigest\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T13:08:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1-646x1024.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"646\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@CircuitDigest\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"30 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\"},\"author\":{\"name\":\"wiki_admin\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#\/schema\/person\/a8bffae6338cf77379f0569400b9b887\"},\"headline\":\"GeoLinker GL868 ESP32\",\"datePublished\":\"2026-03-14T11:44:07+00:00\",\"dateModified\":\"2026-03-17T13:08:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\"},\"wordCount\":4612,\"publisher\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#organization\"},\"image\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif\",\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"ItemPage\"],\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\",\"url\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\",\"name\":\"GeoLinker GL868 ESP32 - CircuitDigest Wiki\",\"isPartOf\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif\",\"datePublished\":\"2026-03-14T11:44:07+00:00\",\"dateModified\":\"2026-03-17T13:08:15+00:00\",\"description\":\"The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking.\",\"breadcrumb\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage\",\"url\":\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif\",\"contentUrl\":\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif\",\"width\":750,\"height\":1188},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/circuitdigest.com\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GeoLinker GL868 ESP32\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#website\",\"url\":\"https:\/\/circuitdigest.com\/wiki\/\",\"name\":\"CircuitDigest Wiki\",\"description\":\"Wiki Page for Circuit Digest\",\"publisher\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/circuitdigest.com\/wiki\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#organization\",\"name\":\"CircuitDigest Wiki\",\"url\":\"https:\/\/circuitdigest.com\/wiki\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2025\/12\/cd-logo-trans.png\",\"contentUrl\":\"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2025\/12\/cd-logo-trans.png\",\"width\":156,\"height\":40,\"caption\":\"CircuitDigest Wiki\"},\"image\":{\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/circuitdigest\/\",\"https:\/\/x.com\/CircuitDigest\",\"https:\/\/www.youtube.com\/circuitdigest\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#\/schema\/person\/a8bffae6338cf77379f0569400b9b887\",\"name\":\"wiki_admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/circuitdigest.com\/wiki\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c74ac35e783f247c76a3f593af1acf8b4344c9981e4e05812013141ba4b16f66?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c74ac35e783f247c76a3f593af1acf8b4344c9981e4e05812013141ba4b16f66?s=96&d=retro&r=g\",\"caption\":\"wiki_admin\"},\"sameAs\":[\"https:\/\/circuitdigest.com\/wiki\"],\"url\":\"https:\/\/circuitdigest.com\/wiki\/author\/wiki_admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GeoLinker GL868 ESP32 - CircuitDigest Wiki","description":"The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking.","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":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/","og_locale":"en_US","og_type":"article","og_title":"GeoLinker GL868 ESP32 - CircuitDigest Wiki","og_description":"The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking.","og_url":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/","og_site_name":"CircuitDigest Wiki","article_publisher":"https:\/\/www.facebook.com\/circuitdigest\/","article_modified_time":"2026-03-17T13:08:15+00:00","og_image":[{"width":646,"height":1024,"url":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1-646x1024.gif","type":"image\/gif"}],"twitter_card":"summary_large_image","twitter_site":"@CircuitDigest","twitter_misc":{"Est. reading time":"30 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#article","isPartOf":{"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/"},"author":{"name":"wiki_admin","@id":"https:\/\/circuitdigest.com\/wiki\/#\/schema\/person\/a8bffae6338cf77379f0569400b9b887"},"headline":"GeoLinker GL868 ESP32","datePublished":"2026-03-14T11:44:07+00:00","dateModified":"2026-03-17T13:08:15+00:00","mainEntityOfPage":{"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/"},"wordCount":4612,"publisher":{"@id":"https:\/\/circuitdigest.com\/wiki\/#organization"},"image":{"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage"},"thumbnailUrl":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif","inLanguage":"en-US"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/","url":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/","name":"GeoLinker GL868 ESP32 - CircuitDigest Wiki","isPartOf":{"@id":"https:\/\/circuitdigest.com\/wiki\/#website"},"primaryImageOfPage":{"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage"},"image":{"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage"},"thumbnailUrl":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif","datePublished":"2026-03-14T11:44:07+00:00","dateModified":"2026-03-17T13:08:15+00:00","description":"The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS Tracking, motion detection, battery management, wireless connectivity (Bluetooth\/Wifi) and cellular monitoring (GPRS\/SMS\/Calls) on a compact PCB. It targets asset tracking, vehicle monitoring, anti-theft systems, and any IoT application that needs cellular monitoring or control, along with location tracking.","breadcrumb":{"@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#primaryimage","url":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif","contentUrl":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2026\/03\/GL868_ESP32V3.1.gif","width":750,"height":1188},{"@type":"BreadcrumbList","@id":"https:\/\/circuitdigest.com\/wiki\/geolinker-esp32-sim868-cellular-iot-gps-tracking-development-board\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/circuitdigest.com\/wiki\/"},{"@type":"ListItem","position":2,"name":"GeoLinker GL868 ESP32"}]},{"@type":"WebSite","@id":"https:\/\/circuitdigest.com\/wiki\/#website","url":"https:\/\/circuitdigest.com\/wiki\/","name":"CircuitDigest Wiki","description":"Wiki Page for Circuit Digest","publisher":{"@id":"https:\/\/circuitdigest.com\/wiki\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/circuitdigest.com\/wiki\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/circuitdigest.com\/wiki\/#organization","name":"CircuitDigest Wiki","url":"https:\/\/circuitdigest.com\/wiki\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/circuitdigest.com\/wiki\/#\/schema\/logo\/image\/","url":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2025\/12\/cd-logo-trans.png","contentUrl":"https:\/\/circuitdigest.com\/wiki\/wp-content\/uploads\/2025\/12\/cd-logo-trans.png","width":156,"height":40,"caption":"CircuitDigest Wiki"},"image":{"@id":"https:\/\/circuitdigest.com\/wiki\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/circuitdigest\/","https:\/\/x.com\/CircuitDigest","https:\/\/www.youtube.com\/circuitdigest"]},{"@type":"Person","@id":"https:\/\/circuitdigest.com\/wiki\/#\/schema\/person\/a8bffae6338cf77379f0569400b9b887","name":"wiki_admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/circuitdigest.com\/wiki\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c74ac35e783f247c76a3f593af1acf8b4344c9981e4e05812013141ba4b16f66?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c74ac35e783f247c76a3f593af1acf8b4344c9981e4e05812013141ba4b16f66?s=96&d=retro&r=g","caption":"wiki_admin"},"sameAs":["https:\/\/circuitdigest.com\/wiki"],"url":"https:\/\/circuitdigest.com\/wiki\/author\/wiki_admin\/"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"wiki_admin","author_link":"https:\/\/circuitdigest.com\/wiki\/author\/wiki_admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Introduction The GeoLinker GL868_ESP32 is a production-ready, open-source development board that combines an ESP32-S3 and SIM868 GSM modem, with GPS [&hellip;]","_links":{"self":[{"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/pages\/434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/comments?post=434"}],"version-history":[{"count":93,"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/pages\/434\/revisions"}],"predecessor-version":[{"id":605,"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/pages\/434\/revisions\/605"}],"wp:attachment":[{"href":"https:\/\/circuitdigest.com\/wiki\/wp-json\/wp\/v2\/media?parent=434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}