Strange output power with lambda62 module


I’m working on a device that uses a Lambda62 module (868 MHz). This module is built with a SX1262 and I have modified lora_device_lib to adapt this library to an ATmega1284. Library has been modified also to run with a module that doesn’t use IRQ. Library runs as expected and my device can join a LoRaWAN 1.1 network.

I have seen that Tx power is very low. At 1 m, my LoRaWAN gateway shows RSSI=-60 dBm for a Tx Power set to 14 dBm. If Tx Power if set to 0 dBm, gateway receives a signal with RSSI=-75 dBm. If distance between device and gateway is greater that 40 m, no signal is received by gateway (!).

Thus, I have checked my schematic, my routage and library. Dialog between CPU and Lambda62 is for example:

[2021-08-26 09:38:14.791] WRITE 80 01
[2021-08-26 09:38:14.791] READ 12 00 : 00 00
[2021-08-26 09:38:14.791] READ 12 00 : 00 00
[2021-08-26 09:38:14.791] TX power : 14 dbm
[2021-08-26 09:38:14.791] WRITE 8A 01
[2021-08-26 09:38:14.807] WRITE 98 D7 DB
[2021-08-26 09:38:14.807] WRITE 95 02 02 00 01
[2021-08-26 09:38:14.867] WRITE 8E 0E 04
[2021-08-26 09:38:14.867] WRITE 8F 00 00
[2021-08-26 09:38:14.867] WRITE 86 36 38 00 00
[2021-08-26 09:38:14.867] WRITE 0E 00 80 F2 82 D3 00 81 02 00 02 01 71 FC 42 59 23 1E 4E BA 32 81 9F 4F FC FF 1C 8F FD F8 B2 2D EB 17 73 7B 3C CD C0 54 F9 F3 4C 9C 38 8B F3 2B 4F 46 F2 D9 28 A4 2D 57 D9 75 50 C4 02 3A B8 C0 46 7A 21 99 0D A0 01 62 EF 09 29
[2021-08-26 09:38:14.868] WRITE 8B 08 04 01 00
[2021-08-26 09:38:14.868] WRITE 8C 00 08 00 49 01 00
[2021-08-26 09:38:14.868] WRITE 08 00 01 00 01 00 00 00 00
[2021-08-26 09:38:14.868] WRITE 0D 07 40 34 44
[2021-08-26 09:38:14.868] WRITE 83 00 00 00
[2021-08-26 09:38:14.868] tx begin
[2021-08-26 09:38:14.885] ticks=1036171 freq=867500000 power=0  bw=125000 sf=8 size=73

and this dialog seems to be correct.

I have done some measurements. When lambda62 sends a packet at 14 dBm, input current is about 42 mA (sleep : I=0,6mA) for a 3V3 power supply. Datasheet indicates 45 mA for a 14 dBm output power, thus, I’m pretty sure that SX1262 is correctly driven. In a second time, I have disconnected pin 1 (RF output) from PCB and I have soldered a 50R coaxial cable to directly connect a level-meter (Rhode & Schwarz URV35) at RF output. Result : when lambda62 is configured to transmit a packet at max power (14 dBm in EU868), level-meter indicates… -12 dBm !

I have tested three different lambda62 modules with the same results. I suppose I have done a mistake somewhere but I’m unable to fix it.

My schematic is:


Signal TX_SWITCH and RX_SWITCH are clean.

Help will be welcome,


As you suggest

Which is scaling correctly plus:

To me means

However, the 26db loss indicated by the R&S puts me in mind of another problem; where I have seen static damage in the past which has been enough to degrade if not fully kill device, either LoRa device or the rf switch, I have noted signal degradation or around -25 to -45db. Looks like you are into this so have my suspicions…

Am not familiar with that specific module so cant comment on actual programming/setup or overall ESD sensitivity…

Depending on what SF you use to transmit, the output-signal is a short pulse. I am not sure what is displayed by the URV35 when receiving pulses of a few 10ms.
There seams to be some kind of resonator between the module and the antenna. Is this device still ok?

I have tested this morning with a new device and I have obtained the same result…

Then suspicion falls on the antenna…what model used? Connector type? As @wolfp calls out your schematic calls out a strange version. 20-30db loss also common if mixing male/female sma’s etc with female to female only giving weak capacitive coupling…

