RAK4631 WisBlock Core Module
Overview
The RAK4631 WisBlock Core Module is a WisBlock Core module for RAK WisBlock. It is based on the Nordic Semiconductor nRF52840 MCU with an integrated Semtech SX1262 LoRa transceiver, offering Bluetooth 5.0 (BLE) and LoRa radio connectivity in a module compatible with WisBlock Base boards.
Hardware
Supported Features
The rak4631 board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
rak4631/nrf52840 target
On-target memory for this board target: 256 KiB of RAM, 1 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M4F CPU1 |
|
ADC |
on-chip |
Nordic Semiconductor nRF family SAADC node1 |
|
on-board |
WisBlock ADC Channel Map1 |
||
ARM architecture |
on-chip |
Nordic UICR (User Information Configuration Registers)1 |
|
on-chip |
Nordic EGU (Event Generator Unit)6 |
||
on-chip |
Nordic nRF family ACL (Access Control List)1 |
||
on-chip |
Nordic nRF family MWU (Memory Watch Unit)1 |
||
Audio |
on-chip |
Nordic PDM (Pulse Density Modulation interface)1 |
|
Clock control |
on-chip |
Nordic nRF clock control node1 |
|
on-chip |
Nordic nRF HFCLK clock control node1 |
||
on-chip |
Nordic nRF LFCLK clock control node1 |
||
on-chip |
Nordic nRF high-frequency crystal oscillator (nRF52 series)1 |
||
Comparator |
on-chip |
Nordic nRF COMP (analog COMParator)1 |
|
Counter |
on-chip |
Nordic nRF timer node5 |
|
Cryptographic accelerator |
on-chip |
Nordic ECB (AES electronic codebook mode encryption)1 |
|
on-chip |
Nordic nRF family CCM (AES CCM mode encryption)1 |
||
on-chip |
ARM TrustZone CryptoCell 3101 |
||
Debug |
on-chip |
ARMv7 instrumentation trace macrocell1 |
|
Flash controller |
on-chip |
Nordic NVMC (Non-Volatile Memory Controller)1 |
|
on-chip |
Properties defining the interface for the Nordic QSPI peripheral1 |
||
GPIO & Headers |
on-chip |
NRF5 GPIOTE1 |
|
on-chip |
NRF5 GPIO2 |
||
on-board |
WisBlock I/O Slot Connector1 |
||
I2C |
on-chip |
Nordic nRF family TWI (TWI master)1 |
|
on-chip |
Nordic nRF family TWIM (TWI master with EasyDMA)1 |
||
I2S |
on-chip |
Nordic I2S (Inter-IC sound interface)1 |
|
IEEE 802.15.4 |
on-chip |
Nordic nRF IEEE 802.15.4 node1 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LoRa |
on-chip |
Semtech SX1262 LoRa Modem1 |
|
Miscellaneous |
on-chip |
Nordic FICR (Factory Information Configuration Registers)1 |
|
on-chip |
Nordic nRF family PPI (Programmable Peripheral Interconnect)1 |
||
MTD |
on-chip |
Flash node1 |
|
Networking |
on-chip |
Nordic nRF family RADIO peripheral1 |
|
on-chip |
Nordic nRF family NFCT (Near Field Communication Tag)1 |
||
Pin control |
on-chip |
Nordic nRF family Pin Controller1 |
|
Power management |
on-chip |
Nordic nRF power control node1 |
|
PWM |
on-chip |
||
on-chip |
nRFx S/W PWM1 |
||
on-board |
WisBlock PWM Channel Map1 |
||
Regulator |
on-chip |
Nordic nRF5X regulator (fixed stage of the core supply)1 |
|
on-chip |
Nordic nRF52X regulator (high voltage stage of the main supply)1 |
||
Retained memory |
on-chip |
Nordic GPREGRET (General Purpose Register Retention) device2 |
|
RNG |
on-chip |
Nordic nRF family RNG (Random Number Generator)1 |
|
RTC |
on-chip |
Nordic nRF RTC (Real-Time Counter)3 |
|
Sensors |
on-chip |
Nordic nRF family TEMP node1 |
|
on-chip |
Nordic nRF quadrature decoder (QDEC) node1 |
||
Serial controller |
on-chip |
Nordic nRF family UARTE (UART with EasyDMA)2 |
|
SPI |
on-chip |
Nordic nRF family SPIM (SPI controller with EasyDMA)3 |
|
on-chip |
Nordic nRF family SPI (SPI controller)1 |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Nordic nRF52 USB device controller1 |
|
Watchdog |
on-chip |
Nordic nRF family WDT (Watchdog Timer)1 |
Connections and IOs
The RAK4631 features a 40-pin header with various I/O interfaces for the WisBlock ecosystem. The pinout is as follows:
Used |
Name |
Pin |
Pin |
Name |
Used |
|---|---|---|---|---|---|
NC |
VBAT |
1 |
2 |
VBAT |
NC |
GND |
GND |
3 |
4 |
GND |
GND |
3V3 |
3V3 |
5 |
6 |
3V3 |
3V3 |
USB_P |
USB_P |
7 |
8 |
USB_N |
USB_N |
NC |
VBUS |
9 |
10 |
SW1 |
P1.01 |
P0.20 / UART0_TX |
TXD0 |
11 |
12 |
RXD0 |
P0.19 / UART0_RX |
RESET |
RESET |
13 |
14 |
LED1 |
P1.03 |
P1.04 |
LED2 |
15 |
16 |
LED3 |
P0.02 |
3V3 |
VDD |
17 |
18 |
VDD |
3V3 |
P0.13 / I2C0_SDA |
I2C1_SDA |
19 |
20 |
I2C1_SCL |
P0.14 / I2C0_SCL |
P0.05 / ADC_VBAT |
AIN0 |
21 |
22 |
AIN1 |
P0.31 / ADC |
BOOT |
BOOT0 |
23 |
24 |
IO7 |
P0.28 |
P0.26 / SPI2_CS |
SPI_CS |
25 |
26 |
SPI_CLK |
P0.03 / SPI2_SCK |
P0.29 / SPI2_MISO |
SPI_MISO |
27 |
28 |
SPI_MOSI |
P0.30 / SPI2_MOSI |
P0.17 |
IO1 |
29 |
30 |
IO2 |
P1.02 |
P0.21 |
IO3 |
31 |
32 |
IO4 |
P0.04 |
P0.16 / UART1_TX |
TXD1 |
33 |
34 |
RXD1 |
P0.15 / UART1_RX |
P0.24 / I2C1_SDA |
I2C2_SDA |
35 |
36 |
I2C2_SCL |
P0.25 / I2C1_SCL |
P0.09 |
IO5 |
37 |
38 |
IO6 |
P0.10 |
GND |
GND |
39 |
40 |
GND |
GND |
Connecting to a Baseboard
RAK4631 is a WisBlock Core Module and must be mounted on a WisBlock base board
(for example the rakwireless_rak19007 shield) through the 40-pin WisBlock I/O
connector to expose the IO. See the WisBlock overview [1] for physical
mounting instructions.
Programming and debugging
The rak4631 board supports the runners and associated west commands listed below.
| flash | debug | rtt | debugserver | attach | reset | |
|---|---|---|---|---|---|---|
| jlink | ✅ | ✅ (default) | ✅ | ✅ | ✅ | ✅ |
| nrfjprog | ✅ | |||||
| nrfutil | ✅ (default) | |||||
| openocd | ✅ | ✅ | ✅ | ✅ | ✅ | |
| pyocd | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Building & Flashing
# From the root of the zephyr repository
west build -b rak4631/nrf52840 --shield rakwireless_rak19007 samples/hello_world
west flash
You should see Hello World! rak4631/nrf52840 on the base board’s USB console.
Debugging
You can debug an application in the usual way. Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b rak4631/nrf52840 --shield rakwireless_rak19007 samples/hello_world
west debug