-
Notifications
You must be signed in to change notification settings - Fork 413
Troubleshooting Guide
This page sums up the most frequently encountered issues for different wireless modules and protocols.
Symptom | Error code | Cause |
---|---|---|
Erratic behavior, instability | any | Hardware issues |
Reset on transmit | N/A | Insufficient power supply |
Unable to initialize | -2 or -16 | Incorrect SPI interface, bad pinout |
Some Arduino boards (especially the older ones based on ATmega MCUs, such as Arduino Uno or Arduino Nano) have a 5V logic level. This means that on digital pins such as SPI, logic 1 is represented by a voltage level of 5V. However, most commonly used radio modules DO NOT tolerate 5V logic! In these cases, you have to use a logic level converter, such as this one.
If you ignore this, your radio module might appear to be working, but can behave erratically and eventually, it will most likely stop working altogether.
Most Arduino boards include a voltage regulator that outputs regulated voltage. Usually, it is not a good idea to use this regulator to power your wireless module, as on higher output power settings, the regulator might not be able to provide enough power for both the Arduino as well as the radio module. Typical symptoms of insufficient power are the Arduino/MCU resetting when trying to transmit.
Use a dedicated, properly filtered linear (not switched!) regulator to power the radio.
Some platforms support multiple SPI interfaces. If you do not use the correct one, RadioLib will not be able to initialize the module (typically ending in a -2 or -16 error code). See this wiki page for details on how to select the correct SPI interface.