… but that would not explain poor direct coupled power measurement…(if done right!)

I think that device works as expected as I have the same result with two different modules. This morning, I have tested another one (direct connection to level-meter or lambda/2 antenna). Still the same result.

LoRaWAN is configured to use SF8 and I don’t use antenna, I have directly connected module RF output to a level-meter. I have done this kind of measurement as RSSI returned by my base station was very low (30 dB lower than expected). Thus, I have tried to confirm that my modules don’t emit 14 dBm…

That module has an RF switch to select transmit vs receive path, Id expect a bit more loss with it set wrong but make sure you are correctly driving it.

What’s sad is that the SX1262 has a mode where a DIO output could do so automatically, and the switch chip has a single control signal mode, but the way that module is designed I think you’ll need a tinylogic inverter. Or just use a processor GPIO.

Study the module data sheet internal schematic and then get the one for the RF switch chip whose identity is given in the module data sheet.

I’m pretty sure I correctly drive this RF switch. Unfortunately, I don’t have internal schematic of this module (schematic in lambda62 datasheet isn’t module schematic as it contains a PE4259 RF switch).

RFsolutions support answered a long time ago:

The PE4259 is not the antenna switch that is used in the LAMBDA modules. It’s an AS213-92LF and the only way to use 1 I/O to operate the switch would be to use a transistor circuit to invert the signal to one of the IC inputs.

I don’t use a transistor, I have routed a 74LVC1G04.

That’s rather unfortunate if the data sheet shows the wrong RF switch.

One way to verify you’re correctly operating whatever is there is to configure the transmit power to a minimum for safety, and then try transmitting with both what you consider to be the right setting, vs what you consider to be the wrong one. Do the same for the receive path - set aside expectations and figure out what gives optimal performance.

You could also see if there’s setup detail in the FCC test report… it’s required to be there, though of course that doesn’t mean it is.

Ah another possibility… have you run the modules without ant? If so the energy reflects back into front end potentially damaging/degrading performance… other than the comments noted above wrt rf switch this is another district possibility. Please make sure you have ant connected or at least a 50 ohm dummy load or test instrument if /when powered…

To measure TX power with (most) power meters you need to provide a packet that lasts maybe a second or two, so set up a test transmit of SF12, BW125000 and maybe 64 bytes. Set TX power to say 0dBm in case you do something wrong.

And since you reported the Gateway does see the packets at some point, did the node join to TTN OK ?

Gateway sees packets and node can join network. But gateway reports a RSSI 30 dB lower than expected. Of course, I never try to emit without antenna or a 50R load.

I have soldered a new module and set output power to 0 dBm.

If my base station emits @ 0dBm, my device returns:

[2021-08-31 16:56:56.796] channel is ready
[2021-08-31 16:56:56.940] preparing data frame
[2021-08-31 16:56:56.940] adding link_check_req
[2021-08-31 16:56:56.956] initiate data: ticks=3198136
[2021-08-31 16:56:56.988] TX power : 0 dbm
[2021-08-31 16:56:57.049] tx begin
[2021-08-31 16:56:57.049] ticks=3198217 freq=867100000 power=7  bw=125000 sf=8 size=73
[2021-08-31 16:56:57.273] Interrupt TX
[2021-08-31 16:56:57.289] tx complete
[2021-08-31 16:56:57.289] ticks=3198471
[2021-08-31 16:56:58.295] rx1 slot
[2021-08-31 16:56:58.295] ticks=3199463 timeout=28 lag=5 freq=867100000 bw=125000 sf=8
[2021-08-31 16:56:58.359] Interrupt RX
[2021-08-31 16:56:58.404] downlink: ticks=3199565 rssi=-25 snr=9 size=16
[2021-08-31 16:56:58.404] link_check_ans: margin=20 gwCount=1

If it emits @ 14 dBm:

[2021-08-31 16:58:03.544] channel is ready
[2021-08-31 16:58:03.944] preparing data frame
[2021-08-31 16:58:03.944] adding link_check_req
[2021-08-31 16:58:03.960] initiate data: ticks=3265132
[2021-08-31 16:58:03.975] TX power : 0 dbm
[2021-08-31 16:58:04.051] tx begin
[2021-08-31 16:58:04.052] ticks=3265221 freq=867700000 power=7  bw=125000 sf=8 size=73
[2021-08-31 16:58:04.275] Interrupt TX
[2021-08-31 16:58:04.291] tx complete
[2021-08-31 16:58:04.291] ticks=3265476
[2021-08-31 16:58:05.286] rx1 slot
[2021-08-31 16:58:05.286] ticks=3266457 timeout=28 lag=1 freq=867700000 bw=125000 sf=8
[2021-08-31 16:58:05.367] Interrupt RX
[2021-08-31 16:58:05.410] downlink: ticks=3266575 rssi=-38 snr=11 size=16
[2021-08-31 16:58:05.410] link_check_ans: margin=21 gwCount=1

RSSI value returned by my firmware is average over last packet received (page 96 of SX1261/SX1262 datasheet).

Expected value is in my case : 0 dBm - 25 dB = -25 dBm.
Thus, in first case, my device returns a consistent RSSI value (-25 dBm).

In second case, my device should receive 14 dBm - 25 dB = -11 dBm. And RSSI returned by module is -38 dBm. Why ?

In uplink, RSSI is very poor:

Device EUI	                       Freq	        Datarate	    SNR RSSI	Size	
00-04-a3-0b-00-13-f0-46	867.700 	SF8BW125	- 	- 	21	0000003A 	DnUnc 	7:08:08
00-04-a3-0b-00-13-f0-46	867.700 	SF8BW125	11 	-97 	73	00000038 	UpCnf 	7:08:07

I have tested four different modules with the same result…



If you have more than one module, I would be testing them module to module, start transmitting at 14dBm say, then reduce the TX power 1dBm at a time and see if the RSSI on another module drops accordingly.

Your levels are too cazy high to be meaningful.

Get some space in the setup so you’re seeing -60 or lower.

And as before, try it with the switch both the way you think is right, and the way you think is wrong.

I send minimal RF power (level 7 = 0 dBm)… I have tried to install my base station at 40 m, it receives anything from device.

Then try something that’s more than 4 cm but less than 40 meters…

10m between base station and device. Test with a ceramic antenna directly soldered on lambda62’s pin 1.

Base station TX power: 14 dBm

Join packet:

[2021-09-01 10:49:50.409] TX power : 14 dbm
[2021-09-01 10:50:04.547] ticks=109019 timeout=68 lag=1 freq=868100000 bw=125000 sf=8
[2021-09-01 10:50:04.723] Interrupt RX
[2021-09-01 10:50:04.739] downlink: ticks=109225 rssi=-7 snr=-8 size=33

RSSI returned by device is correct.

Device TX power: 0 dBm. No packet is received by base station (CRC error).

[2021-09-01 10:52:37.224] TX power : 2 dbm
[2021-09-01 10:52:37.279] tx begin
[2021-09-01 10:52:37.279] ticks=261756 freq=867300000 power=6  bw=125000 sf=8 size=73
[2021-09-01 10:52:37.519] Interrupt TX
[2021-09-01 10:52:37.535] tx complete
[2021-09-01 10:52:37.535] ticks=262016
[2021-09-01 10:52:38.516] rx1 slot
[2021-09-01 10:52:38.516] ticks=262992 timeout=28 lag=3 freq=867300000 bw=125000 sf=8
[2021-09-01 10:52:38.611] Interrupt RX
[2021-09-01 10:52:38.668] downlink: ticks=263128 rssi=-6 snr=-9 size=22
RSSI=-116 SNR=-10

[2021-09-01 10:53:44.078] TX power : 4 dbm
[2021-09-01 10:53:44.135] tx begin
[2021-09-01 10:53:44.135] ticks=328615 freq=868100000 power=5  bw=125000 sf=8 size=73
[2021-09-01 10:53:44.359] Interrupt TX
[2021-09-01 10:53:44.375] tx complete
[2021-09-01 10:53:44.375] ticks=328868
[2021-09-01 10:53:45.375] rx1 slot
[2021-09-01 10:53:45.375] ticks=329854 timeout=28 lag=1 freq=868100000 bw=125000 sf=8
[2021-09-01 10:53:45.455] Interrupt RX
[2021-09-01 10:53:45.471] downlink: ticks=329964 rssi=-6 snr=-8 size=16
[2021-09-01 10:53:45.487] link_check_ans: margin=0 gwCount=1
RSSI=-118 SNR=-9

