Shrike-lite
Overview
Shrike-lite [1] is a low-cost, open-source microcontroller + FPGA development board combining an RP2040 [2] MCU and a 1120 LUT FPGA. It features a PMOD connector, breadboard-compatible layout, integrated FPGA–MCU IO interface, QSPI flash, dual user LEDs, and USB Type-C for power/programming. Ideal for learners, hobbyists, and hardware/software co-design prototyping.
Hardware
Dual ARM Cortex M0+ cores
264 kByte SRAM
4 Mbyte QSPI flash
GPIO
ADC
I2C
SPI
UART
USB Type-C connector
Dual user LEDs
Debug Connector
Reset and boot buttons
1120 LUT SLG47910 Low-Power FPGA
Blue LED
Supported Features
The shrike_lite 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.
shrike_lite/rp2040 target
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M0+ CPU2 |
|
ADC |
on-chip |
Raspberry Pi Pico ADC1 |
|
Clock control |
on-chip |
Raspberry Pi Pico clock controller node1 |
|
on-chip |
|||
on-chip |
The representation of Raspberry Pi Pico’s PLL2 |
||
on-chip |
The representation of Raspberry Pi Pico ring oscillator1 |
||
on-chip |
The representation of Raspberry Pi Pico external oscillator1 |
||
Counter |
on-chip |
Raspberry Pi Pico timer1 |
|
DMA |
on-chip |
Raspberry Pi Pico DMA1 |
|
Flash controller |
on-chip |
Raspberry Pi Pico flash controller1 |
|
GPIO & Headers |
on-chip |
Raspberry Pi Pico GPIO1 |
|
on-chip |
Raspberry Pi Pico GPIO Port1 |
||
I2C |
on-chip |
||
Interrupt controller |
on-chip |
ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Miscellaneous |
on-chip |
Raspberry Pi Pico PIO2 |
|
MTD |
on-chip |
Flash node1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
Pin control |
on-chip |
Raspberry Pi Pico Pin Controller1 |
|
PWM |
on-chip |
Raspberry Pi Pico PWM1 |
|
Regulator |
on-chip |
Raspberry Pi Pico core supply regurator1 |
|
Reset controller |
on-chip |
Raspberry Pi Pico Reset Controller1 |
|
RTC |
on-chip |
Raspberry Pi Pico RTC1 |
|
Sensors |
on-chip |
Raspberry Pi Pico family temperature sensor node1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
Raspberry Pi Pico SPI2 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv6-M System Tick1 |
|
USB |
on-chip |
Raspberry Pi Pico USB Device Controller1 |
|
Watchdog |
on-chip |
Raspberry Pi Pico Watchdog1 |
Programming
The shrike_lite board is supported by the following runners:
The shrike_lite board supports the runners and associated west commands listed below.
| flash | debug | debugserver | attach | rtt | |
|---|---|---|---|---|---|
| openocd | ✅ | ✅ (default) | ✅ | ✅ | ✅ |
| uf2 | ✅ (default) |
There are multiple ways to program and debug the Shrike-lite [1] board. All methods are standard to the way of programming and debugging for the Raspberry Pi Pico [4].
The supported format for pico series (UF2) is located at build/zephyr/zephyr.uf2 file.
To build the application using USB Type-C connector, you can use the following command:
# From the root of the zephyr repository
west build -b shrike_lite samples/basic/blinky
To build the application using Raspberry Pi Debug Probe [3], you can use the following command:
# From the root of the zephyr repository
west build -b shrike_lite samples/basic/blinky -- -DRPI_PICO_DEBUG_ADAPTER=cmsis-dap
Flashing the board
To flash the board, you can use the following methods:
USB Type-C connector (default)
Press and hold the boot button while plugging in the USB Type-C connector to enter the bootloader mode and show the mass storage volume named “RP1-RP2” in the file manager.
You can either:
Drag and drop the build/zephyr/zephyr.uf2 file to the mass storage volume to program the board.
You can also use the following command to program the board:
# From the root of the zephyr repository
west build -b shrike_lite samples/basic/blinky
west flash --runner uf2
Or use the following command to program the board to try another runner:
# From the root of the zephyr repository
west build -b shrike_lite samples/basic/blinky
west flash --openocd /usr/local/bin/openocd
Debugging the board
To debug the board,
Press and hold the boot button while the Raspberry Pi Debug Probe [3] is connected to enter the debug mode and show the mass storage volume named “RP1-RP2” in the file manager.
# From the root of the zephyr repository
west build -b shrike_lite samples/basic/blinky
west debug --openocd /usr/local/bin/openocd