LMIC-node not connecting to TTN

Hello all I am just now trying out the LMIC-node example listed here, lnlp/LMIC-node: LMIC-node | One example to rule them all. LMIC-node is an example LoRaWAN application for a node that can be used with The Things Network. It demonstrates how to send uplink messages, how to receive downlink messages, how to implement a downlink command and it provides useful status information. With LMIC-node it is easy to get a working node quickly up and running. LMIC-node supports many popular (LoRa) development boards out of the box. It uses the Arduino framework, the LMIC LoRaWAN library and PlatformIO. (github.com).

I have changed the boards according to the instructions to my heltec LoRa wifi 32 (V2), changed my region to the US based off the instructions. I also switched the DEVEUI, APEUI (it is all 0’s) to LSB format. I also left my APPKey in MSB format per the notes in “lorawan-keys.h” I am trying to view the default counter on my TTN application to verify successful connection.

Below is the output I am getting in my platformio serial monitor.

LMIC-node

Device-id:     wifi-lora-32-v2
LMIC library:  MCCI
Activation:    OTAA
Interval:      60 seconds     

000000092593:  Event: EV_JOINING
000000094634:  Event: EV_TXSTART 

000000096718:  doWork job started
000000498372:  Event: EV_JOIN_TXCOMPLETE
000000537482:  Event: EV_TXSTART
000000919851:  Event: EV_JOIN_TXCOMPLETE
000001285266:  Event: EV_TXSTART
000001689082:  Event: EV_JOIN_TXCOMPLETE
000001717110:  Event: EV_TXSTART
000002099527:  Event: EV_JOIN_TXCOMPLETE
000002644057:  Event: EV_TXSTART
000003047871:  Event: EV_JOIN_TXCOMPLETE
000003111702:  Event: EV_TXSTART
000003494120:  Event: EV_JOIN_TXCOMPLETE
000003606538:  Event: EV_TXSTART

000003846718:  doWork job started
000004010355:  Event: EV_JOIN_TXCOMPLETE
000004067553:  Event: EV_TXSTART
000004449968:  Event: EV_JOIN_TXCOMPLETE
000005163334:  Event: EV_TXSTART
000005567149:  Event: EV_JOIN_TXCOMPLETE
000005624910:  Event: EV_TXSTART
000006007327:  Event: EV_JOIN_TXCOMPLETE
000006253852:  Event: EV_TXSTART
000006657672:  Event: EV_JOIN_TXCOMPLETE
000006686745:  Event: EV_TXSTART
000007069161:  Event: EV_JOIN_TXCOMPLETE

I am not seeing any uplinks in my application
noconnect

Can anyone tell me what I’m doing wrong?

If you are not seeing any join requests in your application there are a couple of possible issues:

  • your transmission is not received by a gateway connected to TTN
  • your EUIs and AppKey do not match. BTW, try with a AppEUI that isn’t all zeros.

I tried a using a node based off an Arduino example and that shows up in my application, so the gateway is fine.

Do I need to generate an APPEUI?

You can, however you could just as easily use the same value as the DevEUI.

I changed the App EUI to the value of the DEV eui and Im still not getting anything. I also switched to my Arduino node to see if the connection was messed up and I was able to get uplink with that.

Did you observe the MSB | LSB?

// Optional: If DEVICEID is defined it will be used instead of the default defined in the BSF.
// #define DEVICEID "<deviceid>"

// Keys required for OTAA activation:

// End-device Identifier (u1_t[8]) in lsb format
#define OTAA_DEVEUI 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

// Application Identifier (u1_t[8]) in lsb format
#define OTAA_APPEUI 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

// Application Key (u1_t[16]) in msb format
#define OTAA_APPKEY 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

And did you check the Reginal settings?

    ; --- Regional settings -----
    ; Enable only one of the following regions:    
    ; -D CFG_as923=1
    ; -D CFG_as923jp=1   
    ; -D CFG_au915=1
    ; -D CFG_cn490=1                   ; Not yet supported
    ; -D CFG_cn783=1                   ; Not yet supported
    ; -D CFG_eu433=1                   ; Not yet supported
    -D CFG_eu868=1
    ; -D CFG_in866=1
    ; -D CFG_kr920=1
    ; -D CFG_us915=1

