{"id":8523,"date":"2025-01-06T16:56:22","date_gmt":"2025-01-06T16:56:22","guid":{"rendered":"https:\/\/lora.vsb.cz\/?page_id=8523"},"modified":"2025-01-06T17:21:39","modified_gmt":"2025-01-06T17:21:39","slug":"868-mhz-wio-wm1110-dev-kit","status":"publish","type":"page","link":"https:\/\/lora.vsb.cz\/index.php\/868-mhz-wio-wm1110-dev-kit\/","title":{"rendered":"868 MHz Wio-WM1110 Dev Kit"},"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<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Frequency:<\/strong><\/td>\n<td>Europe 863-870 MHz (SF9 for RX2 \u2013 recommended)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Activation:<\/strong><\/td>\n<td>OTAA<\/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>LoRaWAN:<\/strong><\/td>\n<td>1.0.4<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left; min-width: 100px;\" width=\"10%\"><strong>Last revision:<\/strong><\/td>\n<td>December 14, 2024<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>WM1110 Dev Kit<\/strong> is based on <strong>Wio-WM1110 Wireless Module<\/strong>, integrates Semtech&#8217;s LoRa\u00ae transceiver and a multi-purpose radio front-end for geolocation. The LoRa\u00ae transceiver provides low-power, high-sensitivity network coverage, while GNSS (GPS\/Beidou) and Wi-Fi scanning offer all-round location coverage. While also providing connectivity options for a variety of peripherals. <strong><a href=\"https:\/\/wiki.seeedstudio.com\/Wio-WM1110_Dev_Kit\/Introduction\/\" target=\"_blank\" rel=\"noopener\">See complete specification here<\/a>.<\/strong><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8525\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/wio-wm1110-dev-kit.jpg\" alt=\"\" width=\"500\" height=\"375\" \/><\/p>\n<h2><span style=\"color: #189bd6;\"><strong>Prepare<\/strong><\/span><\/h2>\n<ul>\n<li>Wio-WM1110 Dev Kit<\/li>\n<li>PC + USB cable Type-C<\/li>\n<li>J-Link Debug Programmer<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><strong><span style=\"color: #800000;\">Get Started with Wio-WM1110 Dev Kit<\/span><\/strong><\/h2>\n<ol>\n<li>Follow the instructions provided on this website: <strong><a href=\"https:\/\/wiki.seeedstudio.com\/Get_Started_with_Wio-WM1110_Dev_Kit\/\" target=\"_blank\" rel=\"noopener\">Get Started with Wio-WM1110 Dev Kit<\/a><\/strong> and try the first tutorial:<strong> <a href=\"https:\/\/wiki.seeedstudio.com\/Get_Started_with_Wio-WM1110_Dev_Kit\/#running-a-first-test\" target=\"_blank\" rel=\"noopener\">Running a First Test<\/a><\/strong><\/li>\n<li>If you get the error &#8222;<span style=\"color: #ff0000;\">.text section is larger than specified size<\/span>&#8220; or &#8222;<span style=\"color: #ff0000;\">.rodata section is larger than specified size<\/span>&#8220; when running <strong>Build and Run<\/strong>, follow the fix below.<\/li>\n<li>To get LoRaWAN 1.0.4 up and running, follow the instructions below.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #800000;\"><strong>Section is larger than specified size &#8211; error fix<\/strong><\/span><\/h2>\n<ol>\n<li><strong>Right-click on the project name<\/strong> and select <strong>Edit Section Placement<\/strong>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8541\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/error_fix_wm1110.png\" alt=\"\" width=\"300\" height=\"560\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/error_fix_wm1110.png 421w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/error_fix_wm1110-161x300.png 161w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/li>\n<li>Change line<br \/>\n<code>&lt;ProgramSection alignment=\"4\" load=\"Yes\" name=\".text\" size=\"0x4\" \/&gt;<\/code><br \/>\nto<br \/>\n<code>&lt;ProgramSection alignment=\"4\" load=\"Yes\" name=\".text\" \/&gt;<\/code><\/li>\n<li>Change line<br \/>\n<code>&lt;ProgramSection alignment=\"4\" load=\"Yes\" name=\".rodata\" size=\"0x4\" \/&gt;<\/code><br \/>\nto<br \/>\n<code>&lt;ProgramSection alignment=\"4\" load=\"Yes\" name=\".rodata\" \/&gt;<\/code><\/li>\n<li><strong>Save the changes<\/strong> and run <strong>Build and Run<\/strong> again.<\/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>Add Wio-WM1110 Dev Kit 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.4<\/strong><\/li>\n<li>Regional Parameters version &#8211; <strong>RP002 Regional Parameters\u00a01.0.4<\/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><strong>Open file<\/strong> located at <strong>&#8230;\\nRF5_SDK_17.1.0_ddde560\\examples\\peripheral\\Seeed_Wio_WM1110_Dev_Board\\apps\\common\\lorawan_key_config.h<\/strong><\/li>\n<li>Replace <strong>LORAWAN_DEVICE_EUI<\/strong>, <strong>LORAWAN_JOIN_EUI<\/strong> and <strong>LORAWAN_APP_KEY<\/strong> with keys in TTS. Keys are in <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Activation information<\/strong>.<\/li>\n<li>In the SEGGER Embedded Studio <strong>File -&gt; Open Solution&#8230; -&gt; &#8230;\\nRF5_SDK_17.1.0_ddde560\\examples\\peripheral\\Seeed_Wio_WM1110_Dev_Board-master\\pca10056\\blank\\ses_lorawan -&gt; o<\/strong>pen <strong>wm1110_dev_kit_pca10056.emProject<\/strong><\/li>\n<li><strong>Edit Section Placement<\/strong> as discussed in section above &#8222;<strong>Section is larger than specified size &#8211; error fix<\/strong>&#8222;.<\/li>\n<li><strong>Right-click on the project name<\/strong> and select <strong>Options<\/strong>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8562\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_1.png\" alt=\"\" width=\"550\" height=\"260\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_1.png 700w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_1-300x142.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/li>\n<li>In <strong>Code -&gt; Library -&gt; Library I\/O<\/strong> change <strong>None<\/strong> to <strong>RTT<\/strong>.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8563\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_2.png\" alt=\"\" width=\"550\" height=\"264\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_2.png 992w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_2-300x144.png 300w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/rtt_2-768x369.png 768w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/li>\n<li>Click <strong>OK.<\/strong><\/li>\n<li style=\"text-align: left;\">In <strong>main_lorawan.c<\/strong> replace the <code>static void on_modem_alarm( void )<\/code> function with the new function below:\n<pre>static void on_modem_alarm( void )\r\n{\r\n    uint8_t app_data_size = 0;\r\n\r\n    \/\/ Encode \"Hello LoRa\" into the app_data_buffer\r\n    const char* message = \"Hello LoRa\";\r\n    app_data_size = strlen(message); \/\/ Get the length of the message\r\n    memcpy(app_data_buffer, message, app_data_size); \/\/ Copy message into buffer\r\n\r\n    \/\/ Send the frame\r\n    send_frame(app_data_buffer, app_data_size, LORAWAN_CONFIRMED_MSG_ON);\r\n\r\n    \/\/ Schedule next packet transmission\r\n    ASSERT_SMTC_MODEM_RC(smtc_modem_alarm_start_timer(APP_TX_DUTYCYCLE));\r\n}<\/pre>\n<\/li>\n<li><strong>Save changes<\/strong><\/li>\n<li>Click on <strong>Build -&gt; Compile main_lorawan.c<\/strong><\/li>\n<li>Click on <strong>Target -&gt; Connect J-Link<\/strong><\/li>\n<li>Click on <strong>Build -&gt; Build and Run<\/strong><\/li>\n<li>In <strong>TTS -&gt; Applications -&gt; YourAppName -&gt; YourEndDeviceName -&gt; Live data<\/strong> you should every minute see this:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8573 size-full\" src=\"http:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/wio_tts-e1736182152778.png\" alt=\"\" width=\"950\" height=\"1165\" srcset=\"https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/wio_tts-e1736182152778.png 950w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/wio_tts-e1736182152778-245x300.png 245w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/wio_tts-e1736182152778-835x1024.png 835w, https:\/\/lora.vsb.cz\/wp-content\/uploads\/2025\/01\/wio_tts-e1736182152778-768x942.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TTN version: TTNv3 \/ TTS SANDBOX Frequency: Europe 863-870 MHz (SF9 for RX2 \u2013 recommended) Activation: OTAA Device Class: Class A LoRaWAN: 1.0.4 Last revision: December 14, 2024 WM1110 Dev Kit is based on Wio-WM1110 Wireless Module, integrates Semtech&#8217;s LoRa\u00ae transceiver and a multi-purpose radio front-end for geolocation. The LoRa\u00ae transceiver provides low-power, high-sensitivity network [&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-8523","page","type-page","status-publish","hentry","post"],"_links":{"self":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/8523","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=8523"}],"version-history":[{"count":47,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/8523\/revisions"}],"predecessor-version":[{"id":8581,"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/pages\/8523\/revisions\/8581"}],"wp:attachment":[{"href":"https:\/\/lora.vsb.cz\/index.php\/wp-json\/wp\/v2\/media?parent=8523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}