Master the Raspberry Pi Pico in C:
WiFi with LwIP, MbedTLS & FreeRTOS
Second Edition
Errata: None

Adding WiFi to the Raspberry Pi Pico turns this low-cost, small form factor device into a true IoT device. The extra capabilities added to the Pico W open up loads of opportunities, but only if you are prepared to do battle with the two libraries that provide networking and security – Lightweight Internet Protocol (lwIP) and Mbed Transport Layer Security (mbedTLS), respectively. The problem with these large libraries of code is that they are poorly documented and don’t refer directly to the Pico W and its SDK. This book sets out to remedy this by providing a guide to these libraries along with examples of what you can do with them. This second edition has been updated to cover the second generation Pico 2W as well as the original Pico W and has been extended to cover FreeRTOS, which offers significant advantages when working with lwIP and mbedTLS.
Having introduced the Pico WiFi Stack and basic network connections, we look at how to use TCP to create the all-important Protocol Control Block and then tackle implementing an HTTP client. As well as covering the basic mechanics of using lwIP, we also look at how to organize the use of an asynchronous library based on callbacks.
The problem of IoT security is unique because IoT devices can be physically accessed by an attacker. Even so it is worth implementing encryption and this is achieved using mbedTLS to create an HTTPS client and server, complete with certificates. We cover the basics of cryptography, including the problem of generating random numbers, what an encryption suite is and the various modes of AES encryption.
Next come four chapters devoted to specific protocols. We look at UDP as an alternative to implementing a server; SNTP as a way of setting the Pico W’s real time clock; SMTP to allow email notifications and MQTT as a scalable architecture. Each of these chapters includes example programs which do the basics of the task.
To make use of sockets, the de-facto standard way of writing networking programs we need an operating system. The final chapters of this book introduce FreeRTOS and how to use sockets to implement HTTP and HTTPS clients and servers including an initialization server which lets the user configure an IoT device using WiFi.
Harry Fairhead is the author of Programming The Raspberry Pi Pico/W In C, Fundamental C: Getting Closer To The Machine, Applying C For The IoT With Linux, and IoT titles for the Raspberry Pi and the ESP32.
Mike James is the co-author of Programming the Raspberry Pi Pico/W in MicroPython; Raspberry Pi IoT In Python Using GPIO Zero, and Raspberry Pi IoT In Python Using Linux Drivers. He is the author of Extending and Embedding Python Using C and the Programmer's Python: Something Completely Different series of books and many other programming and computer science titles.
Paperback
- Publisher : I/O Press
- Publication date : August 30, 2025
- Language : English
- Print length : 314 pages
- ISBN-10 : 1871962986
- ISBN-13 : 978-1871962987
- Item Weight : 1.52 pounds
- Dimensions : 7 x 0.71 x 10 inches
Kindle
- ASIN : B0FP9RJJ7Z
- Publisher : I/O Press
- Publication date : August 29, 2025
- Edition : 2nd
- Language : English
- File size : 7.5 MB
Hardback
- Publisher : I/O Press
- Publication date : August 30, 2025
- Language : English
- Print length : 314 pages
- ISBN-10 : 1871962390
- ISBN-13 : 978-1871962390
- Item Weight : 1.52 pounds
- Dimensions : 7.24 x 0.9 x 10.24 inches