{"id":2087,"date":"2022-08-18T07:36:59","date_gmt":"2022-08-18T07:36:59","guid":{"rendered":"http:\/\/lora.vsb.cz\/?page_id=2087"},"modified":"2024-10-28T13:01:30","modified_gmt":"2024-10-28T13:01:30","slug":"adafruit-feather-m0","status":"publish","type":"page","link":"https:\/\/lora.vsb.cz\/index.php\/adafruit-feather-m0\/","title":{"rendered":"868 MHz Adafruit Feather M0"},"content":{"rendered":"<table style=\"height: 66px;\" width=\"356\">\n<tbody>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>TTN version:<\/strong><\/td>\n<td><strong><span style=\"color: #008000;\">TTNv3 \/ TTS SANDBOX<br \/>\n<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Activation:<\/strong><\/td>\n<td>OTAA \/ ABP<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Device Class:<\/strong><\/td>\n<td>Class A<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Last revision:<\/strong><\/td>\n<td>October 28, 2024<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>At the <strong>Feather M0<\/strong>&#8218;s heart is an <strong>ATSAMD21G18 ARM Cortex M0<\/strong> processor, clocked at 48 MHz and at 3.3 V logic. This chip has a whopping<strong> 256 KB of FLASH<\/strong> (8x more than the ATmega32u4) and <strong>32 KB of RAM<\/strong> (16x as much).<\/p>\n<p>The <strong>Adafruit Feather M0 with RFM95 LoRa Radio &#8211; 900 MHz<\/strong> uses the extra space left over to add an <strong>RFM95 LoRa 868\/915 MHz radio module<\/strong>. This is the <strong>900 MHz radio version<\/strong>, which can be used for either <strong>868 MHz or 915 MHz<\/strong> transmission\/reception.\u00a0<strong><a href=\"https:\/\/www.adafruit.com\/product\/3178\" target=\"_blank\" rel=\"noopener\">See complete specification here<\/a><\/strong>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2097 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0.jpg\" alt=\"Adafruit Feather M0\" width=\"400\" height=\"300\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0.jpg 500w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0-300x225.jpg 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<h2><span style=\"color: #189bd6;\"><strong>Prepare<\/strong><\/span><\/h2>\n<ul>\n<li>Adafruit Feather M0 with RFM95 LoRa Radio &#8211; 900 MHz<\/li>\n<li>1x wire<\/li>\n<li>breadboard (optional)<\/li>\n<li>PC + micro USB cable<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong><span style=\"color: #800000;\">Assembly<\/span><\/strong><\/h2>\n<p>W<span style=\"color: #000000;\">ire up the Adafruit Feather M0&#8217;s <strong>IO1 pin<\/strong> with <strong>pin 6<\/strong>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2232 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_Assembly.png\" alt=\"Adafruit Feather M0 assembly\" width=\"348\" height=\"263\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_Assembly.png 600w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_Assembly-300x227.png 300w\" sizes=\"auto, (max-width: 348px) 100vw, 348px\" \/> <\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><strong><span style=\"color: #800000;\">Arduino IDE setup<\/span><\/strong><\/h2>\n<ol>\n<li>Download <a href=\"https:\/\/www.arduino.cc\/en\/software\" target=\"_blank\" rel=\"noopener\"><strong>Arduino IDE<\/strong><\/a>.<\/li>\n<li>Run Arduino IDE.<\/li>\n<li style=\"text-align: left;\">In the Arduino IDE <strong>File -&gt; Preferences <\/strong>copy and paste the link below into the <strong>Additional Boards Manager URLs<\/strong>.<br \/>\n<code>https:\/\/adafruit.github.io\/arduino-board-index\/package_adafruit_index.json<\/code><\/li>\n<li>Click OK.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2905 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup2.png\" alt=\"Adafruit 32u4 Arduino2 Setup\" width=\"518\" height=\"347\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup2.png 805w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup2-300x201.png 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup2-768x515.png 768w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup2-272x182.png 272w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/li>\n<li>Install the Adafruit boards via <strong>Boards Manager -&gt; <\/strong>search <strong>Arduino SAMD Boards<\/strong><strong>\u00a0-&gt; Install<\/strong>.<\/li>\n<li>Install the Adafruit boards via <strong>Boards Manager -&gt; <\/strong>search <strong>Adafruit SAMD<\/strong><strong> Boards -&gt; Install<\/strong>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3649 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup1.png\" alt=\"M0 Setup Arduino IDE\" width=\"303\" height=\"500\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup1.png 492w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup1-182x300.png 182w\" sizes=\"auto, (max-width: 303px) 100vw, 303px\" \/><\/li>\n<li>You should see in <strong>Tools -&gt; Board -&gt; Adafruit SAMD<\/strong> the Adafruit Feather M0.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3650\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup2.png\" alt=\"M0 Setup Arduino IDE\" width=\"702\" height=\"262\" \/><\/li>\n<li>Connect the Adafruit Feather M0 using micro USB cable to your computer.<\/li>\n<li>Choose the appropriate COM port which is used for communication with Adafruit.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3653 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32.png\" alt=\"M0 Setup Arduino IDE\" width=\"291\" height=\"169\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32.png 452w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32-300x174.png 300w\" sizes=\"auto, (max-width: 291px) 100vw, 291px\" \/><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #800000;\"><strong>Activation<\/strong><\/span><\/h2>\n<p><strong>Over The Air Activation (OTAA) &#8211;<\/strong> the most secure and recommended activation method for end devices. Devices perform a join procedure with the network, during which a dynamic device address is assigned and security keys are negotiated with the device.<\/p>\n<p><strong>Activation By Personalization (ABP)<\/strong> &#8211; requires hardcoding the device address as well as the security keys in the device. ABP is <strong>less secure<\/strong>\u00a0than OTAA and also has the downside that devices can not switch network providers without manually changing keys in the device.<\/p>\n<p>See the\u00a0<a href=\"https:\/\/www.thethingsnetwork.org\/docs\/lorawan\/end-device-activation\/\" target=\"_blank\" rel=\"noopener\"><strong>documentation<\/strong><\/a> for more information on activation.<\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #189bd6;\"><strong>Over The Air Activation (OTAA)<\/strong><\/span><\/h2>\n<h4><span style=\"color: #800000;\"><strong>MCCI LoRaWAN LMIC library setup<\/strong><\/span><\/h4>\n<ol>\n<li>In the Arduino IDE <strong>Library Manager<\/strong> search <strong>MCCI LoRaWAN LMIC library<\/strong> by Terry Moore and install it.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2909 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup6.png\" alt=\"Adafruit 32u4 Arduino2 Setup\" width=\"250\" height=\"403\" \/><\/li>\n<li>On Windows open <strong>lmic_project_config.h<\/strong> located in <strong>\\Documents\\Arduino\\libraries\\MCCI_LoRaWAN_LMIC_library\\project_config\\<\/strong><\/li>\n<li>Change project definitions to definitions listed bellow and save it.<\/li>\n<\/ol>\n<pre style=\"padding-left: 40px;\">\/\/ project-specific definitions\r\n#define CFG_eu868 1\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/for Europe (change it based on your location)\r\n#define CFG_sx1276_radio 1\r\n#define DISABLE_PING 1\r\n#define DISABLE_BEACONS 1<\/pre>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #800000;\"><strong>Add Feather M0 into The Things Stack<\/strong><\/span><\/h4>\n<ol>\n<li><a href=\"https:\/\/www.thethingsnetwork.org\/login?next=\/\" target=\"_blank\" rel=\"noopener\"><strong>Create an account<\/strong><\/a> on The Things Network if you don&#8217;t have one.<\/li>\n<li><strong>Login<\/strong> on <strong><a href=\"https:\/\/www.thethingsnetwork.org\/login?next=\/\" target=\"_blank\" rel=\"noopener\">The Things Network<\/a><\/strong>.<\/li>\n<li>Click on your username and choose <strong>Console<\/strong>.<\/li>\n<li>Select a network cluster.<\/li>\n<\/ol>\n<h6><strong>Add application<\/strong><\/h6>\n<ol>\n<li><strong>Go to applications<\/strong>.<\/li>\n<li>Click on button <strong>+ Add application<\/strong>.<\/li>\n<li>Write something into <strong>Application ID<\/strong>.<\/li>\n<li>Click on button <strong>Create application<\/strong>.<\/li>\n<\/ol>\n<h6><strong>Add end device<\/strong><\/h6>\n<ol>\n<li>In your application click on button <strong>+ Register end device<\/strong>.<\/li>\n<li>Input Method \u2013 Choose <strong>Enter end device specifics manually<\/strong>.<\/li>\n<li>Frequency plan &#8211; <span style=\"color: #000000;\"><strong>Europe 863-870 MHz (SF9 for RX2 &#8211; recommended)<\/strong><\/span><\/li>\n<li>LoRaWAN version &#8211; <strong>LoRaWAN Specification 1.0.3<\/strong><\/li>\n<li>Click on <strong>Show advanced activation, LoRaWAN class and cluster settings<\/strong><\/li>\n<li>Activation mode &#8211; <strong>Over the air activation (OTAA)<\/strong><\/li>\n<li>Additional LoRaWAN class capabilities &#8211; <strong>None (class A only)<\/strong><\/li>\n<li><strong>Deselect<\/strong> &#8211; Use network&#8217;s default MAC settings<\/li>\n<li>Rx2 data rate = <strong>3<\/strong><\/li>\n<li>Rx2 frequency = <strong>869,525 MHz<\/strong><\/li>\n<li>JoinEUI &#8211; <strong>0000000000000000<\/strong><\/li>\n<li>Click on <strong>Confirm<\/strong>.<\/li>\n<li>DevEUI &#8211; <strong>Generate<\/strong><\/li>\n<li>AppKey &#8211; <strong>Generate<\/strong><\/li>\n<li>End device ID &#8211; here you can name your device<\/li>\n<li>After registration &#8211; <strong>View registered end device<\/strong><\/li>\n<li>Click on button <strong>Register end device<\/strong><\/li>\n<li>Click on <strong>Settings<\/strong><\/li>\n<li>Network layer &#8211; <strong>Expand<\/strong><\/li>\n<li>Click on <strong>Advanced MAC settings<\/strong><\/li>\n<li>Desired Rx1 delay = <strong>1<\/strong><\/li>\n<li>Rx1 data rate offset = <strong>0<\/strong><\/li>\n<li>Add Frequency = <strong>868100000<\/strong><\/li>\n<li>Add Frequency = <strong>868300000<\/strong><\/li>\n<li>Add Frequency = <strong>868500000<\/strong><\/li>\n<li>Add Frequency = <strong>867100000<\/strong><\/li>\n<li>Add Frequency = <strong>867300000<\/strong><\/li>\n<li>Add Frequency = <strong>867500000<\/strong><\/li>\n<li>Add Frequency = <strong>867700000<\/strong><\/li>\n<li>Add Frequency = <strong>867900000<\/strong><\/li>\n<li>Adaptive data rate (ADR) &#8211; <strong>Dynamic mode<\/strong><\/li>\n<li>Click on button <strong>Save changes<\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #800000;\"><strong>Sending &#8222;Hello LoRa!&#8220; to TTS<\/strong><\/span><\/h4>\n<ol>\n<li style=\"text-align: left;\">In <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Payload formatters -&gt; Uplink<\/strong> change <strong>Formatter type<\/strong> to <strong>Custom Javascript formatter <\/strong>and to <strong>Formatter code<\/strong> copy and paste code bellow:\n<pre><span style=\"color: #333399;\"><em>function<\/em><\/span> <span style=\"color: #ff0000;\">Decoder<\/span>(bytes, port) { \r\n   <em><span style=\"color: #333399;\">return<\/span><\/em> {\r\n          mydata: String.fromCharCode.<span style=\"color: #ff0000;\">apply<\/span>(<span style=\"color: #993300;\">null<\/span>, bytes) \/\/ Decode plain text\r\n   };\r\n}<\/pre>\n<\/li>\n<li><strong>Save changes<\/strong><\/li>\n<li>To your Arduino IDE copy and paste program <strong><a href=\"https:\/\/github.com\/OndrejKnebl\/TTNv3-LoRaVSB\/blob\/main\/OTAA_Sending_Hello_LoRa\/OTAA_Sending_Hello_LoRa.ino\" target=\"_blank\" rel=\"noopener\">Sending Hello LoRa &#8211; OTAA<\/a><\/strong>.<\/li>\n<li>In program replace <strong>APPEUI<\/strong>, <strong>DEVEUI<\/strong> and <strong>APPKEY<\/strong> with keys in TTS. Keys are in <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Device overview -&gt; Activation information<\/strong>.<\/li>\n<li>Connect Adafruit Feather M0 using micro USB cable to your computer.<\/li>\n<li>Choose the appropriate COM port which is used for communication with Adafruit.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3653 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32.png\" alt=\"M0 Setup Arduino IDE\" width=\"300\" height=\"174\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32.png 452w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32-300x174.png 300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/li>\n<li>In Arduino IDE click on <strong>Upload<\/strong> button to upload program to your Adafruit Feather M0.<\/li>\n<li>In Arduino IDE click on <strong>Serial Monitor <\/strong>button and you should <strong>every +-30 seconds<\/strong> see &#8222;Sending &#8211; Hello, LoRa!&#8220;:<span style=\"color: #ff6600;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3655 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial.png\" alt=\"\" width=\"750\" height=\"331\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial.png 1208w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial-300x132.png 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial-1024x452.png 1024w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial-768x339.png 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/span><\/li>\n<li>In <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Live data<\/strong> you should see this:<span style=\"color: #ff6600;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2243 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_TTS.png\" alt=\"\" width=\"750\" height=\"431\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_TTS.png 1549w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_TTS-300x172.png 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_TTS-1024x588.png 1024w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_TTS-768x441.png 768w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/AFM0_TTS-1536x883.png 1536w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #189bd6;\"><strong>Activation By Personalization (ABP)<\/strong><\/span><\/h2>\n<h4><span style=\"color: #800000;\"><strong>MCCI LoRaWAN LMIC library setup<\/strong><\/span><\/h4>\n<ol>\n<li>In the Arduino IDE <strong>Library Manager<\/strong> search <strong>MCCI LoRaWAN LMIC library<\/strong> by Terry Moore and install it.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2909 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/09\/AF32u4_A2_Setup6.png\" alt=\"Adafruit 32u4 Arduino2 Setup\" width=\"250\" height=\"403\" \/><\/li>\n<li>On Windows open <strong>lmic_project_config.h<\/strong> located in <strong>\\Documents\\Arduino\\libraries\\MCCI_LoRaWAN_LMIC_library\\project_config\\<\/strong><\/li>\n<li>Change project definitions to definitions listed bellow and save it.<\/li>\n<\/ol>\n<pre style=\"padding-left: 40px;\">\/\/ project-specific definitions\r\n#define CFG_eu868 1\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \/\/for Europe (change it based on your location)\r\n#define CFG_sx1276_radio 1\r\n#define DISABLE_JOIN 1\r\n#define DISABLE_PING 1\r\n#define DISABLE_BEACONS 1<\/pre>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #800000;\"><strong>Add Feather M0 into The Things Stack<\/strong><\/span><\/h4>\n<ol>\n<li><a href=\"https:\/\/www.thethingsnetwork.org\/login?next=\/\" target=\"_blank\" rel=\"noopener\"><strong>Create an account<\/strong><\/a> on The Things Network if you don&#8217;t have one.<\/li>\n<li><strong>Login<\/strong> on <strong><a href=\"https:\/\/www.thethingsnetwork.org\/login?next=\/\" target=\"_blank\" rel=\"noopener\">The Things Network<\/a><\/strong>.<\/li>\n<li>Click on your username and choose <strong>Console<\/strong>.<\/li>\n<li>Select a network cluster.<\/li>\n<\/ol>\n<h6><strong>Add application<\/strong><\/h6>\n<ol>\n<li><strong>Go to applications<\/strong>.<\/li>\n<li>Click on button <strong>+ Add application<\/strong>.<\/li>\n<li>Write something into <strong>Application ID<\/strong>.<\/li>\n<li>Click on button <strong>Create application<\/strong>.<\/li>\n<\/ol>\n<h6><strong>Add end device<\/strong><\/h6>\n<ol>\n<li>In your application click on button <strong>+ Register end device<\/strong>.<\/li>\n<li>Input Method \u2013 Choose\u00a0<strong>Enter end device specifics manually<\/strong>.<\/li>\n<li>Frequency plan &#8211; <span style=\"color: #000000;\"><strong>Europe 863-870 MHz (SF9 for RX2 &#8211; recommended)<\/strong><\/span><\/li>\n<li>LoRaWAN version &#8211; <strong>LoRaWAN Specification 1.0.3<\/strong><\/li>\n<li>Click on <strong>Show advanced activation, LoRaWAN class and cluster settings<\/strong><\/li>\n<li>Activation mode &#8211; <strong>Activation by personalization (ABP)<\/strong><\/li>\n<li>Additional LoRaWAN class capabilities &#8211; <strong>None (class A only)<\/strong><\/li>\n<li><strong>Deselect<\/strong> &#8211; Use network&#8217;s default MAC settings<\/li>\n<li>Rx1 data rate offset = <strong>0<\/strong><\/li>\n<li>Rx1 delay = <strong>1<\/strong><\/li>\n<li>Resets frame counters &#8211; <strong>Enabled<\/strong><\/li>\n<li>Rx2 data rate = <strong>3<\/strong><\/li>\n<li>Rx2 frequency = <strong>869,525 MHz<\/strong><\/li>\n<li>Add entry = <strong>868100000<\/strong><\/li>\n<li>Add entry = <strong>868300000<\/strong><\/li>\n<li>Add entry = <strong>868500000<\/strong><\/li>\n<li>Add entry = <strong>867100000<\/strong><\/li>\n<li>Add entry = <strong>867300000<\/strong><\/li>\n<li>Add entry = <strong>867500000<\/strong><\/li>\n<li>Add entry = <strong>867700000<\/strong><\/li>\n<li>Add entry = <strong>867900000<\/strong><\/li>\n<li>DevEUI &#8211; <strong>Generate<\/strong><\/li>\n<li>Device address &#8211; <strong>Generate<\/strong><\/li>\n<li>AppSKey &#8211; <strong>Generate<\/strong><\/li>\n<li>NwkSKey &#8211; <strong>Generate<\/strong><\/li>\n<li>End device ID &#8211; here you can name your device<\/li>\n<li>After registration &#8211; <strong>View registered end device<\/strong><\/li>\n<li>Click on button <strong>Register end device<\/strong><\/li>\n<li>Click on <strong>Settings<\/strong><\/li>\n<li>Network layer &#8211; <strong>Expand<\/strong><\/li>\n<li>Click on <strong>Advanced MAC settings<\/strong><\/li>\n<li>Desired Rx1 delay = <strong>1<\/strong><\/li>\n<li>Adaptive data rate (ADR) \u2013\u00a0<strong>Dynamic mode<\/strong><\/li>\n<li>Click on button <strong>Save changes<\/strong><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #800000;\"><strong>Sending &#8222;Hello LoRa!&#8220; to TTS<\/strong><\/span><\/h4>\n<ol>\n<li style=\"text-align: left;\">In <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Payload formatters -&gt; Uplink<\/strong> change <strong>Formatter type<\/strong> to <strong>Custom Javascript formatter <\/strong>and to <strong>Formatter code<\/strong> copy and paste code bellow:\n<pre><span style=\"color: #333399;\"><em>function<\/em><\/span> <span style=\"color: #ff0000;\">Decoder<\/span>(bytes, port) { \r\n   <em><span style=\"color: #333399;\">return<\/span><\/em> {\r\n          mydata: String.fromCharCode.<span style=\"color: #ff0000;\">apply<\/span>(<span style=\"color: #993300;\">null<\/span>, bytes) \/\/ Decode plain text\r\n   };\r\n}<\/pre>\n<\/li>\n<li><strong>Save changes<\/strong><\/li>\n<li>To your Arduino IDE copy and paste program <strong><a href=\"https:\/\/github.com\/OndrejKnebl\/TTNv3-LoRaVSB\/blob\/main\/Sending_Hello_LoRa\/Sending_Hello_LoRa.ino\" target=\"_blank\" rel=\"noopener\">Sending Hello LoRa<\/a><\/strong>.<\/li>\n<li>In program replace <strong>NWKSKEY<\/strong>, <strong>APPSKEY<\/strong> and <strong>DEVADDR<\/strong> with keys of your end device registred in TTS. Keys are in <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Device overview -&gt; Session information<\/strong>.<\/li>\n<li>Connect Adafruit Feather M0 using micro USB cable to your computer.<\/li>\n<li>Choose the appropriate COM port which is used for communication with Adafruit.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3653 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32.png\" alt=\"M0 Setup Arduino IDE\" width=\"300\" height=\"174\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32.png 452w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-Setup32-300x174.png 300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/li>\n<li>In Arduino IDE click on <strong>Upload<\/strong> button to upload program to your Adafruit Feather M0.<\/li>\n<li>In Arduino IDE click on <strong>Serial Monitor <\/strong>button and you should <strong>every +-1 minute<\/strong>\u00a0see <span style=\"color: #000000;\">&#8222;Sending &#8211; Hello, LoRa!&#8220;<\/span>:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3656 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial2.png\" alt=\"\" width=\"780\" height=\"242\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial2.png 1198w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial2-300x93.png 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial2-1024x318.png 1024w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2023\/01\/M0-HelloLora-Serial2-768x238.png 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/li>\n<li>In <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Live data<\/strong> you should see this:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1859 \" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/TTS_Hello_Lora.png\" alt=\"TTS_Hello_Lora\" width=\"779\" height=\"355\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/TTS_Hello_Lora.png 1562w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/TTS_Hello_Lora-300x137.png 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/TTS_Hello_Lora-1024x467.png 1024w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/TTS_Hello_Lora-768x350.png 768w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2022\/06\/TTS_Hello_Lora-1536x700.png 1536w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>TTN version: TTNv3 \/ TTS SANDBOX Activation: OTAA \/ ABP Device Class: Class A Last revision: October 28, 2024 At the Feather M0&#8218;s heart is an ATSAMD21G18 ARM Cortex M0 processor, clocked at 48 MHz and at 3.3 V logic. This chip has a whopping 256 KB of FLASH (8x more than the ATmega32u4) and [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2087","page","type-page","status-publish","hentry","post"],"_links":{"self":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/2087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/comments?post=2087"}],"version-history":[{"count":76,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/2087\/revisions"}],"predecessor-version":[{"id":8182,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/2087\/revisions\/8182"}],"wp:attachment":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/media?parent=2087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}