RAK4630 compatibility with 4631 firmware -- anything to keep in mind when updating firmware?

Hi, I have been having trouble uploading Arduino code to my RAK4630-based board. The COM port on Windows keeps switching as described here, and I am planning to update the firmware. I keep seeing references to the 4631, and I installed the 4631 board manager, as there were no direct references to 4630.

Can I treat a 4630 as if it were a 4631, or is there anything I need to be aware of? Essentially, are the firmware+bootloader for 4631 backwards-compatible with 4630 hardware?

Also, what method do you recommend for updating the firmware? From my research, it seems to be the same options as described here, it’s just confusing because the guide is for 4630, but references 4631 most other times.

This guide describes how to download the bootloader of RAK4630 in case of any crash or erase during use.

… and then each hardware list requires the 4631. Here’s an example of the hardware required for USB firmware update:

Hardware and Tools Required


  • WisBlock Base RAK5005-O
  • WisBlock Core RAK4631
  • The latest bootloader (V0.4.2 - WisCore_RAK4631_Board_Bootloader.zip)
  • Adafruit-nrfutil application depending on your OS version
  • USB cable

The most likely answer is that I can just do everything the same – however, I just want to make sure that I am not locked out of anything before I get to grinding away at firmware updates. If need be, I will buy the 4631, especially if the 4630 is deprecated.

Here’s a copy of my INFO_UF2.txt file – it seems to match the “How to Check If You Have the Updated RAK4631 Bootloader” section of the docs (sorry, can’t post more than 2 links as a new user).


UF2 Bootloader 0.4.2 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-293-gaf8e5a90) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: WisBlock RAK4631 Board
Board-ID: WisBlock-RAK4631-Board
Date: Dec  1 2021
SoftDevice: S140 6.1.1



Welcome to RAK forum Charles,

Some info I can share to help clarify.

RAK4631-R is just a RAK4630 in a WisBlock Core board. Take note that I said RAK4631-R and not RAK4630. Because the RAK4630 by default is based on RUI3 firmware.

The one you use is the open-source Arduino BSP of RAK4631 (not RUI3 firmware). You can switch on either approach (RUI3 or Arduino BSP) for your RAK4630. So what you are doing is fine if you prefer to use the Arduino BSP. Your bootloader version based on what you posted is also updated.

1 Like

Great, that fixed it. Thanks for the help. Ideally, I would like to eventually move to verifying, compiling, and uploading using the arduino-cli tool so I can automate my specific process using scripts, but that still seems far away. For now, I can develop RUI v3 using Arduino IDE or VSCode, and that seems good enough.


1 Like