Silicon Labs xG23-PK6068A starter kit
Support for the xG23-PK6068A board.
Support for the xG23-PK6068A board.
Overview
The EFR32xG23 (xG23) Pro Kit is designed to support the development of Wireless IoT devices based on Sub-GHz wireless protocols. The Pro Kit includes a radio board that provides a complete reference design for the EFR32xG23 Wireless SoC, with the matching network for +20 dBm covering 868 to 915 MHz.
The main board contains an onboard J-Link debugger with a Packet Trace Interface and a Virtual COM port, enabling application development and debugging of the attached radio board as well as external hardware through an expansion header.
Hardware
MCU
| MCU | EFR32ZG23 |
|---|---|
| Family | ARM Cortex-M33 |
| Vendor | Silicon Labs |
| Vendor Family | EFM32 Wireless Gecko |
| RAM | 64.0 KiB |
| Flash | 512.0 KiB |
| EEPROM | no |
| Frequency | up to 78 MHz |
| FPU | yes |
| MPU | no |
| DMA | 8 channels |
| Timers | 4x 16-bits, 1x 32-bits |
| ADCs | 16-bit ADC |
| UARTs | 1x USART, 3x EUSART |
| SPIs | 1x USART |
| I2Cs | 2x |
| Vcc | 1.71 V - 3.8 V |
| Datasheet | EFR32ZG23 |
| Manual | EFR32xG23 |
| Board Manual | xG23 |
| Board Schematic | Main Board BRD4001A, EFR32ZG23 Module BRD4210A |
Pinout
This is the pinout of the expansion header on the right side of the board. PIN 1 is the bottom-left contact when the header faces you horizontally.
| PIN | PIN | ||
|---|---|---|---|
| 3V3 | 20 | 19 | RES |
| 5V | 18 | 17 | RES |
| PC7 | 16 | 15 | PC5 |
| PA9 | 14 | 13 | PA7 |
| PA8 | 12 | 11 | PA6 |
| PC0 | 10 | 9 | PD2 |
| PC3 | 8 | 7 | PA5 |
| PC2 | 6 | 5 | PA0 |
| PC1 | 4 | 3 | PA10 |
| VMCU | 2 | 1 | GND |
Peripheral mapping
| Peripheral | Number | Hardware | Pins | Comments | Min. Power Mode |
|---|---|---|---|---|---|
| I2C | 0 | I2C0 | SDA: PC7, CLK: PC5 | EM1 | |
| SPI | 0 | USART0 | MOSI: PC1, MISO: PC2, CLK: PC3 | PC4 used as CS for Serial Flash | EM1 |
| Timer | 0 | TIMER0 | Default ztimer backend | EM1 | |
| 1 | LETIMER0 | EM3 | |||
| UART | 0 | EUSART1 | RX: PA9, TX: PA8 | Default STDIO output | EM1 |
| ADC_LINE | 0 | IADC0 | IN+: PA10, IN-: GND | Single-ended, V_ref: 2 * 1.21V | EM1 |
| 1 | IADC0 | IN+: PA0, IN-:PA5 | Differential, V_ref: 2 * 1.21V | EM1 |
User interface
| Peripheral | Mapped to | Pin | Comments |
|---|---|---|---|
| Button | PB0 | PB1 | |
| PB1 | PB3 | ||
| LED | LED0 | PB2 | Yellow LED |
| LED1 | PD3 | Yellow LED |
Implementation Status
| Device | ID | Supported | Comments |
|---|---|---|---|
| MCU | EFR32ZG | yes | Power modes supported |
| Low-level driver | ADC | no | |
| Flash | yes | ||
| GPIO | yes | Interrupts are shared across pins (see reference manual) | |
| HW Crypto | partially | Only hwrng | |
| I2C | yes | ||
| PWM | no | ||
| RTC | no | As RTT or RTC | |
| SPI | partially | Only master mode | |
| Timer | yes | ||
| UART | yes | ||
| LCD driver | LS013B7DH03 | yes | Sharp Low Power Memory LCD via the U8g2 package |
| Temperature + humidity sensor | Si7021 | yes | Silicon Labs Temperature + Humidity sensor |
Board configuration
Clock selection
There are several clock sources that are available for the different peripherals. You are advised to read AN0004.0 to get familiar with the different clocks.
| Source | Internal | Speed | Comments |
|---|---|---|---|
| HFXO | No | 39 MHz | |
| LFXO | No | 32.768 kHz |
It is important that the clock speeds are known to the code, for proper
calculations of speeds and baud rates. If the HFXO or LFXO are different from
the speeds above, ensure to pass HFXO_FREQ=freq_in_hz and
LFXO_FREQ=freq_in_hz to your compiler defines.
Flashing the device
To flash, SEGGER JLink is required.
Flashing is supported by RIOT-OS using the command below:
BOARD=xg23-pk6068a make flashTo run the GDB debugger, use the command:
BOARD=xg23-pk6068a make debugOr, to connect with your own debugger:
BOARD=xg23-pk6068a make debug-serverLicense information
Silicon Labs’ EMLIB: zlib-style license (permits distribution of source).