I used the proper formats for the eui’s
my DevEUI: 70B3D57ED004C725
my AppEUI: 0000000000000000
my AppKEY: 005CC09F5D714FE10DAC217DC4B34340

This is what it looks like in my lorawan-keys.h file

// Optional: If DEVICEID is defined it will be used instead of the default defined in the BSF.
// #define DEVICEID "<deviceid>"

// Keys required for OTAA activation:

// End-device Identifier (u1_t[8]) in lsb format
#define OTAA_DEVEUI 0x25, 0xC7, 0x04, 0xD0, 0x7E, 0xD5, 0xB3, 0x70

// Application Identifier (u1_t[8]) in lsb format
#define OTAA_APPEUI 0x25, 0xC7, 0x04, 0xD0, 0x7E, 0xD5, 0xB3, 0x70

// Application Key (u1_t[16]) in msb format
#define OTAA_APPKEY 0x00, 0x5C, 0xC0, 0x9F, 0x5D, 0x71, 0x4F, 0xE1, 0x0D, 0xAC, 0x21, 0x7D, 0xC4, 0xB3, 0x43, 0x40

Note that I changed my AppEUI to the same value as the DevEUI as recommended earlier in this thread.
I even created a new end device with a join EUI I created myself and matched it in the lorawan-keys.h file
my DevEUI: 70B3D57ED0056236
my AppEUI: 5623463463373575
my AppKEY: EB43468B61CDCAE2B7A12A751D09B416

// Optional: If DEVICEID is defined it will be used instead of the default defined in the BSF.
// #define DEVICEID "<deviceid>"

// Keys required for OTAA activation:

// End-device Identifier (u1_t[8]) in lsb format
#define OTAA_DEVEUI 0x36, 0x62, 0x05, 0xD0, 0x7E, 0xD5, 0xB3, 0x70

// Application Identifier (u1_t[8]) in lsb format
#define OTAA_APPEUI 0x75, 0x35, 0x37, 0x63, 0x34, 0x46, 0x23, 0x56

// Application Key (u1_t[16]) in msb format
#define OTAA_APPKEY 0xEB, 0x43, 0x46, 0x8B, 0x61, 0xCD, 0xCA, 0xE2, 0xB7, 0xA1, 0x2A, 0x75, 0x1D, 0x09, 0xB4, 0x16

I did change the region to the United States (-D CFG_us915=1) in my platformio.ini file as well as changing to the correct board I am using.

[platformio]
default_envs = 
    ;<platformio.ini board selector guard> Comment this line and uncomment one board-id below:

    ; LoRa development boards with integrated LoRa support:

    ; Board-id                            Board name
    ;---------                            ----------
    ; adafruit_feather_m0_lora          ; Adafruit Feather M0 LoRa
    ; disco_l072cz_lrwan1               ; Discovery B-L072Z-LRWAN1
     heltec_wifi_lora_32_v2            ; Heltec Wifi LoRa 32 V2
    ; heltec_wifi_lora_32               ; Heltec Wifi LoRa 32
    ; heltec_wireless_stick_lite        ; Heltec Wireless Stick Lite
    ; heltec_wireless_stick             ; Heltec Wireless Stick
    ; lopy4                             ; Pycom Lopy4
    ; lora32u4II                        ; BSFrance LoRa32u4 II v1.0, v1.1, v1.2, v1.3
    ; ttgo_lora32_v1                    ; TTGO LoRa32 v1.3
    ; ttgo_lora32_v2                    ; TTGO LoRa32 v2.0
    ; ttgo_lora32_v21                   ; TTGO LoRa32 v2.1.6
    ; ttgo_t_beam                       ; TTGO T-Beam v0.5, v0.6, v0.7
    ; ttgo_t_beam_v1                    ; TTGO T-Beam v1.0, v1.1

    ; Development boards that require an external SPI LoRa module:

    ; Board-id                            Board name
    ;---------                            ----------
    ; adafruit_qt_py_m0                 ; Adafruit QT Py    
    ; blackpill_f103c8_128k             ; Black Pill 128k
    ; blackpill_f103c8                  ; Black Pill  64k
    ; bluepill_f103c8_128k              ; Blue Pill 128k
    ; bluepill_f103c8                   ; Blue Pill  64k
    ; lolin_d32_pro                     ; Lolin D32 Pro
    ; lolin_d32                         ; Lolin D32
    ; lolin32                           ; Lolin32
    ; nodemcu_32s                       ; NodeMCU-32S
    ; nodemcuv2                         ; NodeMCU V2
    ; pico                              ; Raspberry Pi Pico
    ; pro8mhzatmega328                  ; Arduino Pro Mini 3.3V 8Mhz
    ; samd21_m0_mini                    ; SAMD21 M0-Mini
    ; teensylc                          ; Teensy LC


