You should stop repeating that there are no practical issues with 8-bit MCU @8MHz.
Practical issues that exist are clearly described below.
This is incorrect.
Be specific: Which particular versions of LMIC are you referring to and what are those bugs?
‘appear to be’ I have seen more remarks about timing issues of ESP32 in combination with LMIC, but instead of hearsay it would be useful to add references to where this is actually confirmed and explained in detail.
Really? If true that should be able to solve all timing related LMIC-based-application issues.
But unfortunately, it appears that just like the LMIC onEvent() event handler code should not spend to much time to handle events, the same accounts for LMIC Jobs that are scheduled by the LMIC scheduler, they should not spend too much time running. I do not have a reference for this information at hand.
Facts
-
What are popular well-known boards using 8-bit MCU’s running at 8MHz?:
Arduino Pro Mini 8Mhz and Adafruit/BSFrance LoRa32u4 (II). -
How many well-known Arduino LMIC implementations exist for 8-bit AVR MCU’s: exactly two.
See: Overview of LoRaWAN Libraries [HowTo] -
What is the most basic OTAA example that is included with each (Arduino) LMIC library?:
ttn-oota.ino.
Verified Facts
Are there any issues with 8-bit MCU’s running at 8 MHz in combination with Arduino framework and the two well known Arduino LMIC implementations? Yes there are!
A very simple test proves the facts:
-
Take a BSFrance LoRa32 II v1.2 board.
Any of the boards mentioned should do but Pro Mini will require a separate SPI LoRa board. -
Use one of the two well-known Arduino LMIC libraries,
either LMIC-Arduino or the newer and improved MCCI LoRaWAN LMIC library. -
Take the
ttn-otaa.ino
example (use the one that is included with the LMIC library used)
and configure the correct lmic pinmappings for the board (don’t forget that for this board DIO1 must be manually wired) and enter the proper LoRaWAN keys/id’s. -
Upload the sketch to the board and let it run.
Will the sketch succeed to immediately join on SF7BW125 as it should?: NO
Instead it will fail to join on SF7 and SF8 and only joins on SF9 instead.
As can be found in earlier posts on the forum.
In practice this means that it will take 6+ to 8+ minutes before a join request succeeds.
And this does not even take into account the testing of proper handling of downlinks.
To solve the issue MAX_CLOCK_ERROR has to be set to a value higher than 0
(actual required value depends on hardware and LMIC library used).
The issues occur independent of which of the two LMIC libraries is used.
So are there any practical issues with 8-bit MCU’s @8MHz with Arduino + LMIC?: Definitely yes.
But they can be worked around by setting MAX_CLOCK_ERROR.