Raspberry Pi Pico W Latest SDK + Bluetooth And Crypto
Written by Harry Fairhead   
Saturday, 11 February 2023

When it first launched the Pico W had the hardware to support Bluetooth, but not the sofware. With the very latest SDK update it now supports Bluetooth and the mbedtls crypto library for HTTPS/TLS support.

The new SDK 1.5.0 is now available for download from the Raspberry Pi GitHub page. There are a few minor changes to the existing features and lots of bug fixes, but the two big improvements are the addition of the BTstack library and mbedtls.

raspberrypibanner

The Bluetooth modes that are available are:

  • pico_btstack_ble - Adds Bluetooth Low Energy (LE) support.

  • pico_btstack_classic - Adds Bluetooth Classic support.

  • pico_btstack_sbc_encoder - Adds Bluetooth Sub Band Coding (SBC) encoder support.

  • pico_btstack_sbc_decoder - Adds Bluetooth Sub Band Coding (SBC) decoder support.

  • pico_btstack_bnep_lwip - Adds Bluetooth Network Encapsulation Protocol (BNEP) support using LwIP.

There is also an option to use FreeRTOS. So far there isn't much Pico-specific documentation, but there are examples and the BTstack website has enough general information to get you started. At the moment the addition is listed as being in beta, but given this is a well-known library it should be reasonably stable.

One important point to note is that the library is only free to use for non-commercial projects. You will need to negotiate a fee if you want to create something commercial.

Almost as important as the Bluetooth addition is mbedtls. This is a library that allows you to add cryptography to your applications. In particular, it provides easy ways to add HTTPS clients and servers to your applications. To make this even easier and more secure there is a new pico_rand module which uses the hardware entropy sources to generate cryptographically sound random numbers.

The whole WiFi driver support has been improved by the introduction of pico_async_context which formalizes the protection that you previously had to manually apply. This provides the usual three WiFi driver modes of poll, threadsafe_background and freertos.

You can still use cyw43_arch_lwip_begin and cyw43_arch_lwip_end, but they are now mapped to calls to pico_async_context_acquire_lock_blocking on the async context.

The updates are to the SDK and this means that all the new facilities are available to C programs. The MicroPython update hasn't been anounced yet. but it seems to support the new features via the experimental Bluetooth module.

picow

It will be interesting to see what new projects result from these new facilities. The Pico is a remarkable microcontoller with facilities that would have been unthinkable just a short time ago.

 

 

More Information

SDK 1.5.0

Related Articles

Pi Pico W $6 WiFi

The New Raspberry Pi Pico Breaks The Mold

Pi 400 The $70 Desktop

Pi Compute Module 4 - Time to Take Industrial Pi Seriously

30 Million Pis And Counting

Raspberry Pi 4 Sets New Performance High At Same Cost

250,000 Pi Zero W Sold

The Remarkable Rise of Raspberry Pi 

10 Million Raspberry Pis 

Pi Zero Wireless A $10 Birthday Present

Raspberry Pi Zero $5 Computer 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


Raspberry Pi Beaten To It With Pico Plus 2
02/10/2024

RPi recently announced the Pico 2, but while we are all waiting for the more useful Pico 2W, with WiFi, the tiny Pimoroni outfit has produced something better - the Pico Plus 2 with WiFi. What is goin [ ... ]



52nd Mersenne Prime Found
27/10/2024

It has been nearly six years since the last Mersenne prime was discovered. Now, at last, we have Mersenne prime number 52 and it has 41,024,320 digits!


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

<ASIN:1871962803>

<ASIN:187196279X>

<ASIN:1871962633>

<ASIN:1871962668>

<ASIN:1871962641>

<ASIN:187196265X>

 

 

  • pico_btstack_ble - Adds Bluetooth Low Energy (LE) support.
  • pico_btstack_classic - Adds Bluetooth Classic support.
  • pico_btstack_sbc_encoder - Adds Bluetooth Sub Band Coding (SBC) encoder support.
  • pico_btstack_sbc_decoder - Adds Bluetooth Sub Band Coding (SBC) decoder support.
  • pico_btstack_bnep_lwip - Adds Bluetooth Network Encapsulation Protocol (BNEP) support using LwIP.
Last Updated ( Saturday, 11 February 2023 )