Open davis-gotenna opened 4 months ago
The RAK11200 only works with the 5005 base board
I did some brief trouble shooting as I want to use the same configuration (RAK11200-C WiFi and BLE Espressif ESP32-WROVER + RAK13300 LoRaWAN SX1262 on a RAK19007 WisBlock Base Board 2nd Gen).
I was guessing that the supply power for the RAK13300 on the IO-slot (3V3_S on pin 6) might not be enabled. Just my observation: connecting a pull-up resistor between RAK19007 pin header IO2 (which in controlling 3V3_S) and VDD seems to fix it.
I do not have enough insight into the firmware. Probably WB_IO2 should be set to output with high level before using the SX1262 (and any other devices plugged into SLOT A to D)?
I notice there is a SX126X_ANT_SW
. In variant.h
for this board i set #define SX126X_ANT_SW WB_IO2
and it starts up the radio and it is found. Unfortunately, I still have other failures with this combo that I am trying to figure out.
@wal-stefan
I was guessing that the supply power for the RAK13300 on the IO-slot (3V3_S on pin 6) might not be enabled. Just my observation: connecting a pull-up resistor between RAK19007 pin header IO2 (which in controlling 3V3_S) and VDD seems to fix it.
I'm not that technical but I have bought a couple of these boards so I'm desperately looking for a fix. I have made a small drawing of how I understand your "fix". Can you confirm that this is what you mean?
Thanks!
Hi @erikdewildt,
Yes, this was my fist attempt to handle my problem. And it seemed to work.
Currently, as being more a software guy than a hardware guy, I added two lines to source code of main.cpp
to hopefully achieve the same. And it seems to work for a couple of weeks now.
[!WARNING] But, of cause, when you add this, NEVER flash tis firmware to a hardware different to the one described!
...
LOG_INFO("\n\n//\\ E S H T /\\ S T / C\n\n");
initDeepSleep();
// power on peripherals
// RAK 19007 WisBlock Base: enable power on 3V3_S for SLOT A-D and IO-SLOT
pinMode(WB_IO2, OUTPUT);
digitalWrite(WB_IO2, 1);
#if defined(TTGO_T_ECHO) && defined(PIN_POWER_EN)
pinMode(PIN_POWER_EN, OUTPUT);
digitalWrite(PIN_POWER_EN, HIGH);
// digitalWrite(PIN_POWER_EN1, INPUT);
#endif
...
Sorry, currently I do not have the time to figure out how this can be integrated into the Meshtasic firmware without breaking anything.
Thanks!
I'll try the hardware fix for now.
As the RAK5005-O is not available anymore and the RAK11200 is the only RAK option which includes WiFi I assume more people would like to use the RAK11200 + RAK19007 combination.
Would it be an option to have a dedicated RAK11200 + RAK19007 and a RAK11200 + RAK5005-O firmware? This way both combinations could be supported if I understand correctly.
But I'm not into all details, just suggesting a possible option.
Anyway thanks again for your work on this project!
Regards, Erik
LOG_INFO("\n\n//\\ E S H T /\\ S T / C\n\n"); initDeepSleep(); // power on peripherals // RAK 19007 WisBlock Base: enable power on 3V3_S for SLOT A-D and IO-SLOT pinMode(WB_IO2, OUTPUT); digitalWrite(WB_IO2, 1); #if defined(TTGO_T_ECHO) && defined(PIN_POWER_EN) pinMode(PIN_POWER_EN, OUTPUT); digitalWrite(PIN_POWER_EN, HIGH); // digitalWrite(PIN_POWER_EN1, INPUT); #endif
This is what my comment was referring to. That code is pretty much already there under a condition for if SX126X_ANT_SW
is set. If you add #define SX126X_ANT_SW WB_IO2
to the variant.h
file then it will also do the same thing.
So do I understand correctly that the RAK11200 core does work with RAK19007 but only with the 2 addtl lines above?
I observed the problem, and the solution may only be valid, on the combination of these three components:
The reason seems to be, that the RAK13300 LoRaWAN SX1262 needs power on the slot's 3V3_S pin to work.
The RAK19007 WisBlock Base Board can enable or disable this power (probably to save power). The Base Board's 3V3_S-power-enable signal is connected to the pin-header AND the CPU-slot (So better, do not use both to enable. The high ohm resistor should be on the safe side). When a RAK11200-C (running Meshtastic) is plugged in the CPU-slot it seems not to enable the 3V3_S power. And the Base Board does not neither. As the enable signal may even be floating (undefined) it may even work sometimes, this way. Better intentionally enable 3V3_S, either from the Base Board or the CPU.
At my place, the software solution is working for a couple of weeks now.
Category
Hardware Compatibility
Hardware
Rak11200
Firmware Version
2.2.23.567e68, 2.2.16.1c6acfd
Description
I'm experiencing a boot loop with my WisBlock setup.
Using RAK19007 base board with the RAK11200 ESP32 core and the RAK13300 LoRa module. After reset, the device seems to be stuck in a boot loop with meshtastic --info showing the reboot count constantly climbing. I tried firmware versions 2.2.16 and 2.2.23 and see the same thing with both.
The logs show the error right before reboot
Relevant log output