The Pico Gets Zephyr And Rust Support
Written by Harry Fairhead   
Thursday, 30 October 2025

Zephyr, a real time operating system and Rust, a memory safe language, are both hot topics at the  moment and Raspberry Pi has decided they are hot enough to support in its extension for VS Code. 

If you use the latest version of the VS Code extension you will discover that there are two new Raspberry Pi Pico project types:

piproj

The Rust Project option assumes that you have Rust and a C compiler already installed - this is fiddly, but not impossible. Given both are installed you should be rewarded with a new Rust project, but despite spending a lot of time on the configuration I failed to get it to work, even after a complete clean reinstall of everything and careful following of the instructions.

If I had managed to get it working, I would have been faced with the task not only of learning Rust, something I am doing at the moment anyway, but yet another way to access the Pico's hardware. At the moment this means coming to terms with Rust's hal files and a fairly complicated way of dealing with the hardware so as to make the whole thing slightly platform-independent. If you are a MicroPython programmer stay away - here be dragons. If you are a C programmer the dragons are still there, but they might seem a little smaller. To be serious, this is a nice learning opportunity, but there is no way I would attempt to use this for a project that mattered. 

pico2

Zephyr project creation worked perfectly first time and it does make working with an RTOS on the Pico much easier. However, there are still some issues to take into account. The first is that Zephyr isn't just an RTOS, it also has a device tree implementation that provides another way to control and use peripherals. If you are going to make full use of Zephyr, you are going to have to give up what you already know about the Pico SDK and learn another way of doing the job. So now we have three ways to program the Pico's hardware. 

The supposed advantage of Zephyr's approach is that, in principle, you should be able to take a program and run it on another platform with no or minimal changes. Sounds great, but in practice it doesn't work out so well as what you find is that the driver support is very patchy and you often end up having to port the driver. You also have new WiFI and bluetooth stacks and a new socket library to work with. At this time the Pico's PIO isn't supported natively, though you can get it to work. It uses mbedTLS for cryptography but it has its own TCP/IP stack. 

Overall, despite Zephyr being backed by many chip manufacturers, it is a very big project and as such there is a lot of churn with drivers being a constant problem. 

So now we have two additional ways of accessing the Pico's hardware - did we really need them? Personally, I'd have prefered Raspberry Pi to put some effort into packaging Free RTOS, lwIP and mbedTLS, a triumvirate which allows you to create IoT programs using the well-designed and well-implemented Pico SDK, rather than a trendy move to Zephyr that throws so much away. 

Then there is the issue of documentation. Raspberry Pi hasn't provided anything new and simply directs you to the Zephyr or Rust site to read lots of information that isn't specific to the Pico - this is a very negative move. At the very least, it should put some work into customizing the documentation to make it relevant to the Pico.

Raspberry Pi is supporting Zephyr, but that basically means they will take advantage of them. The majority of the work is being done by open source programmers on the respective projects. It is about time Raspberry Pi took the software side of its products more seriously and supplied, or funded, dedicated Pico software engineers to the open source projects they depend upon. Compared to Espressif or Arduino it simply does not seem to see software as its problem and, with even more open source projects on board, it doesn't even seem to think that documentation is its problem either. 

So some good news and some bad. You now have an attractive alternative to FreeRTOS and the Pico SDK. Let's hope that it stands the test of time and isn't just the shiny new thing.

zephyricon

More Information

Develop embedded firmware for Pico using Rust or Zephyr with pico-vscode

Related Articles

Raspberry Pi Fixes Bug In RP2350 Pico 2 Fix Slow Roll Out

Pico RP2350 Security Bounty Won

The Pico/W In C: Erratum E9 Pull Down Problems

Pico 2W Announced But There Is A Surprise!

Raspberry Pi Beaten To It With Pico Plus 2

Pico 2 Faster With More Memory And RISCier

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


Jules Coding Agent Upgraded
22/10/2025

New options are now available for Jules, Google's coding Agent - a CLI and an API.



TestSprite 2.0 Sees User Growth
29/10/2025

TestSprite has announced a six times increase in users alongside a successful funding round. TestSprite is an agentic testing tool. Initially released in beta last fall, the number of users has risen  [ ... ]


More News

pico book

 

Comments




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

   

<ASIN:B0FP9RJJ7Z>

<ASIN:B0FDYDPQ54>

<ASIN:B0FJYJF77Q>

 

Last Updated ( Thursday, 30 October 2025 )