LilyGO TTGO T-Motion - no serial output / no ttn packets


I recently received my LilyGO TTGO T-Motion (no display).

Next, I flashed the tracker firmware on it.

Unfortunately, my ttn device overview reports “never seen” as status. I did configure the node with ABP (NSK/ASK/Device address in msb format).
I also tried OTAA, but this also didn’t work.

I tried debugging the device via serial, but unfortunately there’s no serial output. I tried the arduino ide serial monitor with 115200 baud and also screen /dev/ttyACM0 115200 on my linux system.

I also flashed POST_S76G for further debugging, but using this there’s also no serial output.

Any ideas on how to go forward with this are highly appreciated!

Can you try another computer?

And just in case there is some mismatch between the device & your computer, a known issue with ATmega Arduinos, may be the case here, lower the baud rate right down - line 59 of configuration.h - wouldn’t hurt to start at 9600.

For the life of me, I cannot get this tracker to load on my T-Motion board. I’ve blown away my entire Arduino software and re-installed, followed the directions exactly and this is what I get:

WARNING: library esp8266-oled-ssd1306-master claims to run on esp8266, esp32 architecture(s) and may be incompatible with your current board which runs on stm32 architecture(s).

C:\Users\user\Documents\Arduino\libraries\arduino-lmic-master\src\hal\getpinmap_thisboard.cpp: In function ‘const Arduino_LMIC::HalPinmap_t* Arduino_LMIC::GetPinmap_ThisBoard()’:
C:\Users\user\Documents\Arduino\libraries\arduino-lmic-master\src\hal\getpinmap_thisboard.cpp:69:72: note: #pragma message: Board not supported – use an explicit pinmap
69 | #pragma message(“Board not supported – use an explicit pinmap”)
| ^
Sketch uses 93352 bytes (47%) of program storage space. Maximum is 196608 bytes.
Global variables use 5396 bytes (26%) of dynamic memory, leaving 15084 bytes for local variables. Maximum is 20480 bytes.
STM32CubeProgrammer v2.5.0
Error: Target device not found
Establishing connection with the device failed

BTW: The sketch takes forever to compile.
Thanks for any help.

Which directions exactly have you followed exactly?

Where did the ESP bits come in to the equation - which board have you got selected in the Arduino IDE?

Which Arduino LMIC library - link to repro + version?

Have you setup the pin map?

Have you tried the simplest sketch possible - a Blinky or similar - to debug the CubeProgrammer?

How long is forever?

Thanks for the response descartes.

Which directions exactly have you followed exactly?

Where did the ESP bits come in to the equation - which board have you got selected in the Arduino IDE?
The Tracker instructions specify the ThingPulse esp8266-oled-ssd1306 library.
Board -> Nucleo_64
Board part number -> Nucleo L073RZ

Which Arduino LMIC library - link to repro + version?
MCCI LoRaWAN LMIC Library - version 3.3.0

Have you setup the pin map?
I see the line that generates the #pragma error in hal.cpp, but there are no options for this board.

Have you tried the simplest sketch possible - a Blinky or similar - to debug the CubeProgrammer?
I.tried a simple sketch with no luck. I get the same timeout when I try to access the board using STM32CubeProg.

How long is forever?
20 minutes or longer.

[UPDATE] Just a quick note - I’ve been able to successfully install the SoftRF software built from source.

The instruction don’t mention this (and I should’ve thought of it sooner), but you must use an ST-Link interface to download/debug software to the T-Motion and it must be connected to PA13 and PA14. Also, the factory default firmware uses PA10 and PA11 for UART ops, not the USB port.

Good to hear you got your TTGO working in some way shape or form.

For the benefit of others, SoftRF is for listening to aviation locator transmission and relaying them over Wifi - so not a LoRaWAN or TTN topic

There is a TTN component to the SoftRF package which can be used in automotive tracking. It’s disabled by default for avionics implementations.
Thanks for your help.

Hey @PhantomSystems , how did you set up the TTNHelper component? I am sadly getting compilation errors after enabling the TTN component in the SoftRF.h file since the TTNHelper.cpp references some files that seem to have been renamed and changed. Would love to hear how you got it working!

AnixeHD, I had no luck with the SoftRF project so I wound up using the ttgo-tmotion-ttn-tracker and these Arduino libraries:
arduino-lmic version 1.5.0
TinyGPSPlus version 1.0.0
Wire version 1.0
U8g2 version 2.28.10
SPI version 1.0
SrcWrapper version 1.0.1
Let me know if you get SoftRF working or need more info.

Hi PhantomSystems,
I’m not sure if I understand you correctly. I have the same problem and warning but the code of the tracker firmware is transferred to the t-motion stick over the USB connection (under Windows, with Linux the stick was not found). But my OLED display does not work. SoftRF was installed on the stick at delivery and the display function was fine. You used an interface to transfer the program code?

Hello i have exactly the same problem how did you solve yours ?

I didn’t have a problem - I was asking questions to help someone else who had a problem.

Have tried the tutorial over 3 days know to connect to ttn and everything nothing works correctly in the tutorial :frowning:

Which tutorial?

More detail would help - like what you do and what you see.

This one GitHub - lyusupov/ttgo-tmotion-ttn-tracker: TTGO T-Motion Tracker for TTN Mapper using EU (868 MHz) and US (915 MHz) frequencies
I had a team of 5 people helping me over 3 days nothing works and tutorial is not correct we have tryed everything problems we have are .

  1. board is not recognized if plugged directly on the pc you need to use extension usb cable
    2.Main code provided in the tutorial is for ttgo beam not for t-motion Libraries are not working

This should be renames as ttgo-Motion from hell i have worked over 3 years with many other boards but never in my life spend so much time to work on tutorial .

i have bought 10 of this thinking that could make then work .

Not really something that we can resolve for you.

That would appear to be a thing to address with Expressif as they appear to be supporting the T-Motion via use of the T-Beam.

This will probably help us to figure out the issue - the LMIC code base has moved on since this repro was created so it may be that some updates are needed. But without actual error messages it’s not practical to help you. Please ensure you post all text as text, using the </> formatting tool found on the mini-toolbar in the editor ‘window’.

As documentation goes, I’d say that looks pretty goo - but not a tutorial - it’s a set of notes on how to implement it, so you can’t treat it like a step by step sequence.

We were & are always here for hardware recommendations pre-purchase as well as the large body of topics on the forum.

If you care to share the details of the “libraries not working” let’s travel hopeful.

1 Like

The T-Motion is STM32, not ESP32 based.

Some quick observations based on the linked repository:

Framework used: Arduino.
Arduino Core: Arduino Core STM32 (the one supported by STMicroelectronics)
Board selected (BSP part of the Arduino core): Nucleo L073RZ.

So apparently there is no BSP for the T-Motion, Nucleo L073RZ is probably used as best alternative.

Be prepared that many standard Arduino pin names/definitions will/may be incorrect because BSP is for a Nucleo board, not for the T-Motion.
This may also impact default SPI port pin definitions.

I noticed that it also requires(?) a patch of LMIC related to IRQ. I haven’t looked at the patch and why it is needed. I wonder whether the patch is always required or only if interrupt support is enabled in LMIC.

Normally the IDE (Arduino IDE or PlatformIO) installs the Arduino core, which should include firmware upload tools.
In the repository it is indicated that STMCube programmer needs to be separately installed.

Apparently the T-Motion is not (yet) (fully) supported in the Arduino Core STM32.
(So to get it working with Arduino may require some additional steps).

IIRC, LilyGO does not use the Arduino framework for examples for this board.