Programming the Raspberry Pi Pico/W

in MicroPython, Second Edition

First Edition Resources 


Program Listings


Bonus Article

This material was too late to make it into the second edition: Raspberry Pi Pico File System & SD Card Reader


Buy from: Amazon

Reviews of the first edition:
"Obviously the author knows his stuff. I love the writing style and helpful hints to deal with python limitations."
"Book contains many nuggets of info not found in other books."

The Raspberry Pi Pico is a remarkable microcontroller. It has a power and sophistication that would have been unthinkable just a short time ago. For the sort of jobs it is ideal for, it has plenty of processing power and enough memory to make tasks that would have once required careful planning, relatively easy. Instead of struggling with the machine, you can now focus on a good implementation of your algorithms.

MicroPython is a good choice of language to program the Pico. It isn’t the fastest way, but in most cases it is fast enough to interface with the Pico’s hardware and its big advantage is that it is easy to use. As a high-level language, MicroPython is based on Python 3 and is fully object-oriented. This means that you can create classes to encapsulate hardware and make it easier to use and understand.

The purpose of the book is to reveal what you can do with the Pico's GPIO lines together with widely used sensors, servos and motors and ADCs. After covering the GPIO, outputs and inputs, events and interrupts, it gives you hands-on experience of PWM (Pulse Width Modulation), the SPI bus, the I2C bus and the 1-Wire bus. One of the key advantages of the Pico is its PIO (Programmable I/O) and while this is an advanced feature, it is introduced in this book. After finding out how the PIO works, we apply it to writing a PIO program for the DHT22 and the 1-Wire bus.

The original Pico lacked WiFi connectivity, a limitation overcome by the launch of the Pico W. Two new chapters are dedicated to how to make use of the additional features of the Pico W including how to create a web client and a web server, use HTTPS and asyncio.

Jointly authored by
Harry Fairhead and Mike James, this book is along the same lines as Programming the Raspberry Pi Pico/W in C and combines Harry’s expertise in electronics and the IoT with Mike’s knowledge of Python.

Harry Fairhead is also the author of Raspberry Pi IoT In C Using Linux Drivers, Raspberry Pi IoT in C, Applying C For The IoT With Linux, Fundamental C: Getting Closer To The Machine and Micro:bit IoT in C.

Mike James is the author of the Programmer's Python: Something Completely Different series of books and several other programming and computer science titles in the I Programmer Library.


  • Publisher ‏ : ‎ I/O Press; 2nd edition (December 27, 2022)
  • Language : English
  • Paperback : 360 page
  • ISBN-10 ‏ : ‎ 1871962803
  • ISBN-13 ‏ : ‎ 978-1871962802
  • Item Weight ‏ : ‎ 1.72 pounds
  • Dimensions ‏ : ‎ 7 x 0.82 x 10 inches


  • ASIN ‏ : ‎ B0BR8LWYMZ
  • Publisher ‏ : ‎ I/O Press; 2nd edition (December 27, 2022)
  • Publication date ‏ : ‎ December 27, 2022
  • Language ‏ : ‎ English
  • File size ‏ : ‎ 13414 KB


  • Publisher ‏ : ‎ I/O Press (December 28, 2022)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 360 pages
  • ISBN-10 ‏ : ‎ 1871962064
  • ISBN-13 ‏ : ‎ 978-1871962062
  • Item Weight ‏ : ‎ 1.72 pounds
  • Dimensions ‏ : ‎ 7 x 1 x 10 inches