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.