RAK7201V2 — GPIO/pin mapping for custom RUI3 firmware on the RAK3172?

Hi all,

I’m developing custom firmware for the RAK7201V2 (WisNode Button 4K) using the RUI3 BSP, since the V2 is built on a RAK3172 (STM32WLE5). I’ve got the RUI3 Arduino toolchain set up and can build/flash against the RAK3172 variant fine.

What I’m missing is the board-level pin mapping between the RAK3172 module and the RAK7201V2’s peripherals. Specifically, which RAK3172 GPIOs connect to:

  • the four buttons
  • the status LEDs (RGB + the blue battery-indicator LEDs)
  • the battery charger status line
  • USB / UART lines used for DFU

I understand RAK doesn’t publish the full RAK7201V2 schematic, and that’s fine — I don’t need the schematic or the stock app source. Just the GPIO assignments for the items above would be enough for me to bring up my own application layer. Even a partial list (buttons + LEDs) would unblock me.

One related question: can the RUI3 bootloader on the V2 be preserved through a custom-app flash, or does custom firmware require re-flashing the bootloader over SWD? Wanting to confirm the recovery path before I start.

Thanks in advance!

Welcome back to RAK forum @ruswerner ,

RAK7201V2 LEDs are RGB.

All G are connected to PB12
LED1 R PA7
LED1 B PA1
LED2 R PA6
LED2 B PB7
LED3 R PA5
LED3 B PB6
LED4 R PA4
LED4 B PA15

Please note that these LEDs are active low and they share a common VCC level controled by a mosfet connected to PB2.

Keypads are more direct and active low with external pull up resistors
Key1 PA10
Key2 PA0
Key3 PA9
Key4 PA8

As for the RUI3 Bootloader, as long as you write your FW using RUI3, the RUI3 bootloader is preserved. No need to SWD pins.