Raspberry Pi Pico SDK 2.1.1 release adds 200MHz clock option for RP2040, various Waveshare boards, new code samples

The Raspberry Pi Pico SDK 2.1.1  has just been released with official 200 MHz clock support for the Raspberry Pi RP2040 MCU, several new boards mostly from Waveshare, but also one from Sparkfun, as well as new code samples, and other small changes.

Raspberry Pi RP2040 200 MHz

Raspberry Pi RP2040 gets official 200 MHz clock support

When the Raspberry Pi RP2040 was first released along with Raspberry Pi Pico in 2021, we were told the default frequency was 48 MHz, but the microcontroller could also run up to 133 MHz. Eventually, I think the Cortex-M0+ cores were clocked at 125 MHz by default, although some projects (e.g. PicoDVI) would boost the frequency up to 252 MHz.

Frequencies higher than 133 Mhz were not officially supported so far, but the Pico SDK 2.1.1 changes that since the Raspberry Pi RP2040 has now been certified to run at a system clock of 200MHz when using a regulator voltage of at least 1.15 volts.

If you want to make use of the new 200MHz clock simply set SYS_CLK_MHZ=200 via the preprocessor define and the regulator voltage will automatically be raised if necessary. Raspberry Pi did not change the default values in the Pico SDK meaning SYS_CLK_MHZ is set to 125 (MHz) for the RP2040 and 150 (MHz) for the RP2350 since the different may break some programs that make assumptions about the operating frequency. Another way to make sure your program always uses the maximum frequency whether for RP2040, RP2350, or future RP2xxx microcontroller is to define PICO_USE_FASTEST_SUPPORTED_CLOCK=1 via CMake variable or as a preprocessor define.

New boards supported by Pico SDK 2.1.1

The SDK also adds support for new RP2040/RP2350 boards:

Some other boards have had their configuration slightly updated.

New C code samples

As mentioned in the introduction new code samples were added to 2.1.1 (and 2.1.0):

  • binary_info
    • blink_any – Uses bi_ptr variables to create a configurable blink binary
    • hello_anything – Uses bi_ptr variables to create a configurable hello_world binary
  • i2c/slave_mem_i2c_burst – i2c slave example where the slave implements a 256-byte memory.
  • pico_w/wifi
    • picow_blink_slow_clock – Blinks the on-board LED (which is connected via the WiFi chip) with a slower system clock to show how to reconfigure communication with the WiFi chip at run time under those circumstances
    • picow_blink_fast_clock – Same as above but with a faster system clock
    • picow_http_client – Demonstrates how to make HTTP and HTTPS requests
    • picow_http_client_verify – Demonstrates how to make an HTTPS request with server authentication
    • mqtt/picow_mqtt_client – Demonstrates how to implement an MQTT client application
    • freertos/picow_freertos_http_client_sys – Demonstrates how to make an HTTPS request in NO_SYS=0 (i.e. full FreeRTOS integration)
  • universal
    • blink – Same as the blink example, but universal.
    • nuke_universal – Same as the flash/nuke example, but universal. On RP2350 runs as a packaged SRAM binary, so it is written to flash and copied to SRAM by the bootloader
  • pio/uart_pio_dma – Send and receive data from a UART implemented using the PIO and DMA
  • usb/device/dev_multi_cdc – A USB CDC device example with two serial ports, one of which is used for standard SDK stdio. The example exposes two serial ports over USB to the host. The first port is used for stdio, and the second port is used for a simple echo loopback

You’ll find those in the pico-examples repository.

The full release notes can be found in the announcement on the GitHub repo.

Via Hackster.io

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
0 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications