Acknowledgments

Origins

This book owes its existence to a single conversation. During a sabbatical at Google, Pete Warden invited me to work on what seemed like an impossible moonshot for TinyML: running a small speech model on a microcontroller. That collaboration on TensorFlow Lite for Microcontrollers revealed something fundamental: the constraints that govern a device with 16 KB to 256 KB of memory are the same constraints that govern an accelerator in a data center, even when the scale is entirely different. Bandwidth, latency, energy, and memory obey the same physics across both settings. That insight became the seed of this book.

The TinyML work led to an online course on HarvardX, co-taught with Laurence Moroney, that grew to over 100,000 students worldwide. Brian Plancher helped build the TinyML curriculum. Marcelo Rovai, a professor who first encountered the material through the TinyML course, went on to develop the hands-on labs and kits that accompany this book. Zach Shelby opened the Edge Impulse platform for student use. Massimo Banzi and the Arduino team, along with Eric Pan and Seeed Studio, collaborated with us in developing and providing the hardware kits that made hands-on instruction possible. Marco Zennaro brought the material to developing countries through ICTP and planted the idea that these principles deserved a proper textbook. Teaching at that scale, without one, made the need undeniable.

That need turned into a book through CS249r at Harvard University. In 2023, the semester-long class project was to write the class notes: each student group took ownership of a topic, researched it, and worked with me to develop it into a chapter. That work seeded every chapter in this book. The premise was simple: writing forces you to think deeper than reading ever does. We then opened it all on GitHub, and what began as rough class notes has been rewritten and refined with every semester since.

Reflecting that same collaborative history, a comprehensive list of all GitHub contributors follows. Contribution guidelines appear on the project GitHub page.

Vijay Janapa Reddi
Vijay Janapa Reddi

Željko Hrček
Željko Hrček

Marcelo Rovai
Marcelo Rovai

Jason Jabbour
Jason Jabbour

Kai Kleinbard
Kai Kleinbard

Ikechukwu Uchendu
Ikechukwu Uchendu

Naeem Khoshnevis
Naeem Khoshnevis

Sara Khosravi
Sara Khosravi

Douwe den Blanken
Douwe den Blanken

Didier Durand
Didier Durand

Jeffrey Ma
Jeffrey Ma

shanzehbatool
shanzehbatool

Elias
Elias

Jared Ping
Jared Ping

Itai Shapira
Itai Shapira

Maximilian Lam
Maximilian Lam

Jayson Lin
Jayson Lin

Sophia Cho
Sophia Cho

Andrea
Andrea

Alex Rodriguez
Alex Rodriguez

Korneel Van den Berghe
Korneel Van den Berghe

Nimo
Nimo

Zishen Wan
Zishen Wan

Colby Banbury
Colby Banbury

Gabriel Amazonas
Gabriel Amazonas

Mark Mazumder
Mark Mazumder

Divya Amirtharaj
Divya Amirtharaj

Srivatsan Krishnan
Srivatsan Krishnan

Abdulrahman Mahmoud
Abdulrahman Mahmoud

marin-llobet
marin-llobet

Dang Truong
Dang Truong

Haoran Qiu
Haoran Qiu

Aghyad Deeb
Aghyad Deeb

Thuong Duong
Thuong Duong

Emil Njor
Emil Njor

Jared Ni
Jared Ni

oishib
oishib

kaiM0ves
kaiM0ves

Michael Schnebly
Michael Schnebly

Aditi Raju
Aditi Raju

ELSuitorHarvard
ELSuitorHarvard

Eimhin Laverty
Eimhin Laverty

Henry Bae
Henry Bae

Jae-Won Chung
Jae-Won Chung

Yu-Shun Hsiao
Yu-Shun Hsiao

Shvetank Prakash
Shvetank Prakash

Marco Zennaro
Marco Zennaro

Arya Tschand
Arya Tschand

Andrew Bass
Andrew Bass

Pong Trairatvorakul
Pong Trairatvorakul

Eura Nofshin
Eura Nofshin

Matthew Stewart
Matthew Stewart

Emeka Ezike
Emeka Ezike

jianqingdu
jianqingdu

Jennifer Zhou
Jennifer Zhou

The Random DIY
The Random DIY

Fatima Shah
Fatima Shah

Bruno Scaglione
Bruno Scaglione

Allen-Kuang
Allen-Kuang

Tess Watt
Tess Watt

🪲 📖
Tauno Erik
Tauno Erik

gnodipac886
gnodipac886

Sercan Aygün
Sercan Aygün

TheHiddenLayer
TheHiddenLayer

Gauri Jain
Gauri Jain

Fin Amin
Fin Amin

Alex Oesterling
Alex Oesterling

Abenezer Angamo
Abenezer Angamo

Baldassarre Cesarano
Baldassarre Cesarano

Karthik Dani
Karthik Dani

Jahnic Beck
Jahnic Beck

JEON HYUNJUN(Luciano)
JEON HYUNJUN(Luciano)

Rin
Rin

Bilge Acun
Bilge Acun

Andy Cheng
Andy Cheng

Aritra Ghosh
Aritra Ghosh

अरनव शुक्ला | Arnav Shukla
अरनव शुक्ला | Arnav Shukla

abigailswallow
abigailswallow

Yang Zhou
Yang Zhou

Emmanuel Rassou
Emmanuel Rassou

Jason Yik
Jason Yik

Jessica Quaye
Jessica Quaye

Cursor Agent
Cursor Agent

happyappledog
happyappledog

Snuggs
Snuggs

Sam Wilcock
Sam Wilcock

Shreya Johri
Shreya Johri

Sonia Murthy
Sonia Murthy

Costin-Andrei Oncescu
Costin-Andrei Oncescu

formlsysbookissue
formlsysbookissue

Annie Laurie Cook
Annie Laurie Cook

Parampreet Singh
Parampreet Singh

Vijay Edupuganti
Vijay Edupuganti

Jothi Ramaswamy
Jothi Ramaswamy

Batur Arslan
Batur Arslan

Curren Iyer
Curren Iyer

Fatima Shah
Fatima Shah

Edward Jin
Edward Jin

bluebaer7
bluebaer7

yanjingl
yanjingl

a-saraf
a-saraf

songhan
songhan

jvijay
jvijay

Zishen
Zishen

Kristian Radoš
Kristian Radoš

📖

Collaborators and Colleagues

Beyond the class and GitHub community, the book’s intellectual foundations were shaped by collaborations that preceded the writing. My time at Google informed much of the systems thinking in these pages. That period began with performance modeling for the first Pixel system on chip (SoC), drawing on my background in computer architecture. A collaboration with Mark Hill on roofline-style analytical modeling for heterogeneous SoCs taught me to reason about hardware from first principles, the kind of quantitative thinking that runs through every chapter. That emphasis on analytical modeling led naturally to systematic evaluation, and systematic evaluation led to MLPerf. MLPerf involved many contributors across MLCommons, but I worked most closely with Peter Mattson, David Kanter, Carole-Jean Wu, Christine Cheng, Guenther Schmuelling, Cody Coleman, and Cliff Young. That collaboration shaped how I think about rigorous measurement of ML systems.

Boris Murmann and Song Han convinced me in the early stages that this project was worth pursuing. Throughout the writing, I sought feedback from colleagues in industry and academia alike. Practitioners at Arm, Google, Intel, Meta, Microsoft, Qualcomm, STMicroelectronics, and other organizations offered perspectives grounded in production systems, while academic reviewers at universities across Europe, Asia, and the Americas stress-tested the material against their own research and teaching. Their combined feedback sharpened every chapter. Evgeni Gousev at Qualcomm and Pete Bernard at the Edge AI Foundation supported the project’s outreach and helped build the community around it.

That feedback loop extended to classrooms around the world, where instructors put the material to the test when it was still rough. Sophia Shao at UC Berkeley, Xiaofan (Fred) Jiang at Columbia, Tushar Krishna and Divya Mahajan at Georgia Tech, and Wenkai Guan at the University of Minnesota Morris were among the first, and instructors at IIT Bombay, NUST Pakistan, De La Salle University in the Philippines, and universities across Europe, Latin America, and Africa have since adopted the book for their own courses. Their willingness to teach from an unfinished textbook provided invaluable feedback and confirmed that the need for this material was not limited to any one institution or any one country.

Students and Contributors

My students in the Edge Computing Lab at Harvard shaped this book in ways I cannot fully trace. Some did foundational work that helped establish TinyML as a field; their research and the ideas that emerged from years of collaboration informed the book’s technical content. This cohort helped set the field in motion and then helped me write about it: Andy Cheng, Arya Tschand, Brian Plancher, Colby Banbury, Elizabeth Suitor, Emma Chen, Ikechukwu Uchendu, Jason Jabbour, Jason Yik, Jeffrey Ma, Jessica Quaye, Mark Mazumder, Matthew Stewart, Maximilian Lam, Radhika Ghosal, Shvetank Prakash, Srivatsan Krishnan, Yu-Shun Hsiao, and Zishen Wan. Kai Kleinbard, then at the Harvard Extension School, built the online generative AI SocratiQ tutor bot. Naeem Khoshnevis, from the Harvard Kempner Institute, established essential infrastructure including GitHub Actions and documentation standards. Željko Hrček produced the TikZ diagrams and contributed to the PDF layout, page composition, and final visual formatting of the book.

A textbook that distills principles from an active research field also owes a debt to the researchers whose work it builds on. The open-source community shaped this book in ways that no single author could. Dozens of contributors caught errors, improved explanations, filed issues, and submitted pull requests. Some fixed a single typo; others rewrote entire sections. The book improved because people who owed it nothing chose to make it better. I am grateful to every one of them.

Support

This work also depended on support from the Harvard Data Science Initiative, Harvard Extension School, and the National Science Foundation; from the Edge AI Foundation and ICTP for educational outreach and scholarships; and from Arduino, Edge Impulse, Google, and Seeed Studio for hardware, tooling, and infrastructure that enabled the practical labs.

At MIT Press, Susan Hartman believed in this project and guided it from an open-source experiment to a published textbook. Her support, editorial judgment, and friendship made this book real in a way that GitHub alone could not. I am equally grateful to MIT Press for agreeing to keep this book available as open access. A textbook about a discipline shaped by the open-source community should be accessible to everyone in it. That MIT Press shared this conviction made all the difference.

Finally, I thank my wife Kari and my daughters Nora and Maya. This book was written in the hours that belonged to them: late nights that started at ten and ended at two or three in the morning, weekends that disappeared into revisions, years of mornings when I was present but not quite there. What kept me going, aside from stubbornness, was the open-source community. Every GitHub star was a signal that someone out there cared, that someone was learning, that the work mattered. The cost was real, and they paid it with patience I did not always deserve.

Back to top