[Bug]: RP2040 LoRa transmission interferes with USB #3241
Replies: 12 comments
-
Hello, You can try :
Some info from Adafruit :
|
Beta Was this translation helpful? Give feedback.
-
Ou, thanks! Really good answer. Yes may be for that reason. As soon as I get home I'll try it. |
Beta Was this translation helpful? Give feedback.
-
In my case, distance about 20cm was sufficient, with an omni antenna set a few cm above board plane to not radiate into it. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
My goal is to design a pcb that incorporates this assembly and this may become a problem for me. I have to see how to make a pcb that somehow protects the MCU and moves the connector as far away from the antenna as I can move it 4cm away at most... |
Beta Was this translation helpful? Give feedback.
-
It's good that we are confident about cause. If setup from your photo works, then it seems like the USB cable is the one picking up most of interference. You can try to wrap this aluminium foil around USB cable to see if it's sufficient. |
Beta Was this translation helpful? Give feedback.
-
Glad to hear you figured out what the problem was. This is really useful to know. I opened a PR to the documentation to add this: meshtastic/meshtastic#941 Will close this issue now. |
Beta Was this translation helpful? Give feedback.
-
Sorry for messing after closing this, but in the meantime I've made some tests because it was bothered me, and a result is surprising and denying quote from Adafruit which I've wrote earlier :
I have setup ESP32 + E22-900M30S at 30dBm(1W) + 2.8dBi antenna as a interference source, and Pi Pico running simple counter printing program at 1ms interval as a interference receiver. At any distance, including lying right on antenna during transmission, Pi Pico never stopped printing. That was lead me to conclusion that it's not problem with USB data lines as they are differential, twisted pair and any RF noise should be cancelled at USB receiver, but that the power line is affected. Waveshare RP2040-Zero uses RT9013-33, Adafruit Feather RP2040 RFM95 uses RT9080-33. Looking at their load transient response and rejection ratio at high frequencies it might be possible that when transmission start and additional RF noise is feeded into cable there is a voltage drop on 3.3V line by 0.165V or more. While this not seems too much, the RP2040 datasheet (page 156) state :
My further tests was to control E22 module from ESP32 but power it from Pico's 3.3V and VSYS. In both cases USB operations were not affected. Pi Pico has buck-boost converter RT6150B-33GQW, which can be much more immune to fast load transients and RF noise. While I'm not entirely sure for my findings, I think that conclusion and the note for RP2040 based circuits should be that depending on 3.3V line voltage regulator that powers MCU and radio, with proximity of its antenna can cause incorrect USB PHY operation by lowering USB_VDD voltage below 3.135V. |
Beta Was this translation helpful? Give feedback.
-
In my case the antenna was 90 degrees to the usb cable. With the aluminum wrapped around the cable it worked well without covering anything on the plate itself. Is it induced in the 5v cable of the cable USB? The voltage drop could it not have been produced by the Lora consumption of the module itself at the time of transmitting? There is any differences on the usb traces on the rp2040 zero and the pico? Zero is more sensible? |
Beta Was this translation helpful? Give feedback.
-
I don't have any of suspected board, but I found my Waveshare RP2040-Plus with SIM7080 modem, which causes me trouble in the past. Tomorrow I'm gonna to power E22 module from RP2040-Plus and try to make interference. I will share all details, results and thoughts. Regarding your questions, for now I can answer only about Lora current consumption - yes, it can cause voltage drop caused by LDO response to load transients, when transmission start or ends. |
Beta Was this translation helpful? Give feedback.
-
I've done test with Waveshare RP2040-Plus, it has TPS63000 buck-boost converter. If it's close to antenna during transmission, like on the picture - USB serial printing stops. Voltage on 3V3 line was 3.2V, oscilloscope showed no drops. During second test, when E22 was powered from RP2040-Plus instead of ESP32 result was the same. If antenna lying close to USB cable nothing bad happens. I've tested again original Pi Pico and it also hangs, but only if its bottom layer is faced to antenna and distance is ~2.5cm or less. None of my boards does not have problem with voltage drops, both has picked up interference by USB traces. My previous thoughts should be revised and tested on RP2040-Zero using oscilloscope to confirm or negate them. |
Beta Was this translation helpful? Give feedback.
-
I moved this into a discussion to give it more visibility as it comes up every now and then. |
Beta Was this translation helpful? Give feedback.
-
Category
Serial
Hardware
Other
Firmware Version
2.2.18 said on the version.properties (latest on master)
Description
First of all, I am using a RP2040 Zero and SX1276 module. (Firmware built from source).
Although it transmits well and does not freeze, the serial stops working after the first lora transmission (after approximately 30 seconds). As soon as it is turned on it usually works but then it doesn't. (Althoug still receives messages).
This is the --noproto output:
After that no more lines appears.
If I execute the same command without unplug the USB cable:
The same "serial issue" is on the Android app via USB cable.
Relevant log output
No response
Beta Was this translation helpful? Give feedback.
All reactions