Programming The Raspberry
Pi Pico/W In C

Second Edition

 

Program Listings

Errata and Updates

Resources

First Edition Material

Buy from: Amazon

picoC2E360Reviews of the first edition:

"One of the best programming books on microcontroller programming I have, and I have many"

"Often, these sort of books are just a rehash of the manufacturer documentation. This was written in a very clear style by someone who has actually used the Pico and encountered some of the traps and pitfalls. I would highly recommend this to anyone contemplating writing applications for the Pico in C/C++."

"As opposed to other books on the subject, this one goes deeply enough so that you can cover most aspects of what is discussed."

"This book will be a true time saver however, and the task learning C for programming the Raspberry Pi Pico will seem a little less intimidating"

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 getting a good implementation of your algorithms. To enjoy all of its power and sophistication there is no better language than C. It wastes none of the power and it gives you what you need to get at the new features. However, getting started with the Pico with C is no easy feat, which is what motivated this book.

Programming the Raspberry Pi Pico in C uses the highly popular VS Code as its development environment and shows how to use a Raspberry Pi or a desktop PC running Windows as your development machine. 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.

The original Pico lacked WiFi connectivity, a limitation overcome by the recent launch of the Pico W. You can think of as the Pico W as a superset of the original – everything you can do with an original Pico you can do with a Pico W, but not vice versa. A brand new chapter is 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 and any differences between the two versions are clearly indicated throughout the book.

Harry Fairhead has a hardware background and, having worked with microprocessors and electronics in general, for many years, he is an enthusiastic proponent of the IoT and embedded computing. He is the author of two books intended for C programmers, Fundamental C: Getting Closer To The Machine and Applying C For the IoT With Linux and four books on the using the Raspberry Pi in an IoT context, two using C and two using Python. He is now working on a Python version of this book for the Pico and on Master the Raspberry Pi Pico, which goes deeper into the PIO, the second core, using TLS/HTTPS and FreeRTOS, which is the next book you should read if you want to take Pico programming to the next level.

 Paperback

  • Publisher ‏ : ‎ I/O Press (October 30, 2022)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 382 pages
  • ISBN-10 ‏ : ‎ 187196279X
  • ISBN-13 ‏ : ‎ 978-1871962796
  • Item Weight ‏ : ‎ 1.82 pounds
  • Dimensions ‏ : ‎ 7 x 0.87 x 10 inches

Kindle 

  • ASIN ‏ : ‎ B0BL1HS3QD
  • Publisher ‏ : ‎ I/O Press; 2nd edition (October 30, 2022)
  • Publication date ‏ : ‎ October 30, 2022
  • Language ‏ : ‎ English
  • File size ‏ : ‎ 16113 KB

Hardback

  • Publisher ‏ : ‎ I/O Press (October 30, 2022)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 382 pages
  • ISBN-10 ‏ : ‎ 1871962056
  • ISBN-13 ‏ : ‎ 978-1871962055
  • Item Weight ‏ : ‎ 1.82 pounds
  • Dimensions ‏ : ‎ 7 x 1.05 x 10 inches