Performance of RAK11300 vs RAK4631

I am trying to understand the performance differences between the RAK11300 and RAK4631. Can anyone help me clarify?

From the specs, I understand the following:

RAK11300

  • RP2040 ARM CPU
  • Dual ARM Cortex M0+ cores (no mention of FPU)
  • 133MHz clock speed
  • 264KB SRAM
  • No onboard flash memory
  • No wifi radios
  • 256KB flash (2Mbit) see here

RAK4631

  • Nordic NRF52840 CPU
  • Single Core (ARM Cortex M4 with FPU)
  • 64MHz clock speed
  • 256KB RAM
  • 1MB onboard flash
  • Bluetooth radio

Am I correct in assuming that the RAK11300 offers more performance, both clock-speed-based and multi-core-processing, vs the RAK4631?

Regarding non-performance related features: other than the lack of built-in connectivity (radios) in the 11300, are there any other features offered by the 4631 that are missing on the 11300?

To summarize, I’m trying to decide which of these units to purchase for a project, based on features and cost.

UPDATE:
From this post, can I assume the 11300 does not run FreeRTOS? and also that multi-core is unsupported as of this time?

Does the unit run any type of RTOS or offer additional preemptive multitasking features like FreeRTOS xTaskCreate()?

Hi Ryan,

My latest knowledge, but it might be outdated, I am not doing anything with the RAK11300.

The RAK4631 is better supported by the BSP, has FreeRTOS, has lower power consumption in sleep mode.
RAK4631 supports all FreeRTOS features like queues, semaphores, tasks directly from the framework.

The RAK11300 has very limited support for the second core, does not really have sleep mode for low power consumption.
RAK11300 uses MBedOS, there is a FreeRTOS, but the usage is hidden behind the MBedOS and not so easy to access as on the RAK4631.

Personally I never run into limits of MCU power, flash or memory size with the RAK4631.

Thanks @beegee, your answers are very helpful in moving my decision toward the RAK4631. I was trying to understand the benefits of the RP2040 CPU. If ever there is good support for dual cores on this one, I would be interested to revisit.

I too have not hit limits with the RAK4631 but am just beginning to explore the full multitasking capability of FreeRTOS, which is a great feature. With the integration of a cellular modem and multiple other peripherals and comms, it does begin to take a toll on the arduino procedural loop paradigm.

I am using FreeRTOS task in the SX126x-Arduino LoRa/LoRaWAN library to handle the IRQ’s coming from the LoRa transceiver, Semaphores for the task switching and reducing power consumption (loop is waiting for a semaphore to be released ==> sleeping) and other FreeRTOS features like queues in my example applications. I really like it.
As RAK is offering RUI3 as an alternative (with even lower power consumption), I am working with that as well, but I am really missing the features of FreeRTOS as RUI3 doesn’t have it .

1 Like