About the Book

Programming the Internet of Things (O’Reilly Media) introduces you to the basics of building an integrated, end-to-end IoT solution – from device to cloud. Originally written to support my Connected Devices course at Northeastern University, Programming the IoT will help developers and technology executives alike better understand the technical complexities of a typical IoT ecosystem.

Awards and Accolades

The best Internet of Things books of all time The best IoT Development books of all time

Structure and Organization

How is the Book Organized?

The Preface is designed to level-set on what the IoT is, how the book is structured, and what you can expect as you work through each chapter.

  1. Part I focuses on setting up your development environment and building two simple applications.
  2. Part II digs into connecting things to the world via the generation and formatting of telemetry – the time-series data that you’ll use throughout the rest of the book (both simulated and emulated).
  3. Part III is where things really start to get interesting, as you’ll learn about some of the more common IoT messaging protocols used to connect your devices, enabling them to ‘talk’ with one another.
  4. Part IV brings everything together and helps you connect into the cloud. I’ll walk through some of the basics of connecting into cloud services and discuss some use cases you can tackle as a hobby, or as part of your Semester Project (if taking my Connected Devices course).

Each Part has a bunch of exercises that you can work through to build your own IoT solution. These exercises build upon each other from chapter to chapter, and are presented as requirements that you can use to inform your own agile board to track your learning journey.

What Else Should I Know?

As mentioned in the book, the Kanban Board and GitHub Repositories will contain the most up-to-date content. That said, I’m continuously looking for ways to improve this material and may make updates to the exercises and/or instructions in an effort to clarify (or correct) the exercises and suggested solutions.

1st Edition – Errata and Clarifications

I maintain a separate page on errata, clarifications, and diagrams that I hope will help clear up any confusion (or just fix errors on the prose and diagrams). Please be sure to check it out if you’re reading through and would like further explanations on any of the content.

1st Edition – For Instructors

The book and its associated content is designed as a self-contained course that introduces programming concepts and approaches for the IoT. If you’re an instructor and interested in leveraging the book for your own course, please check out my dedicated page for instructors.

And feel free to comment! I’ll do my best to keep the page maintained and add new content as appropriate.

Sounds Great! How Do I Start Programming the IoT?

If you’re interested in working through the IoT exercises I’ve developed or are currently taking my Connected Devices course, I’d suggest the following:

  1. Get the book!
  2. Read through the following sections and review the related videos:
  3. Clone the GitHub repositories listed below (described in Chapter 1):
  4. Start working through the exercises by reading each chapter and following along with the Kanban Board Lab Module exercises:

Want to Join the Mailing List?


Milestone No. 1: February 2020. Programming the Internet of Things project proposed and green-lit.

Milestone No. 2: 16 March 2020. Received O’Reilly Media contract to write Programming the Internet of Things.

Milestone No. 3: August 2020. First version of Early Release content published online at O’Reilly Media.

Milestone No. 4: 28 February 2021 @ 8:30 pm EST. Completed full draft of Programming the Internet of Things.

Milestone No. 5: 09 April 2021 @ 4:00 pm EST. Manuscript sent to production.

Milestone No. 6: May 2021. Final Quality Control (QC) edits and reviews.

Milestone No. 7: 10 June 2021. 1st ed complete and off to the printer!

Milestone No. 8: Summer 2021. Available in print and e-book (see links above).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: