Create a mapping node with t-beam step by step

Hi there,
is there someone who could give me a step by step guideline how to create and setup a t-beam as simple as this manual?

I have 3 t-beams, two with the newest Version 20190612 (I use it for flarm) and the earlier one and I like to use one as a mapping node but I could not find a simple instruction or video how to do from start to end.
Thanks in advance for helping.

Meanwhile I managed it myself - it is not that complicate but takes time til it works. So I am wondering why nobody did a tutorial for that til now.

Either because you are the first who did it, or because no one has taken efforts to write a tutorial for it yet.

A good opportunity to write down your experiences in a tutorial yourself and share it so it can help others too.

1 Like

So whilst it still fresh in your mind, write it all up and publish the tutorial.


It was told before that SoftRF firmware has built-in ABP TTN node (inactive by default).
Users who have enough skills to build firmware from source code can easily:

  1. enable the node’s code here
  2. enter their own TTN keys there
  3. then build the firmware while using these instructions

Reference onto JS decoder for TTN console is there

1 Like

Thanks Linar, I will try this today.
With your mapping Sketch, is the mapping Intervall changing according to the current speed? If not, how can I change it?

The interval (2 minutes) was chosen to comply with TTN fair access policy.

Ok, I would change this to 5sec for example, because I do not map longer then 1-2h.
Airtime is approx. 60ms what would result in 500 rx packets per day - I guess this is ok.

I was able to get this sketch running with my t-beam but I am not able to get it working with your esp32-guideline.

I follow your guidlines step by step (including choosing ESP32* Dev *Module instead using Heltec_WIFI_LoRa_32) but it stops all the time at:
PCF8563_Class rtc in the Platform_ESP32.cpp with:
no matching function for call to 'PCF8563_Class::PCF8563_Class()
After that I copied the pcf8563.h and the pcf8563.cpp in the softrf too without any effect.
So currently it dont work for me I my basic/pascal/java skills are too old to fix it.
But I would like to get it running to have display support.
The best thing of course would be changing SoftRF from Flarm to mapping node mode by change the settings in the softRF-settings-page. :wink:

That probably won’t work due to airtime restrictions. On the frequencies used you are allowed limited airtime, from the top of my head that means at least 7,5 seconds delay between packets at SF7.
Also, at what speed will you be traveling? Is a 5 second interval useful because you covered some distance or are you still at the same position taking GPS inaccuracies into account?

Why guess, work it out.

There are 3600 seconds in an hour I think, so @ 5 second interval thats 1440 packets a day and 86 seconds of air time per day. Still OK ?

And what about duty cycle ?

Are you sure?
To my knowlegde its 30seconds per day.
When driving 50-100kmh 1-10sec makes more sense. Airtime is 57ms per sending according to my gateway with sf7/125

There are two limits you need to observe. First is the legal limit for the frequency band you are using. In Europe that is 1% of the time for most of the frequencies used by lorawan.
Second is the TTN fair access policy. That is 30 seconds average airtime per device per day.

Yes, but this is off-topic discussion.
Maybe it´s 1% cycle but I cannot find any european or local regulations for 100mW and chirp spread spectrum modulation. However, I dont see any problems here as long as you are not transmitting on a montain or an airplane.

I doubt it will happen… :wink: (seen this before)

You may not be able to find them, but they will be there. They may well not specifically mention LoRa or chirp spread spectrum, but then they dont have to for them to apply.

These regulations are not ‘European’ as such they are set by each individual country, although they are often the same across most of Europe.

What you are legally allowed to do transmit wise, is always on-topic, its important.

We will see If its needed…
Linar did a good job with his Tutorial, but it is not working for me. If he could help me with my gap a tutorial could be not needed.
Otherwise I would write how I did it with the other sketch.

There are regulations in germany…(we have the power of german engineering and regulations):grinning: but they say 25mW or 2W and so on and other modulations.

They say if its not specified its 1%. So with 6 sec intervall and 60ms airtime its 1% (shorter then 8sec is not working with my setup, even 3sec gives ca. 8sec Intervall, dont know why).

Tried again to install the softRF-mapper without any success.
Arduino reinstall, remove the library and install the package new gives still the same error.
So I will complete the deuxvix mapper installation readme in this thread in the next days with my approach…

So here is my approach to get a t-beam running with the DeuxVis sketch.
I completed the description from DeuxVis, that gives me problems when I tried to do it.

  1. Read the readme for this sketch first.
    1.1 If not done yet, install the drivers to connect your PC with the t-beam
    1.2 Create a mapping node in TTN to get the important device address and keys.

  2. Install Arduino Software
    2.1 I choosed to install it on c-drive, not another partition. The windows-folder with the libraries will be at your personal documents-folder.
    2.2 Download the software mentioned
    Arduino IDE [ESP32 extension]
    To download, you have to click the green clone/download button and choose zip-file.
    Don´t extract the zip-file.
    2.3 Download the file from Lora-TTNMapper-T-Beam and unzip the files.
    The 4 most important files are Lora-TTNMapper-T-Beam.ino, config.h, gps.cpp and gps.h
    2.4 Put the 4 files in the same folder.

  3. Start Arduino Software
    3.1 Install the zip-files (Arduino IDE, TinyGPS++, LMIC-Arduino by clicking the menu: sketch/include library and choose zip-library
    Here you have to choose the three zip-files downloaded before.
    3.2 After the 3 zips are included, close the Arduino program.
    3.3 Go to the new folder and double click the file Lora-TTNMapper-T-Beam.ino
    3.4 The windows should now include 4 tabs, one for each file.
    3.5 After that go to menu and click tools/board and choose “heltec wifi lora32”
    3.6 Connect the t-beam to the PC, power it on (the newest t-beam is automatically on) and check the serial-port in the Arduino-Software under Menu/tools/port if its correct.
    3.7 Before upload you have to edit the config.h tab with your own device address and keys in the arduino Program that you generate in TTN - see step 1.2
    Go to the Device Overview in the TTN-page of the mapping node.
    Copy the network session key and application session key in hex-data by clicking the <> sign and click the clipboard sign and replace the data with brackets { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
    The last line to change is: static const u4_t DEVADDR = 0x00000000
    You needs to replace the device address in “natural numbers” - not in hex-code! Keep the 0x and replace only the 00000000 with your device address (DevAddr)
    3.8 To check if everything works fine but without upload, click the “ok”-sign on the upper left in the Arduino-Program.
    After that, the Program should compile the data and when it finished without any error-messages you can try to upload it to the t-beam.
    3.9 Upload the data to t-beam by clicking the right arrow >
    The Program should compile the data and after that it should upload the data to the t-beam device.
    3.10 After upload process is finish (Leaving…Hard resetting via RTS pin…) separate the usb-cable and start t-beam

You should now have a mapping t-beam, it starts transmitting, when it has a gps-fix.


This is another mapping sketch that I got to work with my V0.7 t-beam.
It has OLED support with nice grafics and a lot of info on the screen - awsome.

But the following instruction is currently missing to get is running:
You have to install this library first

They say for V10 t-beam you have to modify something - I dont know what and how and didn´t test it with t-beam V10