hardware.html
1 <!doctype html> 2 <html class="no-js" lang="en" data-content_root="./"> 3 <head><meta charset="utf-8"> 4 <meta name="viewport" content="width=device-width,initial-scale=1"> 5 <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" /> 6 <link rel="index" title="Index" href="genindex.html"><link rel="search" title="Search" href="search.html"><link rel="next" title="Configuring Interfaces" href="interfaces.html"><link rel="prev" title="Understanding Reticulum" href="understanding.html"> 7 <link rel="prefetch" href="_static/rns_logo_512.png" as="image"> 8 9 <!-- Generated with Sphinx 8.2.3 and Furo 2025.09.25.dev1 --> 10 <title>Communications Hardware - Reticulum Network Stack 1.1.3 documentation</title> 11 <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d111a655" /> 12 <link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=580074bf" /> 13 <link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" /> 14 <link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=8dab3a3b" /> 15 <link rel="stylesheet" type="text/css" href="_static/custom.css?v=bb3cebc5" /> 16 17 18 19 20 <style> 21 body { 22 --color-code-background: #f2f2f2; 23 --color-code-foreground: #1e1e1e; 24 25 } 26 @media not print { 27 body[data-theme="dark"] { 28 --color-code-background: #202020; 29 --color-code-foreground: #d0d0d0; 30 --color-background-primary: #202b38; 31 --color-background-secondary: #161f27; 32 --color-foreground-primary: #dbdbdb; 33 --color-foreground-secondary: #a9b1ba; 34 --color-brand-primary: #41adff; 35 --color-background-hover: #161f27; 36 --color-api-name: #ffbe85; 37 --color-api-pre-name: #efae75; 38 39 } 40 @media (prefers-color-scheme: dark) { 41 body:not([data-theme="light"]) { 42 --color-code-background: #202020; 43 --color-code-foreground: #d0d0d0; 44 --color-background-primary: #202b38; 45 --color-background-secondary: #161f27; 46 --color-foreground-primary: #dbdbdb; 47 --color-foreground-secondary: #a9b1ba; 48 --color-brand-primary: #41adff; 49 --color-background-hover: #161f27; 50 --color-api-name: #ffbe85; 51 --color-api-pre-name: #efae75; 52 53 } 54 } 55 } 56 </style></head> 57 <body> 58 59 <script> 60 document.body.dataset.theme = localStorage.getItem("theme") || "auto"; 61 </script> 62 63 64 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> 65 <symbol id="svg-toc" viewBox="0 0 24 24"> 66 <title>Contents</title> 67 <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024"> 68 <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/> 69 </svg> 70 </symbol> 71 <symbol id="svg-menu" viewBox="0 0 24 24"> 72 <title>Menu</title> 73 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 74 stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu"> 75 <line x1="3" y1="12" x2="21" y2="12"></line> 76 <line x1="3" y1="6" x2="21" y2="6"></line> 77 <line x1="3" y1="18" x2="21" y2="18"></line> 78 </svg> 79 </symbol> 80 <symbol id="svg-arrow-right" viewBox="0 0 24 24"> 81 <title>Expand</title> 82 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 83 stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right"> 84 <polyline points="9 18 15 12 9 6"></polyline> 85 </svg> 86 </symbol> 87 <symbol id="svg-sun" viewBox="0 0 24 24"> 88 <title>Light mode</title> 89 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 90 stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun"> 91 <circle cx="12" cy="12" r="5"></circle> 92 <line x1="12" y1="1" x2="12" y2="3"></line> 93 <line x1="12" y1="21" x2="12" y2="23"></line> 94 <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line> 95 <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line> 96 <line x1="1" y1="12" x2="3" y2="12"></line> 97 <line x1="21" y1="12" x2="23" y2="12"></line> 98 <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line> 99 <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line> 100 </svg> 101 </symbol> 102 <symbol id="svg-moon" viewBox="0 0 24 24"> 103 <title>Dark mode</title> 104 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 105 stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon"> 106 <path stroke="none" d="M0 0h24v24H0z" fill="none" /> 107 <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" /> 108 </svg> 109 </symbol> 110 <symbol id="svg-sun-with-moon" viewBox="0 0 24 24"> 111 <title>Auto light/dark, in light mode</title> 112 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 113 stroke-width="1" stroke-linecap="round" stroke-linejoin="round" 114 class="icon-custom-derived-from-feather-sun-and-tabler-moon"> 115 <path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/> 116 <line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/> 117 <line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/> 118 <line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/> 119 <line x1="19" y1="14.05" x2="20.414" y2="15.464"/> 120 <line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/> 121 <line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/> 122 <line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/> 123 <line x1="19" y1="5.05" x2="20.414" y2="3.636"/> 124 <circle cx="14.5" cy="9.55" r="3.6"/> 125 </svg> 126 </symbol> 127 <symbol id="svg-moon-with-sun" viewBox="0 0 24 24"> 128 <title>Auto light/dark, in dark mode</title> 129 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 130 stroke-width="1" stroke-linecap="round" stroke-linejoin="round" 131 class="icon-custom-derived-from-feather-sun-and-tabler-moon"> 132 <path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/> 133 <line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/> 134 <line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/> 135 <line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/> 136 <line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/> 137 <line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/> 138 <line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/> 139 <line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/> 140 <line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/> 141 <circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/> 142 </svg> 143 </symbol> 144 <symbol id="svg-pencil" viewBox="0 0 24 24"> 145 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 146 stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code"> 147 <path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" /> 148 <path d="M13.5 6.5l4 4" /> 149 <path d="M20 21l2 -2l-2 -2" /> 150 <path d="M17 17l-2 2l2 2" /> 151 </svg> 152 </symbol> 153 <symbol id="svg-eye" viewBox="0 0 24 24"> 154 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" 155 stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code"> 156 <path stroke="none" d="M0 0h24v24H0z" fill="none" /> 157 <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" /> 158 <path 159 d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" /> 160 <path d="M20 21l2 -2l-2 -2" /> 161 <path d="M17 17l-2 2l2 2" /> 162 </svg> 163 </symbol> 164 </svg> 165 166 <input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar"> 167 <input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar"> 168 <label class="overlay sidebar-overlay" for="__navigation"></label> 169 <label class="overlay toc-overlay" for="__toc"></label> 170 171 <a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a> 172 173 174 175 <div class="page"> 176 <header class="mobile-header"> 177 <div class="header-left"> 178 <label class="nav-overlay-icon" for="__navigation"> 179 <span class="icon"><svg><use href="#svg-menu"></use></svg></span> 180 </label> 181 </div> 182 <div class="header-center"> 183 <a href="index.html"><div class="brand">Reticulum Network Stack 1.1.3 documentation</div></a> 184 </div> 185 <div class="header-right"> 186 <div class="theme-toggle-container theme-toggle-header"> 187 <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme"> 188 <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> 189 <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> 190 <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> 191 <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> 192 </button> 193 </div> 194 <label class="toc-overlay-icon toc-header-icon" for="__toc"> 195 <span class="icon"><svg><use href="#svg-toc"></use></svg></span> 196 </label> 197 </div> 198 </header> 199 <aside class="sidebar-drawer"> 200 <div class="sidebar-container"> 201 202 <div class="sidebar-sticky"><a class="sidebar-brand" href="index.html"> 203 <div class="sidebar-logo-container"> 204 <img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/> 205 </div> 206 207 <span class="sidebar-brand-text">Reticulum Network Stack 1.1.3 documentation</span> 208 209 </a><form class="sidebar-search-container" method="get" action="search.html" role="search"> 210 <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search"> 211 <input type="hidden" name="check_keywords" value="yes"> 212 <input type="hidden" name="area" value="default"> 213 </form> 214 <div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree"> 215 <ul class="current"> 216 <li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li> 217 <li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li> 218 <li class="toctree-l1"><a class="reference internal" href="zen.html">Zen of Reticulum</a></li> 219 <li class="toctree-l1"><a class="reference internal" href="software.html">Programs Using Reticulum</a></li> 220 <li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li> 221 <li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li> 222 <li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Communications Hardware</a></li> 223 <li class="toctree-l1"><a class="reference internal" href="interfaces.html">Configuring Interfaces</a></li> 224 <li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li> 225 <li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li> 226 <li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li> 227 <li class="toctree-l1"><a class="reference internal" href="license.html">Reticulum License</a></li> 228 </ul> 229 <ul> 230 <li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li> 231 </ul> 232 233 </div> 234 </div> 235 236 </div> 237 238 </div> 239 </aside> 240 <div class="main"> 241 <div class="content"> 242 <div class="article-container"> 243 <a href="#" class="back-to-top muted-link"> 244 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> 245 <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path> 246 </svg> 247 <span>Back to top</span> 248 </a> 249 <div class="content-icon-container"> 250 <div class="theme-toggle-container theme-toggle-content"> 251 <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme"> 252 <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg> 253 <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg> 254 <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg> 255 <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg> 256 </button> 257 </div> 258 <label class="toc-overlay-icon toc-content-icon" for="__toc"> 259 <span class="icon"><svg><use href="#svg-toc"></use></svg></span> 260 </label> 261 </div> 262 <article role="main" id="furo-main-content"> 263 <section id="communications-hardware"> 264 <span id="hardware-main"></span><h1>Communications Hardware<a class="headerlink" href="#communications-hardware" title="Link to this heading">¶</a></h1> 265 <p>One of the truly valuable aspects of Reticulum is the ability to use it over 266 almost any conceivable kind of communications medium. The <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">interface types</span></a> 267 available for configuration in Reticulum are flexible enough to cover the use 268 of most wired and wireless communications hardware available, from decades-old 269 packet radio modems to modern millimeter-wave backhaul systems.</p> 270 <p>If you already have or operate some kind of communications hardware, there is a 271 very good chance that it will work with Reticulum out of the box. In case it does 272 not, it is possible to provide the necessary glue with very little effort using 273 for example the <a class="reference internal" href="interfaces.html#interfaces-pipe"><span class="std std-ref">PipeInterface</span></a> or the <a class="reference internal" href="interfaces.html#interfaces-tcpc"><span class="std std-ref">TCPClientInterface</span></a> 274 in combination with code like <a class="reference external" href="https://github.com/simplyequipped/tcpkissserver">TCP KISS Server</a> 275 by <a class="reference external" href="https://github.com/simplyequipped">simplyequipped</a>.</p> 276 <p>It is also very easy to write and load <a class="reference internal" href="interfaces.html#interfaces-custom"><span class="std std-ref">custom interface modules</span></a> 277 into Reticulum, allowing you to communicate with more or less anything you can think of.</p> 278 <p>While this broad support and flexibility is very useful, an abundance of options 279 can sometimes make it difficult to know where to begin, especially when you are 280 starting from scratch.</p> 281 <p>This chapter will outline a few different sensible starting paths to get 282 real-world functional wireless communications up and running with minimal cost 283 and effort. Two fundamental devices categories will be covered, <em>RNodes</em> and 284 <em>WiFi-based radios</em>. Additionally, other common options will be briefly described.</p> 285 <p>Knowing how to employ just a few different types of hardware will make it possible 286 to build a wide range of useful networks with little effort.</p> 287 <section id="combining-hardware-types"> 288 <h2>Combining Hardware Types<a class="headerlink" href="#combining-hardware-types" title="Link to this heading">¶</a></h2> 289 <p>It is useful to combine different link and hardware types when designing and 290 building a network. One useful design pattern is to employ high-capacity point-to-point 291 links based on WiFi or millimeter-wave radios (with high-gain directional antennas) 292 for the network backbone, and using LoRa-based RNodes for covering large areas with 293 connectivity for client devices.</p> 294 </section> 295 <section id="rnode"> 296 <span id="rnode-main"></span><h2>RNode<a class="headerlink" href="#rnode" title="Link to this heading">¶</a></h2> 297 <p>Reliable and general-purpose long-range digital radio transceiver systems are 298 commonly either very expensive, difficult to set up and operate, hard to source, 299 power-hungry, or all of the above at the same time. In an attempt to alleviate 300 this situation, the transceiver system <em>RNode</em> was designed. It is important to 301 note that RNode is not one specific device, from one particular vendor, but 302 <em>an open plaform</em> that anyone can use to build interoperable digital transceivers 303 suited to their needs and particular situations.</p> 304 <p>An RNode is a general purpose, interoperable, low-power and long-range, reliable, 305 open and flexible radio communications device. Depending on its components, it can 306 operate on many different frequency bands, and use many different modulation 307 schemes, but most commonly, and for the purposes of this chapter, we will limit 308 the discussion to RNodes using <em>LoRa</em> modulation in common ISM bands.</p> 309 <p><strong>Avoid Confusion!</strong> RNodes can use LoRa as a <em>physical-layer modulation</em>, but it 310 does not use, and has nothing to do with the <em>LoRaWAN</em> protocol and standard, commonly 311 used for centrally controlled IoT devices. RNodes use <em>raw LoRa modulation</em>, without 312 any additional protocol overhead. All high-level protocol functionality is handled 313 directly by Reticulum.</p> 314 <section id="creating-rnodes"> 315 <span id="rnode-creating"></span><h3>Creating RNodes<a class="headerlink" href="#creating-rnodes" title="Link to this heading">¶</a></h3> 316 <p>RNode has been designed as a system that is easy to replicate across time and 317 space. You can put together a functioning transceiver using commonly available 318 components, and a few open source software tools. While you can design and build RNodes 319 completely from scratch, to your exact desired specifications, this chapter 320 will explain the easiest possible approach to creating RNodes: Using common 321 LoRa development boards. This approach can be boiled down to two simple steps:</p> 322 <ol class="arabic simple"> 323 <li><p>Obtain one or more <a class="reference internal" href="#rnode-supported"><span class="std std-ref">supported development boards</span></a></p></li> 324 <li><p>Install the RNode firmware with the <a class="reference internal" href="#rnode-installation"><span class="std std-ref">automated installer</span></a></p></li> 325 </ol> 326 <p>Once the firmware has been installed and provisioned by the install script, it 327 is ready to use with any software that supports RNodes, including Reticulum. 328 The device can be used with Reticulum by adding an <a class="reference internal" href="interfaces.html#interfaces-rnode"><span class="std std-ref">RNodeInterface</span></a> 329 to the configuration.</p> 330 </section> 331 <section id="supported-boards-and-devices"> 332 <span id="rnode-supported"></span><h3>Supported Boards and Devices<a class="headerlink" href="#supported-boards-and-devices" title="Link to this heading">¶</a></h3> 333 <p>To create one or more RNodes, you will need to obtain supported development 334 boards or completed devices. The following boards and devices are supported 335 by the auto-installer.</p> 336 <hr class="docutils" /> 337 <a class="reference internal image-reference" href="_images/board_tbeam_supreme.png"><img alt="_images/board_tbeam_supreme.png" class="align-center" src="_images/board_tbeam_supreme.png" style="width: 75%;" /> 338 </a> 339 <section id="lilygo-t-beam-supreme"> 340 <h4>LilyGO T-Beam Supreme<a class="headerlink" href="#lilygo-t-beam-supreme" title="Link to this heading">¶</a></h4> 341 <ul class="simple"> 342 <li><p><strong>Transceiver IC</strong> Semtech SX1262 or SX1268</p></li> 343 <li><p><strong>Device Platform</strong> ESP32</p></li> 344 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 345 </ul> 346 <hr class="docutils" /> 347 <a class="reference internal image-reference" href="_images/board_tbeam.png"><img alt="_images/board_tbeam.png" class="align-center" src="_images/board_tbeam.png" style="width: 75%;" /> 348 </a> 349 </section> 350 <section id="lilygo-t-beam"> 351 <h4>LilyGO T-Beam<a class="headerlink" href="#lilygo-t-beam" title="Link to this heading">¶</a></h4> 352 <ul class="simple"> 353 <li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268, SX1276 or SX1278</p></li> 354 <li><p><strong>Device Platform</strong> ESP32</p></li> 355 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 356 </ul> 357 <hr class="docutils" /> 358 <a class="reference internal image-reference" href="_images/board_t3s3.png"><img alt="_images/board_t3s3.png" class="align-center" src="_images/board_t3s3.png" style="width: 50%;" /> 359 </a> 360 </section> 361 <section id="lilygo-t3s3"> 362 <h4>LilyGO T3S3<a class="headerlink" href="#lilygo-t3s3" title="Link to this heading">¶</a></h4> 363 <ul class="simple"> 364 <li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268, SX1276 or SX1278</p></li> 365 <li><p><strong>Device Platform</strong> ESP32</p></li> 366 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 367 </ul> 368 <hr class="docutils" /> 369 <a class="reference internal image-reference" href="_images/board_rak4631.png"><img alt="_images/board_rak4631.png" class="align-center" src="_images/board_rak4631.png" style="width: 45%;" /> 370 </a> 371 </section> 372 <section id="rak4631-based-boards"> 373 <h4>RAK4631-based Boards<a class="headerlink" href="#rak4631-based-boards" title="Link to this heading">¶</a></h4> 374 <ul class="simple"> 375 <li><p><strong>Transceiver IC</strong> Semtech SX1262 or SX1268</p></li> 376 <li><p><strong>Device Platform</strong> nRF52</p></li> 377 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://www.rakwireless.com">RAK Wireless</a></p></li> 378 </ul> 379 <hr class="docutils" /> 380 <a class="reference internal image-reference" href="_images/board_opencomxl.png"><img alt="_images/board_opencomxl.png" class="align-center" src="_images/board_opencomxl.png" style="width: 45%;" /> 381 </a> 382 </section> 383 <section id="opencom-xl"> 384 <h4>OpenCom XL<a class="headerlink" href="#opencom-xl" title="Link to this heading">¶</a></h4> 385 <ul class="simple"> 386 <li><p><strong>Transceiver ICs</strong> Semtech SX1262 and SX1280 (dual transceiver)</p></li> 387 <li><p><strong>Device Platform</strong> nRF52</p></li> 388 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://liberatedsystems.co.uk/">Liberated Embedded Systems</a></p></li> 389 </ul> 390 <hr class="docutils" /> 391 <a class="reference internal image-reference" href="_images/board_rnodev2.png"><img alt="_images/board_rnodev2.png" class="align-center" src="_images/board_rnodev2.png" style="width: 68%;" /> 392 </a> 393 </section> 394 <section id="unsigned-rnode-v2-x"> 395 <h4>Unsigned RNode v2.x<a class="headerlink" href="#unsigned-rnode-v2-x" title="Link to this heading">¶</a></h4> 396 <ul class="simple"> 397 <li><p><strong>Transceiver IC</strong> Semtech SX1276 or SX1278</p></li> 398 <li><p><strong>Device Platform</strong> ESP32</p></li> 399 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://unsigned.io">unsigned.io</a></p></li> 400 </ul> 401 <hr class="docutils" /> 402 <a class="reference internal image-reference" href="_images/board_t3v21.png"><img alt="_images/board_t3v21.png" class="align-center" src="_images/board_t3v21.png" style="width: 46%;" /> 403 </a> 404 </section> 405 <section id="lilygo-lora32-v2-1"> 406 <h4>LilyGO LoRa32 v2.1<a class="headerlink" href="#lilygo-lora32-v2-1" title="Link to this heading">¶</a></h4> 407 <ul class="simple"> 408 <li><p><strong>Transceiver IC</strong> Semtech SX1276 or SX1278</p></li> 409 <li><p><strong>Device Platform</strong> ESP32</p></li> 410 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 411 </ul> 412 <hr class="docutils" /> 413 <a class="reference internal image-reference" href="_images/board_t3v20.png"><img alt="_images/board_t3v20.png" class="align-center" src="_images/board_t3v20.png" style="width: 46%;" /> 414 </a> 415 </section> 416 <section id="lilygo-lora32-v2-0"> 417 <h4>LilyGO LoRa32 v2.0<a class="headerlink" href="#lilygo-lora32-v2-0" title="Link to this heading">¶</a></h4> 418 <ul class="simple"> 419 <li><p><strong>Transceiver IC</strong> Semtech SX1276 or SX1278</p></li> 420 <li><p><strong>Device Platform</strong> ESP32</p></li> 421 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 422 </ul> 423 <hr class="docutils" /> 424 <a class="reference internal image-reference" href="_images/board_t3v10.png"><img alt="_images/board_t3v10.png" class="align-center" src="_images/board_t3v10.png" style="width: 46%;" /> 425 </a> 426 </section> 427 <section id="lilygo-lora32-v1-0"> 428 <h4>LilyGO LoRa32 v1.0<a class="headerlink" href="#lilygo-lora32-v1-0" title="Link to this heading">¶</a></h4> 429 <ul class="simple"> 430 <li><p><strong>Transceiver IC</strong> Semtech SX1276 or SX1278</p></li> 431 <li><p><strong>Device Platform</strong> ESP32</p></li> 432 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 433 </ul> 434 <hr class="docutils" /> 435 <a class="reference internal image-reference" href="_images/board_tdeck.png"><img alt="_images/board_tdeck.png" class="align-center" src="_images/board_tdeck.png" style="width: 45%;" /> 436 </a> 437 </section> 438 <section id="lilygo-t-deck"> 439 <h4>LilyGO T-Deck<a class="headerlink" href="#lilygo-t-deck" title="Link to this heading">¶</a></h4> 440 <ul class="simple"> 441 <li><p><strong>Transceiver IC</strong> Semtech SX1262 or SX1268</p></li> 442 <li><p><strong>Device Platform</strong> ESP32</p></li> 443 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 444 </ul> 445 <hr class="docutils" /> 446 <a class="reference internal image-reference" href="_images/board_techo.png"><img alt="_images/board_techo.png" class="align-center" src="_images/board_techo.png" style="width: 45%;" /> 447 </a> 448 </section> 449 <section id="lilygo-t-echo"> 450 <h4>LilyGO T-Echo<a class="headerlink" href="#lilygo-t-echo" title="Link to this heading">¶</a></h4> 451 <ul class="simple"> 452 <li><p><strong>Transceiver IC</strong> Semtech SX1262 or SX1268</p></li> 453 <li><p><strong>Device Platform</strong> nRF52</p></li> 454 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li> 455 </ul> 456 <hr class="docutils" /> 457 <a class="reference internal image-reference" href="_images/board_t114.png"><img alt="_images/board_t114.png" class="align-center" src="_images/board_t114.png" style="width: 58%;" /> 458 </a> 459 </section> 460 <section id="heltec-t114"> 461 <h4>Heltec T114<a class="headerlink" href="#heltec-t114" title="Link to this heading">¶</a></h4> 462 <ul class="simple"> 463 <li><p><strong>Transceiver IC</strong> Semtech SX1262 or SX1268</p></li> 464 <li><p><strong>Device Platform</strong> nRF52</p></li> 465 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li> 466 </ul> 467 <hr class="docutils" /> 468 <a class="reference internal image-reference" href="_images/board_heltec32v4.png"><img alt="_images/board_heltec32v4.png" class="align-center" src="_images/board_heltec32v4.png" style="width: 58%;" /> 469 </a> 470 </section> 471 <section id="heltec-lora32-v4-0"> 472 <h4>Heltec LoRa32 v4.0<a class="headerlink" href="#heltec-lora32-v4-0" title="Link to this heading">¶</a></h4> 473 <ul class="simple"> 474 <li><p><strong>Transceiver IC</strong> Semtech SX1262</p></li> 475 <li><p><strong>Device Platform</strong> ESP32</p></li> 476 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li> 477 </ul> 478 <hr class="docutils" /> 479 <a class="reference internal image-reference" href="_images/board_heltec32v30.png"><img alt="_images/board_heltec32v30.png" class="align-center" src="_images/board_heltec32v30.png" style="width: 58%;" /> 480 </a> 481 </section> 482 <section id="heltec-lora32-v3-0"> 483 <h4>Heltec LoRa32 v3.0<a class="headerlink" href="#heltec-lora32-v3-0" title="Link to this heading">¶</a></h4> 484 <ul class="simple"> 485 <li><p><strong>Transceiver IC</strong> Semtech SX1262 or SX1268</p></li> 486 <li><p><strong>Device Platform</strong> ESP32</p></li> 487 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li> 488 </ul> 489 <hr class="docutils" /> 490 <a class="reference internal image-reference" href="_images/board_heltec32v20.png"><img alt="_images/board_heltec32v20.png" class="align-center" src="_images/board_heltec32v20.png" style="width: 58%;" /> 491 </a> 492 </section> 493 <section id="heltec-lora32-v2-0"> 494 <h4>Heltec LoRa32 v2.0<a class="headerlink" href="#heltec-lora32-v2-0" title="Link to this heading">¶</a></h4> 495 <ul class="simple"> 496 <li><p><strong>Transceiver IC</strong> Semtech SX1276 or SX1278</p></li> 497 <li><p><strong>Device Platform</strong> ESP32</p></li> 498 <li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li> 499 </ul> 500 <hr class="docutils" /> 501 </section> 502 </section> 503 <section id="installation"> 504 <span id="rnode-installation"></span><h3>Installation<a class="headerlink" href="#installation" title="Link to this heading">¶</a></h3> 505 <p>Once you have obtained compatible boards, you can install the <a class="reference external" href="https://github.com/markqvist/RNode_Firmware">RNode Firmware</a> 506 using the <a class="reference external" href="https://github.com/markqvist/rnodeconfigutil">RNode Configuration Utility</a>. 507 If you have installed Reticulum on your system, the <code class="docutils literal notranslate"><span class="pre">rnodeconf</span></code> program will already be 508 available. If not, make sure that <code class="docutils literal notranslate"><span class="pre">Python3</span></code> and <code class="docutils literal notranslate"><span class="pre">pip</span></code> is installed on your system, and 509 then install Reticulum with with <code class="docutils literal notranslate"><span class="pre">pip</span></code>:</p> 510 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">rns</span> 511 </pre></div> 512 </div> 513 <p>Once installation has completed, it is time to start installing the firmware on your 514 devices. Run <code class="docutils literal notranslate"><span class="pre">rnodeconf</span></code> in auto-install mode like so:</p> 515 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">rnodeconf</span> <span class="o">--</span><span class="n">autoinstall</span> 516 </pre></div> 517 </div> 518 <p>The utility will guide you through the installation process by asking a series of 519 questions about your hardware. Simply follow the guide, and the utility will 520 auto-install and configure your devices.</p> 521 </section> 522 <section id="usage-with-reticulum"> 523 <span id="rnode-usage"></span><h3>Usage with Reticulum<a class="headerlink" href="#usage-with-reticulum" title="Link to this heading">¶</a></h3> 524 <p>When the devices have been installed and provisioned, you can use them with Reticulum 525 by adding the <a class="reference internal" href="interfaces.html#interfaces-rnode"><span class="std std-ref">relevant interface section</span></a> to the configuration 526 file of Reticulum. In the configuraion you can specify all interface parameters, 527 such as serial port and on-air parameters.</p> 528 </section> 529 </section> 530 <section id="wifi-based-hardware"> 531 <h2>WiFi-based Hardware<a class="headerlink" href="#wifi-based-hardware" title="Link to this heading">¶</a></h2> 532 <p>It is possible to use all kinds of both short- and long-range WiFi-based hardware 533 with Reticulum. Any kind of hardware that fully supports bridged Ethernet over the 534 WiFi interface will work with the <a class="reference internal" href="interfaces.html#interfaces-auto"><span class="std std-ref">AutoInterface</span></a> in Reticulum. 535 Most devices will behave like this by default, or allow it via configuration options.</p> 536 <p>This means that you can simply configure the physical links of the WiFi based devices, 537 and start communicating over them using Reticulum. It is not necessary to enable any IP 538 infrastructure such as DHCP servers, DNS or similar, as long as at least Ethernet is 539 available, and packets are passed transparently over the physical WiFi-based devices.</p> 540 <a class="reference internal image-reference" href="_images/radio_rblhg5.png"><img alt="_images/radio_rblhg5.png" src="_images/radio_rblhg5.png" style="width: 49%;" /> 541 </a> 542 <a class="reference internal image-reference" href="_images/radio_is5ac.png"><img alt="_images/radio_is5ac.png" src="_images/radio_is5ac.png" style="width: 49%;" /> 543 </a> 544 <p>Below is a list of example WiFi (and similar) radios that work well for high capacity 545 Reticulum links over long distances:</p> 546 <ul class="simple"> 547 <li><p><a class="reference external" href="https://store.ui.com/collections/operator-airmax-devices">Ubiquiti airMAX radios</a></p></li> 548 <li><p><a class="reference external" href="https://store.ui.com/collections/operator-ltu">Ubiquiti LTU radios</a></p></li> 549 <li><p><a class="reference external" href="https://mikrotik.com/products/group/wireless-systems">MikroTik radios</a></p></li> 550 </ul> 551 <p>This list is by no means exhaustive, and only serves as a few examples of radio hardware 552 that is relatively cheap while providing long range and high capacity for Reticulum 553 networks. As in all other cases, it is also possible for Reticulum to co-exist with IP 554 networks running concurrently on such devices.</p> 555 </section> 556 <section id="ethernet-based-hardware"> 557 <h2>Ethernet-based Hardware<a class="headerlink" href="#ethernet-based-hardware" title="Link to this heading">¶</a></h2> 558 <p>Reticulum can run over any kind of hardware that can provide a switched Ethernet-based 559 medium. This means that anything from a plain Ethernet switch, to fiber-optic systems, 560 to data radios with Ethernet interfaces can be used by Reticulum.</p> 561 <p>The Ethernet medium does not need to have any IP infrastructure such as DHCP servers 562 or routing set up, but in case such infrastructure does exist, Reticulum will simply 563 co-exist with.</p> 564 <p>To use Reticulum over Ethernet-based mediums, it is generally enough to use the included 565 <a class="reference internal" href="interfaces.html#interfaces-auto"><span class="std std-ref">AutoInterface</span></a>. This interface also works over any kind of 566 virtual networking adapter, such as <code class="docutils literal notranslate"><span class="pre">tun</span></code> and <code class="docutils literal notranslate"><span class="pre">tap</span></code> devices in Linux.</p> 567 </section> 568 <section id="serial-lines-devices"> 569 <h2>Serial Lines & Devices<a class="headerlink" href="#serial-lines-devices" title="Link to this heading">¶</a></h2> 570 <p>Using Reticulum over any kind of raw serial line is also possible with the 571 <a class="reference internal" href="interfaces.html#interfaces-serial"><span class="std std-ref">SerialInterface</span></a>. This interface type is also useful for 572 using Reticulum over communications hardware that provides a serial port interface.</p> 573 </section> 574 <section id="packet-radio-modems"> 575 <h2>Packet Radio Modems<a class="headerlink" href="#packet-radio-modems" title="Link to this heading">¶</a></h2> 576 <p>Any packet radio modem that provides a standard KISS interface over USB, serial or TCP 577 can be used with Reticulum. This includes virtual software modems such as 578 <a class="reference external" href="https://github.com/xssfox/freedv-tnc">FreeDV TNC</a> and <a class="reference external" href="https://github.com/wb2osz/direwolf">Dire Wolf</a>.</p> 579 </section> 580 </section> 581 582 </article> 583 </div> 584 <footer> 585 586 <div class="related-pages"> 587 <a class="next-page" href="interfaces.html"> 588 <div class="page-info"> 589 <div class="context"> 590 <span>Next</span> 591 </div> 592 <div class="title">Configuring Interfaces</div> 593 </div> 594 <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> 595 </a> 596 <a class="prev-page" href="understanding.html"> 597 <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg> 598 <div class="page-info"> 599 <div class="context"> 600 <span>Previous</span> 601 </div> 602 603 <div class="title">Understanding Reticulum</div> 604 605 </div> 606 </a> 607 </div> 608 <div class="bottom-of-page"> 609 <div class="left-details"> 610 <div class="copyright"> 611 Copyright © 2025, Mark Qvist 612 </div> 613 Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and 614 <a href="https://github.com/pradyunsg/furo">Furo</a> 615 616 </div> 617 <div class="right-details"> 618 619 </div> 620 </div> 621 622 </footer> 623 </div> 624 <aside class="toc-drawer"> 625 626 627 <div class="toc-sticky toc-scroll"> 628 <div class="toc-title-container"> 629 <span class="toc-title"> 630 On this page 631 </span> 632 </div> 633 <div class="toc-tree-container"> 634 <div class="toc-tree"> 635 <ul> 636 <li><a class="reference internal" href="#">Communications Hardware</a><ul> 637 <li><a class="reference internal" href="#combining-hardware-types">Combining Hardware Types</a></li> 638 <li><a class="reference internal" href="#rnode">RNode</a><ul> 639 <li><a class="reference internal" href="#creating-rnodes">Creating RNodes</a></li> 640 <li><a class="reference internal" href="#supported-boards-and-devices">Supported Boards and Devices</a><ul> 641 <li><a class="reference internal" href="#lilygo-t-beam-supreme">LilyGO T-Beam Supreme</a></li> 642 <li><a class="reference internal" href="#lilygo-t-beam">LilyGO T-Beam</a></li> 643 <li><a class="reference internal" href="#lilygo-t3s3">LilyGO T3S3</a></li> 644 <li><a class="reference internal" href="#rak4631-based-boards">RAK4631-based Boards</a></li> 645 <li><a class="reference internal" href="#opencom-xl">OpenCom XL</a></li> 646 <li><a class="reference internal" href="#unsigned-rnode-v2-x">Unsigned RNode v2.x</a></li> 647 <li><a class="reference internal" href="#lilygo-lora32-v2-1">LilyGO LoRa32 v2.1</a></li> 648 <li><a class="reference internal" href="#lilygo-lora32-v2-0">LilyGO LoRa32 v2.0</a></li> 649 <li><a class="reference internal" href="#lilygo-lora32-v1-0">LilyGO LoRa32 v1.0</a></li> 650 <li><a class="reference internal" href="#lilygo-t-deck">LilyGO T-Deck</a></li> 651 <li><a class="reference internal" href="#lilygo-t-echo">LilyGO T-Echo</a></li> 652 <li><a class="reference internal" href="#heltec-t114">Heltec T114</a></li> 653 <li><a class="reference internal" href="#heltec-lora32-v4-0">Heltec LoRa32 v4.0</a></li> 654 <li><a class="reference internal" href="#heltec-lora32-v3-0">Heltec LoRa32 v3.0</a></li> 655 <li><a class="reference internal" href="#heltec-lora32-v2-0">Heltec LoRa32 v2.0</a></li> 656 </ul> 657 </li> 658 <li><a class="reference internal" href="#installation">Installation</a></li> 659 <li><a class="reference internal" href="#usage-with-reticulum">Usage with Reticulum</a></li> 660 </ul> 661 </li> 662 <li><a class="reference internal" href="#wifi-based-hardware">WiFi-based Hardware</a></li> 663 <li><a class="reference internal" href="#ethernet-based-hardware">Ethernet-based Hardware</a></li> 664 <li><a class="reference internal" href="#serial-lines-devices">Serial Lines & Devices</a></li> 665 <li><a class="reference internal" href="#packet-radio-modems">Packet Radio Modems</a></li> 666 </ul> 667 </li> 668 </ul> 669 670 </div> 671 </div> 672 </div> 673 674 675 </aside> 676 </div> 677 </div><script src="_static/documentation_options.js?v=cb7bf70b"></script> 678 <script src="_static/doctools.js?v=9bcbadda"></script> 679 <script src="_static/sphinx_highlight.js?v=dc90522c"></script> 680 <script src="_static/scripts/furo.js?v=46bd48cc"></script> 681 <script src="_static/clipboard.min.js?v=a7894cd8"></script> 682 <script src="_static/copybutton.js?v=f281be69"></script> 683 </body> 684 </html>