; ------------------------------------------------------------------------------
; |  Common Settings                                                           |
; |                                                                            |
; |  These settings are shared by all board configurations except for          |
; |  nodemcuv2 which uses its own monitor_speed setting.                       |
; ------------------------------------------------------------------------------

[common]

monitor_speed = 115200                 ; No need to change this.

build_flags =
    -D DO_WORK_INTERVAL_SECONDS=60

    ; -D ABP_ACTIVATION                ; Use ABP instead of OTAA activation.
    ;
    ; -D WAITFOR_SERIAL_SECONDS=10     ; Can be used to override the default value (10).
    ;                                    Is used only for boards with default set to != 0 in BSF.
    ;
    ; -D LMIC_CLOCK_ERROR_PPM=0        ; If not defined defines, otherwise overrides value defined in BSF.
    ;                                    Is for testing purposes only.
    ;                                    Do not enable this unless you explicitly know what you are doing.
    ;
    ; -D STM32_POST_INITSERIAL_DELAY_MS=1500  ; Workaround for STM32 boards. Can be used 
    ;                                           to override value (milliseconds) in BSF.

lib_deps =
    olikraus/U8g2                      ; OLED display library
    lnlp/EasyLed                       ; LED library
;   ███ Add additional libraries for User Code below this line ███


; -------------------------------
; |  Shortcuts and Workarounds  |
; -------------------------------

[esp32]
build_flags =
    -D hal_init=LMICHAL_init           ; Workaround for naming conflict of function hal_init
                                       ; introduced by newer versions (> 3.5.0) of 
                                       ; PlatformIO Espressif 32 platform (ESP32 Arduino core).
                                       ; See https://github.com/lnlp/LMIC-node/issues/41 for more information.

[pico]
upload_port = E:                       ; Shortcut for Raspberry Pi Pico. 
                                       ; Operating system and hardware dependent.
                                       ; Placed here so it can be easily changed.
                                       ; See section [env:pico] below for more information.


; --------------------------------------------------
; |  MCCI LoRaWAN LMIC library specific settings   |
; --------------------------------------------------

[mcci_lmic]
; LMIC-node was tested with MCCI LoRaWAN LMIC library v3.3.0 and v4.0.0.
; Some changes have been announced for future versions of the MCCI library
; which may be incompatible with LMIC-node. In case of problems just
; use mcci-catena/MCCI LoRaWAN LMIC library@4.0.0 below which will
; explicitly use v4.0.0 of the library.
; Perform 'PlatformIO: Clean' after changing library version and
; in case of issues remove the old version from .pio/libdeps/*.

; Note: LMIC_PRINTF_TO is defined for each board separately
;       in the board specific sections. Don't define it in this section.

lib_deps =
    ; Only ONE of below LMIC libraries should be enabled.
    mcci-catena/MCCI LoRaWAN LMIC library           ; MCCI LMIC library (latest release)
    ; mcci-catena/MCCI LoRaWAN LMIC library@4.0.0   ; MCCI LMIC library v4.0.0

build_flags =
    ; Use platformio.ini for settings instead lmic_project_config.h.
    -D ARDUINO_LMIC_PROJECT_CONFIG_H_SUPPRESS

    ; Ping and beacons not supported for class A, disable to save memory.
    -D DISABLE_PING
    -D DISABLE_BEACONS

    ; -D LMIC_DEBUG_LEVEL=1            ; 0, 1 or 2
    
    ; -D CFG_sx1272_radio=1            ; Use for SX1272 radio
    -D CFG_sx1276_radio=1              ; Use for SX1276 radio
    -D USE_ORIGINAL_AES                ; Faster but larger, see docs
    ; -D LMIC_USE_INTERRUPTS           ; Not tested or supported on many platforms
    ; -D LMIC_ENABLE_DeviceTimeReq=1   ; Network time support

    ; --- Regional settings -----
    ; Enable only one of the following regions:    
    ; -D CFG_as923=1
    ; -D CFG_as923jp=1   
    ; -D CFG_au915=1
    ; -D CFG_cn490=1                   ; Not yet supported
    ; -D CFG_cn783=1                   ; Not yet supported
    ; -D CFG_eu433=1                   ; Not yet supported
    ;-D CFG_eu868=1
    ; -D CFG_in866=1
    ; -D CFG_kr920=1
    -D CFG_us915=1

I am currently getting an error that states “Join-request to cluster-local Join Server failed”

Do you see the join request in the gateway traffic?

In the code it is set to something else. Did you change it in the device settings to reflect the value in your code?

In in the second end device the join eui (appEUI) is the same in my device setting and in the code. I am still getting a join request fail message in my application
joinfail

I am seeing uplink in my gateway traffic but not the application
gatewaytraffic

If you see join traffic in the gateway console it lists the DevEUI and AppEUI. Compare those to the device information in the console. If those two match the AppKey doesn’t match in 99% of the cases. (Either different values of not the correct order of bytes)
If the join request is in the application as well all above is well but something else is wrong, open the request and check the json to see if any errors are listed.

I am not going to attempt to read the screen shots, text is far too small on my mobile device.

The “Join request to cluster local” seems unusual.

Have you altered any of the Network, Application and most likely, Join Server addresses when you setup the device?

I havent edited anything on the Network, Application, and Join Server.

Frequency plan: United States 902-928 MHz, FSB 2 (used by TTN)
LoRaWAN version: LoaRaWAN Specification 1.0.4
Regional Parameters version: RP002 Regional Parameters 1.0.3
Activation mode: OTAA

Application layer- Use application default

Join settings - no changes made

None the less, that’s not a message I’d expect to see - there are many many configuration options and that sort of message implies that the device isn’t completely native to NAM1.

I’d delete it and set it up again, but using LoRaWAN v1.0.3 which is where LMIC is at currently, v1.0.4 has many significant differences. This difference is not related to the join cluster message.

You need to use

LoRaWAN Specifications 1.0.3

RP0001 Regional Parameters 1.0.3 revision A

1 Like

I switched to those parameters and still nothing. The Dev Eui is in the correct format, as well as the app key. The App Eui I returned to all Zero’s instead of making up my own, as I searched through this forum and generally found that if your device doesn’t already come with its own App Eui then generating one with all zeros should suffice.

My gateway console is telling me that I am receiving uplink, however when I view my application and/or the end device I am not seeing any updates, not even those join request fail messages. I again switched back to my Arduino sketches to further verify that the connection between the gateway and the node isn’t experiencing issues via interference or just a bad signal. The Arduino sketch uploaded onto the same Heltec Wifi LoRa32 V2 gives me no issues.

Update
I haven’t messed with any settings, but randomly I started to get some traffic in the end device console.


15:28:17    Downlink successfully transmitted    Rx1 Delay: 5
15:28:14    Forward join-accept to Application Server    DevAddr: 260C7863
15:28:14    Forward join-accept message    DevAddr: 260C7863
15:28:14    Receive join-accept message    DevAddr: 260C7863
15:28:14    Successfully scheduled join-accept for transmission on Gateway Server
15:28:14    Schedule join-accept for transmission on Gateway Server    Rx1 Delay: 5
15:28:12    Successfully processed join-request
15:28:12    Join-request to cluster-local Join Server succeeded    JoinEUI: 0000000000000000  DevEUI: 70B3D57ED0056309     Session key ID: 0183B911C3C8EAD7…
15:28:12    Accept join-request    DevAddr: 260C7863
15:28:12    Send join-request to cluster-local Join Server    JoinEUI: 0000000000000000    DevEUI: 70B3D57ED0056309    Selected MAC version: MAC_V1_0_3
15:28:12    Receive join-request

workmaybe.
workmaybe2.

Below is what I am currently seeing in my serial monitor window.

LMIC-node

Device-id:     wifi-lora-32-v2
LMIC library:  MCCI
Activation:    OTAA
Interval:      60 seconds

000000092683:  Event: EV_JOINING
000000094733:  Event: EV_TXSTART

000000096824:  doWork job started
000000498477:  Event: EV_JOIN_TXCOMPLETE
000000562723:  Event: EV_TXSTART
000000945101:  Event: EV_JOIN_TXCOMPLETE
000001631717:  Event: EV_TXSTART
000002035535:  Event: EV_JOIN_TXCOMPLETE
000002081805:  Event: EV_TXSTART
000002464225:  Event: EV_JOIN_TXCOMPLETE
000002945522:  Event: EV_TXSTART
000003349340:  Event: EV_JOIN_TXCOMPLETE
000003400101:  Event: EV_TXSTART
000003782520:  Event: EV_JOIN_TXCOMPLETE

000003846824:  doWork job started
000004010165:  Event: EV_TXSTART
000004413984:  Event: EV_JOIN_TXCOMPLETE
000004467638:  Event: EV_TXSTART
000004850057:  Event: EV_JOIN_TXCOMPLETE
000005198353:  Event: EV_TXSTART
000005602171:  Event: EV_JOIN_TXCOMPLETE
000005660556:  Event: EV_TXSTART
000006042975:  Event: EV_JOIN_TXCOMPLETE
000006597093:  Event: EV_TXSTART
000007000912:  Event: EV_JOIN_TXCOMPLETE
000007029257:  Event: EV_TXSTART
000007411675:  Event: EV_JOIN_TXCOMPLETE

000007596825:  doWork job started
000008031143:  Event: EV_TXSTART
000008434962:  Event: EV_JOIN_TXCOMPLETE
000008498705:  Event: EV_TXSTART
000008881124:  Event: EV_JOIN_TXCOMPLETE
000009547845:  Event: EV_TXSTART
000009951663:  Event: EV_JOIN_TXCOMPLETE
000010009851:  Event: EV_TXSTART
000010392312:  Event: EV_JOIN_TXCOMPLETE
000010394827:  Event: EV_JOIN_FAILED
000010663393:  Event: EV_TXSTART
000011067252:  Event: EV_JOIN_TXCOMPLETE
000011072658:  Event: EV_TXSTART

000011346826:  doWork job started
000011455119:  Event: EV_JOIN_TXCOMPLETE
000011962528:  Event: EV_TXSTART
000012366390:  Event: EV_JOIN_TXCOMPLETE
000012424312:  Event: EV_TXSTART
000012806774:  Event: EV_JOIN_TXCOMPLETE
000013690835:  Event: EV_TXSTART
000014094696:  Event: EV_JOIN_TXCOMPLETE
000014118426:  Event: EV_TXSTART
000014500889:  Event: EV_JOIN_TXCOMPLETE
000014827290:  Event: EV_TXSTART

000015096827:  doWork job started
000015231151:  Event: EV_JOIN_TXCOMPLETE
000015242039:  Event: EV_TXSTART
000015624500:  Event: EV_JOIN_TXCOMPLETE
000016231146:  Event: EV_TXSTART
000016635006:  Event: EV_JOIN_TXCOMPLETE
000016660612:  Event: EV_TXSTART
000017043075:  Event: EV_JOIN_TXCOMPLETE
000017071614:  Event: EV_TXSTART
000017475476:  Event: EV_JOIN_TXCOMPLETE
000017479099:  Event: EV_TXSTART
000017861561:  Event: EV_JOIN_TXCOMPLETE
000017943347:  Event: EV_TXSTART
000018347208:  Event: EV_JOIN_TXCOMPLETE
000018357018:  Event: EV_TXSTART
000018739481:  Event: EV_JOIN_TXCOMPLETE

000018846827:  doWork job started
000019415315:  Event: EV_TXSTART
000019819176:  Event: EV_JOIN_TXCOMPLETE
000019866048:  Event: EV_TXSTART
000020248512:  Event: EV_JOIN_TXCOMPLETE
000020251033:  Event: EV_JOIN_FAILED
000020619139:  Event: EV_TXSTART
000021022999:  Event: EV_JOIN_TXCOMPLETE
000021086197:  Event: EV_TXSTART
000021468659:  Event: EV_JOIN_TXCOMPLETE
000022126989:  Event: EV_TXSTART
000022530850:  Event: EV_JOIN_TXCOMPLETE
000022563311:  Event: EV_TXSTART

000022596827:  doWork job started
000022945772:  Event: EV_JOIN_TXCOMPLETE
000023696332:  Event: EV_TXSTART
000024100193:  Event: EV_JOIN_TXCOMPLETE
000024105823:  Event: EV_TXSTART
000024488287:  Event: EV_JOIN_TXCOMPLETE
000024980617:  Event: EV_TXSTART
000025384481:  Event: EV_JOIN_TXCOMPLETE
000025427735:  Event: EV_TXSTART
000025810199:  Event: EV_JOIN_TXCOMPLETE
000026029311:  Event: EV_TXSTART

000026346828:  doWork job started
000026433172:  Event: EV_JOIN_TXCOMPLETE
000026448121:  Event: EV_TXSTART
000026830583:  Event: EV_JOIN_TXCOMPLETE
000027794686:  Event: EV_TXSTART
000028198547:  Event: EV_JOIN_TXCOMPLETE
000028206501:  Event: EV_TXSTART
000028588964:  Event: EV_JOIN_TXCOMPLETE
000028674766:  Event: EV_TXSTART
000029078627:  Event: EV_JOIN_TXCOMPLETE
000029135246:  Event: EV_TXSTART
000029517708:  Event: EV_JOIN_TXCOMPLETE
000029911329:  Event: EV_TXSTART

000030096829:  doWork job started
000030315190:  Event: EV_JOIN_TXCOMPLETE
000030320120:  Event: EV_TXSTART
000030702582:  Event: EV_JOIN_TXCOMPLETE
000030705102:  Event: EV_JOIN_FAILED
000031688571:  Event: EV_TXSTART
000032092430:  Event: EV_JOIN_TXCOMPLETE
000032138510:  Event: EV_TXSTART
000032520973:  Event: EV_JOIN_TXCOMPLETE
000032867133:  Event: EV_TXSTART
000033270993:  Event: EV_JOIN_TXCOMPLETE
000033275902:  Event: EV_TXSTART
000033658364:  Event: EV_JOIN_TXCOMPLETE

000033846829:  doWork job started
000034054788:  Event: EV_TXSTART
000034458648:  Event: EV_JOIN_TXCOMPLETE
000034463561:  Event: EV_TXSTART
000034846023:  Event: EV_JOIN_TXCOMPLETE
000035452413:  Event: EV_TXSTART
000035856273:  Event: EV_JOIN_TXCOMPLETE
000035861526:  Event: EV_TXSTART
000036243986:  Event: EV_JOIN_TXCOMPLETE
000037156608:  Event: EV_TXSTART
000037560469:  Event: EV_JOIN_TXCOMPLETE

000037596829:  doWork job started
000037615120:  Event: EV_TXSTART
000037997581:  Event: EV_JOIN_TXCOMPLETE
000038502768:  Event: EV_TXSTART
000038906629:  Event: EV_JOIN_TXCOMPLETE
000038925940:  Event: EV_TXSTART
000039308402:  Event: EV_JOIN_TXCOMPLETE
000040276996:  Event: EV_TXSTART
000040680857:  Event: EV_JOIN_TXCOMPLETE
000040699704:  Event: EV_TXSTART
000041082166:  Event: EV_JOIN_TXCOMPLETE

000041346830:  doWork job started
000042036024:  Event: EV_TXSTART
000042439885:  Event: EV_JOIN_TXCOMPLETE
000042449056:  Event: EV_TXSTART
000042831518:  Event: EV_JOIN_TXCOMPLETE
000042834037:  Event: EV_JOIN_FAILED
000043251126:  Event: EV_TXSTART
000043654986:  Event: EV_JOIN_TXCOMPLETE
000043685088:  Event: EV_TXSTART
000044067549:  Event: EV_JOIN_TXCOMPLETE
000044720343:  Event: EV_TXSTART

000045096831:  doWork job started
000045124204:  Event: EV_JOIN_TXCOMPLETE
000045174702:  Event: EV_TXSTART
000045557163:  Event: EV_JOIN_TXCOMPLETE
000045896859:  Event: EV_TXSTART
000046300721:  Event: EV_JOIN_TXCOMPLETE
000046329547:  Event: EV_TXSTART
000046712012:  Event: EV_JOIN_TXCOMPLETE
000047689422:  Event: EV_TXSTART
000048093284:  Event: EV_JOIN_TXCOMPLETE
000048127487:  Event: EV_TXSTART
000048509948:  Event: EV_JOIN_TXCOMPLETE
000048658653:  Event: EV_TXSTART

000048846832:  doWork job started
000049062513:  Event: EV_JOIN_TXCOMPLETE
000049113067:  Event: EV_TXSTART
000049495527:  Event: EV_JOIN_TXCOMPLETE
000049791814:  Event: EV_TXSTART
000050195676:  Event: EV_JOIN_TXCOMPLETE
000050257884:  Event: EV_TXSTART
000050640346:  Event: EV_JOIN_TXCOMPLETE
000050886609:  Event: EV_TXSTART
000051290471:  Event: EV_JOIN_TXCOMPLETE
000051328569:  Event: EV_TXSTART
000051711030:  Event: EV_JOIN_TXCOMPLETE
000051994898:  Event: EV_TXSTART
000052398760:  Event: EV_JOIN_TXCOMPLETE
000052407200:  Event: EV_TXSTART

000052596833:  doWork job started
000052789662:  Event: EV_JOIN_TXCOMPLETE
000052792180:  Event: EV_JOIN_FAILED
000052806519:  Event: EV_TXSTART
000053210378:  Event: EV_JOIN_TXCOMPLETE
000053220916:  Event: EV_TXSTART
000053603377:  Event: EV_JOIN_TXCOMPLETE
000054317903:  Event: EV_TXSTART
000054721763:  Event: EV_JOIN_TXCOMPLETE
000054729586:  Event: EV_TXSTART
000055112048:  Event: EV_JOIN_TXCOMPLETE
000055258784:  Event: EV_TXSTART
000055662645:  Event: EV_JOIN_TXCOMPLETE
000055726188:  Event: EV_TXSTART
000056108649:  Event: EV_JOIN_TXCOMPLETE
000056213412:  Event: EV_TXSTART

000056346833:  doWork job started
000056617272:  Event: EV_JOIN_TXCOMPLETE
000056666031:  Event: EV_TXSTART

I may be mistaken, but I have not added any sensors at the moment, but I thought uplink is supposed to be displayed in both the serial monitor and on the end device console using the default counter to show a user if they actually are getting uplink?

I have seen some examples of LMIC-node uplink on this forum and I thought I was supposed to show things like the data rate upon “TXSTART”, the frequency, ect upon actual uplink?

Interesting - not sure how you missed all the ones where older versions of LMIC don’t play nicely with all zeros. Not recently tried all zeros on 4.1.1 yet so can’t speak to that.

Your screen shots and logs show lots of join attempts but no success so no actual uplinks have occurred - with do not require any sensors wired to the board.

When you say the Arduino sketch works, does that show actual uplinks in the device console, what do you mean by it “giving you no issues” and where is this sketch from - most of them use LMIC so the LMIC-node on PIO is just another way of programming the same thing.

interesting I saw some post and in this link below I saw that is the device you’re adding doesn’t have an AppEUI you could use all zero’s. I’m using a Heltec Wifi LoRa32(V2) as a node. What should I use as the AppEUI then?

Adding Devices | The Things Stack for LoRaWAN (thethingsindustries.com)

So it would seem that my device is failing to join. I’m guessing it has to do with the EUI but I’m not sure how to fix it. I have deleted the device and recreated it several times.

For the adruino sketch I used to test if the issue was my connection the gateway, I used the TheThingsNetwork_ESP32 library and the ttn-otaa example. with this sketch on arduino and using the same DevEUI, AppEUI, and Appkey I am able to get uplink

uplink