# SparkFun LoRa Thing Plus expLoRaBLE not working

**URL:** <https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599>\
**Category:** Artemis\
**Created:** [February 21, 2021, 11:55pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599 "2021-02-21T23:55:14Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![clsnwrks](https://avatars.discourse-cdn.com/v4/letter/c/e8c25b/32.png) [@clsnwrks](https://community.sparkfun.com/u/clsnwrks)\
**Post date:** [February 21, 2021, 11:55pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/1 "2021-02-21T23:55:14Z")

</div>

This persistent error: Error compiling for board SparkFun Artemis Thing Plus.

Dell Inspiron, Arduino 1.8.13, Artiemis and Apollo3 boards no problem, several good codes running on SF RB Artemis and SF RB Artemis Nano. Officially:

"Arduino: 1.8.13 (Windows 10), TD: 1.53, Board: “SparkFun Artemis Thing Plus, 921600, Ambiq Secure Bootloader (Advanced)”

Two new SF LoRa Thing Plus board. TTN gateway, application, device and associated codes all fine.

Example code LoRaWAN\_node\_ABP\_method, example as downloaded from SF, does not work. Will not compile on SF Artemis Thing Plus.

Errors ( listed below) apparently all derive from hal.cpp

Error list copied verbatim

"

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal\hal.cpp:192:12: error: ‘SPIName’ does not name a type; did you mean ‘SPIClass’?

extern “C” SPIName spi\_get\_peripheral\_name(PinName mosi, PinName miso, PinName sclk); // this mbed internal function determines the IOM module number for a set of pins

^ ~~~~~~

SPIClass

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal\hal.cpp: In function ‘void hal\_spi\_init()’:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal\hal.cpp:197:52: error: ‘D38’ was not declared in this scope

printf(“SPI IOM %d\n”, spi\_get\_peripheral\_name(D38, D43, D42));

^~~

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal\hal.cpp:197:57: error: ‘D43’ was not declared in this scope

printf(“SPI IOM %d\n”, spi\_get\_peripheral\_name(D38, D43, D42));

^~~

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal\hal.cpp:197:62: error: ‘D42’ was not declared in this scope

printf(“SPI IOM %d\n”, spi\_get\_peripheral\_name(D38, D43, D42));

^~~

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal\hal.cpp:197:28: error: ‘spi\_get\_peripheral\_name’ was not declared in this scope

printf(“SPI IOM %d\n”, spi\_get\_peripheral\_name(D38, D43, D42));

^ ~~~~~~~~~~~~~~~~~~~~~~

Multiple libraries were found for “SPI.h”

Used: C:\Users\clsnf\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\1.2.1\libraries\SPI

Not used: C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\SPI-master

exit status 1

Error compiling for board SparkFun Artemis Thing Plus.

End of copy"

hal.cpp does not work. 2015 version?

I corrected some errors by replacing SPI1 with SPI but you really do not want me overwriting \*.cpp codes.

Also, on [https://learn.sparkfun.com/tutorials/sp … e-overview](https://learn.sparkfun.com/tutorials/sparkfun-explorable-hookup-guide/software-overview), box implies version 2.0.5 for SF Apollo3 board but my Arduino IDE shows latest version of SF Apollo3 boards as 1.2.1, installed.

I read this text " “The library includes modifications for the SPI pins use by the NM180100 to connect the Apollo3 MCU to the SX1262 module. Additionally, it also contains modifications to pre-configure the library to use the SX1262, the US LoRa frequency band, and defaults to a SF7 (spreading factor).” on [https://learn.sparkfun.com/tutorials/sp … e-overview](https://learn.sparkfun.com/tutorials/sparkfun-explorable-hookup-guide/software-overview). Apparently not true.

Another substantial disappointment for a supposedly new well-supported SF product …

---

<div class="post-metadata">

**Author:** ![clsnwrks](https://avatars.discourse-cdn.com/v4/letter/c/e8c25b/32.png) [@clsnwrks](https://community.sparkfun.com/u/clsnwrks)\
**Post date:** [February 27, 2021, 6:26pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/2 "2021-02-27T18:26:15Z")

</div>

Following latest instructions, installed updated Artemis Apollo core. Now I find version 2.0.5 of board definitions as well explicit board listing for Thing Plus ExpLoRaBLE. Using correct version, board and port I get a different error message:

Error compiling for board LoRa Thing Plus expLoRaBLE.

Details:

Arduino: 1.8.13 (Windows 10), TD: 1.53, Board: “LoRa Thing Plus expLoRaBLE, 921600, SparkFun Variable Loader (Recommended)”

c:/users/clsnf/appdata/local/arduino15/packages/sparkfun/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: libraries\BasicMAC\hal\hal.cpp.o: in function `hal\_ant\_switch’:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal/hal.cpp:116: undefined reference to `lmic\_pins’

c:/users/clsnf/appdata/local/arduino15/packages/sparkfun/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: libraries\BasicMAC\hal\hal.cpp.o: in function `hal\_pin\_rst’:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal/hal.cpp:121: undefined reference to `lmic\_pins’

c:/users/clsnf/appdata/local/arduino15/packages/sparkfun/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: libraries\BasicMAC\hal\hal.cpp.o: in function `hal\_pin\_busy\_wait’:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal/hal.cpp:176: undefined reference to `lmic\_pins’

c:/users/clsnf/appdata/local/arduino15/packages/sparkfun/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: libraries\BasicMAC\hal\hal.cpp.o: in function `hal\_dio3\_controls\_tcxo’:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal/hal.cpp:181: undefined reference to `lmic\_pins’

c:/users/clsnf/appdata/local/arduino15/packages/sparkfun/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: libraries\BasicMAC\hal\hal.cpp.o: in function `hal\_dio2\_controls\_rxtx’:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal/hal.cpp:184: undefined reference to `lmic\_pins’

c:/users/clsnf/appdata/local/arduino15/packages/sparkfun/tools/arm-none-eabi-gcc/8-2018-q4-major/bin/…/lib/gcc/arm-none-eabi/8.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: libraries\BasicMAC\hal\hal.cpp.o:C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\hal/hal.cpp:331: more undefined references to `lmic\_pins’ follow

collect2.exe: error: ld returned 1 exit status

Multiple libraries were found for “SPI.h”

Used: C:\Users\clsnf\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.0.5\libraries\SPI

Not used: C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\SPI-master

exit status 1

Error compiling for board LoRa Thing Plus expLoRaBLE.

Now an error in specific section of hal.cpp related t lmic\_pins? Help, please.

---

<div class="post-metadata">

**Author:** ![jmjo](https://avatars.discourse-cdn.com/v4/letter/j/a9a28c/32.png) [@jmjo](https://community.sparkfun.com/u/jmjo)\
**Post date:** [March 4, 2021, 12:01pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/3 "2021-03-04T12:01:56Z")

</div>

Hello, I fix that kind of compile error by disabling the USE\_STANDARD\_PINMAP (placing it on comment //USE\_STANDARD\_PINMAP ). Compile is OK but I cannot join. Another problem. 🙂

---

<div class="post-metadata">

**Author:** ![clsnwrks](https://avatars.discourse-cdn.com/v4/letter/c/e8c25b/32.png) [@clsnwrks](https://community.sparkfun.com/u/clsnwrks)\
**Post date:** [March 5, 2021, 5:31pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/4 "2021-03-05T17:31:19Z")

</div>

Good suggestion, thanks. I disabled (commented out) that line in code. Code compiled successfully. And, miracle, now I see regular payloads going out (via Arduino IDE serial monitor) and coming in via my TTN router.

---

<div class="post-metadata">

**Author:** ![clsnwrks](https://avatars.discourse-cdn.com/v4/letter/c/e8c25b/32.png) [@clsnwrks](https://community.sparkfun.com/u/clsnwrks)\
**Post date:** [March 7, 2021, 4:10pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/5 "2021-03-07T16:10:44Z")

</div>

Sunday, 2021-03-07

After disruption in household wireless connections but without any other changes to files, code, connections or board, this morning I get this error:

C:\Users\clsnf\OneDrive\Documents\Arduino\libraries\BasicMAC\src\lmic\radio-sx126x.c:778: assertion failed.

Error derives from this line in radio-sx126x.c:

ASSERT( ReadReg(REG\_LORASYNCWORDLSB) == 0x24 );

Why the change?

---

<div class="post-metadata">

**Author:** ![clsnwrks](https://avatars.discourse-cdn.com/v4/letter/c/e8c25b/32.png) [@clsnwrks](https://community.sparkfun.com/u/clsnwrks)\
**Post date:** [March 7, 2021, 4:28pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/6 "2021-03-07T16:28:36Z")

</div>

Sunday, 2021-03-07, update

Once I disconnected that ExpLoRaBLE board completely, including from battery, for a truly cold reboot, it then worked. Radio evidently needed a reset that it did not get with battery connected?

---

<div class="post-metadata">

**Author:** ![humbertokramm](https://avatars.discourse-cdn.com/v4/letter/h/3be4f8/32.png) [@humbertokramm](https://community.sparkfun.com/u/humbertokramm)\
**Post date:** [August 20, 2021, 11:48am UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/7 "2021-08-20T11:48:13Z")

</div>

> clsnwrks:  
> Sunday, 2021-03-07, update
> 
> Once I disconnected that ExpLoRaBLE board completely, including from battery, for a truly cold reboot, it then worked. Radio evidently needed a reset that it did not get with battery connected?

I'm testing this card and I had the same problems you described above.

I solved the pending issues with the mapping of the pins and he started to make the transmission attempts.

However, nothing was received on TTN. Alias, it looks like it passes the join very quickly.

The pinmap I defined was this:

```auto
#define _NSS 36
#define _MOSI 38
#define _MISO 43
#define _SCK 42
#define _Busy 39
#define _DIO1 40
#define _DIO3 47
#define _NRESET 44

```

I know some are not used, but I made sure to put them all.

As a last test, I did what you suggested to turn off the power module and turn it on again. But I was not successful.

Did you find out anything else about this?

---

<div class="post-metadata">

**Author:** ![humbertokramm](https://avatars.discourse-cdn.com/v4/letter/h/3be4f8/32.png) [@humbertokramm](https://community.sparkfun.com/u/humbertokramm)\
**Post date:** [August 20, 2021, 11:49am UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/8 "2021-08-20T11:49:19Z")

</div>

Note that it tries to join and quickly starts transmitting the data.

```auto
Starting

SPI1 begin
SPI IOM 3
2033: EV_JOINING
00:00:000.033: engineUpdate[opmode=0x4]
00:00:01.030: engineUpdate[opmode=0x4]
64661: EV_TXSTART
00:00:01.036: engineUpdate[opmode=0x884]
00:00:01.039: TX[mod=LoRa,sf=10,bw=125,cr=4/5,nocrc=0,ih=0,fcnt=0,freq=902.5,pow=30,len=23] : 00F50955520C9A6E1670B3D57ED004440D627635BA0000
89447: EV_TXDONE
00:00:01.432: engineUpdate[opmode=0x884]
00:00:06.425: RX_MODE[mod=LoRa,sf=10,bw=500,cr=4/5,nocrc=1,ih=0,freq=923.9,rxtime=401932]
00:00:06.439: WARNING: rxtime is 540 ticks in the past! (ramp-up time 5 ms / 369 ticks)
00:00:06.460: RX: TIMEOUT

```

---

<div class="post-metadata">

**Author:** ![humbertokramm](https://avatars.discourse-cdn.com/v4/letter/h/3be4f8/32.png) [@humbertokramm](https://community.sparkfun.com/u/humbertokramm)\
**Post date:** [August 20, 2021, 2:17pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/9 "2021-08-20T14:17:37Z")

</div>

> jmjo:  
> Hello, I fix that kind of compile error by disabling the USE\_STANDARD\_PINMAP (placing it on comment //USE\_STANDARD\_PINMAP ). Compile is OK but I cannot join. Another problem. 🙂

Did you solve your problem?

---

<div class="post-metadata">

**Author:** ![jmjo](https://avatars.discourse-cdn.com/v4/letter/j/a9a28c/32.png) [@jmjo](https://community.sparkfun.com/u/jmjo)\
**Post date:** [February 25, 2022, 8:14am UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/10 "2022-02-25T08:14:16Z")

</div>

It i probably late for an answer, but I never received a notification about your question, sorry…

As I remember the main problem was that the UUID need inversion but not the services or other.

Another problem was that this Device does not perform well as LoRa sensibility compare to other products I am using. So for my projects this is not usable. I had difficulties to use it, thinking it was still a code problem…

I compared live with other products connected to a public antenna and ExploraBLE was working really badly.

I am very updet while I did not find a similar product yet on the market. LoRa-BLE.

PS: I found my post with more details: #226506

---

<div class="post-metadata">

**Author:** ![Craig59715](https://avatars.discourse-cdn.com/v4/letter/c/8491ac/32.png) [@Craig59715](https://community.sparkfun.com/u/Craig59715)\
**Post date:** [February 4, 2024, 7:37pm UTC](https://community.sparkfun.com/t/sparkfun-lora-thing-plus-explorable-not-working/41599/11 "2024-02-04T19:37:21Z")

</div>

My test of the expLoRaBLE fails with an assertion failed message for hal.cpp

OUTPUT from sketch execution:

* * *

Starting

00:00:00.001: c:\Users\cdeat\OneDrive\Craig Documents\Arduino\libraries\Basicmac\_LoRaWAN\_stack\src\hal\hal.cpp:73: assertion failed

* * *

I am using the basicmac\_otaa sketch that is references in the Sparkfun documentation for the SparkFun LoRa Thing Plus board (#WRL-17506). The only mods I made to the sketch were to provide my TTN DEVEUI and APPKEY and to comment out line 68 // #define USE\_STANDARD\_PINMAP as suggested in an earlier reply in this thread.

Sketch compiled properly, and began execution and immediately raised the assertion failure.

I have other LoRaWAN devices working properly with my TTN account (e.g. SAMD-21 Pro RF board), and I am using my own private gateway which is properly working.

Any help will be greatly appreciated.
