Board Support Package For Raspberry Pi Pico W

Introduction

 

Raspberry Pi Pico W

 

This board support package (BSP) supports Raspberry Pi Pico W development board. It is based on Raspberry Pi Pico SDK and uses ARM compiler tool chain for generating required binaries. This BSP supports multi-core programming on these boards.

Getting Started

·       Create model and build to generate required binary.

·       Refer below for programming and debugging support.

General Usage Notes

·       PWM resolution can be adjustable for individual PWM slices during modeling.

Board Configuration

·      General Configuration

Configuration Parameter

Parameter Values for RaspberryPi_Pico W

Board Title

RaspberryPi_PicoW

Tool Chain Type

Local Build

Board Preprocessor Symbol

_BUILD_BRD_RPI_PICO_W

Platform Preprocessor Symbol

_BUILD_PLT_ARD

Compiler Preprocessor Symbol

_BUILD_CMP_ARM_GCC

C++11 Standard Support

No

Debug Support

Yes

File System Support

No

OpenMP/OpenCL/CUDA Support

No/No/No

Simulation Panel Support

No

 

·      Hardware Configuration

Configuration Parameter

Parameter Values for RaspberryPi_PicoW

Number of CPU cores

2

Dynamic Memory Support

Yes

Prefer Fixed/Floating Point

Floating Point

DI/DO Pins

GP0[0], GP1[1], GP2[2], GP3[3], GP4[4], GP5[5], GP6[6], GP7[7], GP8[8], GP9[9], GP10[10], GP11[11], GP12[12], GP13[13], GP14[14], GP15[15], GP16[16], GP17[17], GP18[18], GP19[19], GP20[20], GP21[21], GP22[22], GP32(LED)[32]

ADC Default Resolution

12

ADC Pins

GP26(A0)[26], GP27(A1)[27], GP28(A2)[28], TEMP(A3)[29]

PWM Default Resolution

10

PWM Pins

GP0[0], GP1[1], GP2[2], GP3[3], GP4[4], GP5[5], GP6[6], GP7[7], GP8[8], GP9[9], GP10[10], GP11[11], GP12[12], GP13[13], GP14[14], GP16[16], GP17[17], GP18[18], GP19[19], GP20[20], GP21[21], GP22[22]

DAC Default Resolution

-

DAC Pins

-

UART0 Pins

Via USB Programmer Port

UART1 Pins

TX1(GP0), RX1(GP1)

UART2 Pins

TX2(GP4), RX2(GP5)

UART3 Pins

-

SPI0 Pins

SCK(GP18), MOSI(GP19), MISO(GP20), SS(21)

SPI1 Pins

SCK(GP10), MOSI(GP11), MISO(GP12), SS(13)

I2C0 Pins

SCL(GP17), SDA(GP16)

I2C1 Pins

SCL(GP3), SDA(GP2)

Onboard IMU and Microphone on Arduino RP2040 Nano Connect

-

Onboard WiFi

Available with WiFi101 block

 

Programmer

CASP supports Programmer0 (using python3.exe) for uploading generated binary file to the board.

Debugging

Debugging is supported over USB serial.

Limitations

·       WiFi101 block and GPIO32 IO are best executed on core-0.

Known Issues & Limitations

·       These boards seldom freeze and may even fail to be recognized by USB from the host computer. Please refer to manufacturer web site on how to trouble shoot during such situation.  When such situation occurs for Raspberry Pi PicoW boards then typical workaround to make the board work again is as described below

     - Press the reset button on the board while powering it up.

     - The board’s flash memory should now appear as a drive on the host computer.

     - Take a valid binary file with extension *.uf2 or make a simple LED blink model in CASP and copy the generated uf2 file from the project /build/bin directory to the drive.

     - The board should now automatically reset and should work again.

 

·       Raspberry Pi PicoW compiler has issues with some of the CASP’s data routing blocks. This may at times result in freezing of the board. In such cases refer above procedure on how make the board work again. Workaround the make such blocks work is to manually order these blocks to run at starting or ending in the block execution order. Option for manual ordering is available on the right click block options.