[2021-09-01 10:57:44.735] TX power : 10 dbm
[2021-09-01 10:57:44.795] tx begin
[2021-09-01 10:57:44.795] ticks=569280 freq=868300000 power=2  bw=125000 sf=8 size=73
[2021-09-01 10:57:45.018] Interrupt TX
[2021-09-01 10:57:45.034] tx complete
[2021-09-01 10:57:45.034] ticks=569530
[2021-09-01 10:57:46.039] rx1 slot
[2021-09-01 10:57:46.039] ticks=570524 timeout=28 lag=5 freq=868300000 bw=125000 sf=8
[2021-09-01 10:57:46.103] Interrupt RX
[2021-09-01 10:57:46.145] downlink: ticks=570626 rssi=-6 snr=-8 size=16
[2021-09-01 10:57:46.145] link_check_ans: margin=4 gwCount=1
RSSI=-116 SNR=-5

[2021-09-01 10:58:51.092] TX power : 12 dbm
[2021-09-01 10:58:51.144] tx begin
[2021-09-01 10:58:51.144] ticks=635631 freq=867100000 power=1  bw=125000 sf=8 size=73
[2021-09-01 10:58:51.368] Interrupt TX
[2021-09-01 10:58:51.384] tx complete
[2021-09-01 10:58:51.384] ticks=635883
[2021-09-01 10:58:52.385] rx1 slot
[2021-09-01 10:58:52.385] ticks=636871 timeout=28 lag=4 freq=867100000 bw=125000 sf=8
[2021-09-01 10:58:52.464] Interrupt RX
[2021-09-01 10:58:52.480] downlink: ticks=636979 rssi=-6 snr=-8 size=16
[2021-09-01 10:58:52.496] link_check_ans: margin=6 gwCount=1
RSSI=-116 SNR=-3

[2021-09-01 10:59:59.091] TX power : 14 dbm
[2021-09-01 10:59:59.150] tx begin
[2021-09-01 10:59:59.150] ticks=703638 freq=868500000 power=0  bw=125000 sf=8 size=73
[2021-09-01 10:59:59.374] Interrupt TX
[2021-09-01 10:59:59.390] tx complete
[2021-09-01 10:59:59.390] ticks=703888
[2021-09-01 11:00:00.391] rx1 slot
[2021-09-01 11:00:00.391] ticks=704880 timeout=28 lag=3 freq=868500000 bw=125000 sf=8
[2021-09-01 11:00:00.455] Interrupt RX
[2021-09-01 11:00:00.498] downlink: ticks=704982 rssi=-6 snr=-8 size=16
[2021-09-01 11:00:00.498] link_check_ans: margin=5 gwCount=1
RSSI=-116 SNR=-4

Please not that device returns for example rssi=-6 snr=-8. RSSI doesn’t change !

Now, I only change lambda62 module for a new one, without a ceramic antenna. I only use a l/2 antenna directly soldered on pin 1:

[2021-09-01 11:38:20.569] TX power : 0 dbm
[2021-09-01 11:38:20.627] tx begin
[2021-09-01 11:38:20.627] ticks=644197 freq=867300000 power=7  bw=125000 sf=8 size=73
[2021-09-01 11:38:20.851] Interrupt TX
[2021-09-01 11:38:20.867] tx complete
[2021-09-01 11:38:20.867] ticks=644453
[2021-09-01 11:38:21.863] rx1 slot
[2021-09-01 11:38:21.863] ticks=645433 timeout=28 lag=3 freq=867300000 bw=125000 sf=8
[2021-09-01 11:38:21.943] Interrupt RX
[2021-09-01 11:38:21.986] downlink: ticks=645547 rssi=-20 snr=5 size=16
[2021-09-01 11:38:21.986] link_check_ans: margin=11 gwCount=1

RSSI returned by base station is -112 dBm, but now, device returns a lower RSSI but a higher SNR. Of course, I have redone these measurements to be sure.

This is a little bit to long. You should use 1/4 Lambda (abt. 8.5cm). Using a 1/2 Lambda antenna can end up in a destroyed transmitter.

1 Like

Not good at all, dont do it.