TTN-Gateway firmware and TTN Packet Forwarder relationship

Hi there,

I have been playing around with building the TTN-Gateway firmware code. I know that the TTN Packet Forwarder development is now on hold but I wonder could someone explain to me the difference in function between the two. Does the TTN-Gateway code essentially contain a packet forwarder? Is it the same as the TTN Packet Forwarder? Am I misunderstanding what a packet forwarder is?

Thanks for the help,

1 Like

Yes it does.

No. The TTN Packet Forwarder was written in Go for Linux based embedded systems. The TTN Gateway firmware is written in C for The Things Gateway which is an embedded system without operating system. The Gateway firmware implements a device specific packet forwarder.


Thanks. Now I get it.

One final question. I have downloaded the code from the TTN-Gateway github repo and have tried programming the device using MPLAB IPE with a HEX file created by building in MPLAB IDE. This, however, has failed - i.e. the device is unresponsive. Is this because the HEX file does not include the bootloader alongside the firmware? And if so, is the only way of programming the TTN-Gateway with a customised firmware to use the micro SD method as described here?

That was the issue - i.e. the bootloader was not included with the firmware. I ran the firmware/ and this created a combined HEX file, which I could then program the board with using MPLAB IPE.

1 Like

Hi, I’m working on connecting a gateway to the TTN server. Instead of using a Raspberry Pi for the gateway, I’m utilising a WM 1302 with an NRF to set up my TTN server gateway.Is there a code of conduct or guidelines I should adhere to? Would you kindly assist me?

so how can i use this firmware for my microcontroller

As a minimum, the unknown nRF microcontroller you are proposing to use will need some sort of network stack. So really hard to comment about porting without knowing which chipset.

What’s wrong with Pi - what differences do you need that the nRF brings to the party?

You can’t because it uses a different LoRaWAN concentrator board as well as a very different microcontroller. You will need to adapt the controller and concentrator specific code for you setup as well as modify the build environment to something that works for nRF controllers.

Not something to undertake lightly if you aren’t well versed in embedded programming. Using a RPi 0w in stead of the nRF would be a far easier solution.