{"id":7222,"date":"2026-11-03T18:59:50","date_gmt":"2026-11-03T17:59:50","guid":{"rendered":"https:\/\/www.pschatzmann.ch\/home\/?p=7222"},"modified":"2026-11-03T19:03:46","modified_gmt":"2026-11-03T18:03:46","slug":"the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build","status":"publish","type":"post","link":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/","title":{"rendered":"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build"},"content":{"rendered":"<h1 id=\"the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\"><em style=\"font-size: 18px;\">&#8220;Time is what keeps everything from happening at once.&#8221;<\/em><span style=\"font-size: 18px;\"> \u2014 Ray Cummings<\/span><\/h1>\n<p>Every microcontroller has a heartbeat. A quartz crystal vibrates millions of times per second, a counter ticks upward, and the board always knows how long it has been since it woke up. But ask a freshly powered ESP32 <em>what time it is<\/em>, and it has no idea. It knows <em>duration<\/em>, not <em>moment<\/em>. It can count, but it can&#8217;t tell you whether it&#8217;s Tuesday morning or the middle of a winter night.<\/p>\n<p>Some of the most interesting embedded projects live in that gap between counting and <em>knowing<\/em>. Once a tiny device knows the real time, it stops being a gadget and starts taking part in the world. It can wake with the sunrise, log a measurement that a scientist can trust, or play its note at the same instant as fifty other devices across a room.<\/p>\n<p>This post is about closing that gap with two small libraries:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/github.com\/pschatzmann\/TinyNTP\">TinyNTP<\/a><\/strong> brings internet time to microcontrollers. It can also turn a microcontroller into a time server for its own network.<\/li>\n<li><strong><a href=\"https:\/\/github.com\/pschatzmann\/TinyCTS\">TinyCTS<\/a><\/strong> does the same over Bluetooth, using the Current Time Service that phones, watches and computers already speak.<\/li>\n<\/ul>\n<p>Both libraries share the same idea, but the time travels two different ways: one over the network and one over Bluetooth. As we&#8217;ll see, they&#8217;re even more powerful together.<\/p>\n<hr \/>\n<h2 id=\"why-time-matters-more-than-you-think\">Why time matters more than you think<\/h2>\n<p>It&#8217;s easy to treat the clock as a convenience, something to show on a display. But time is the hidden glue of almost every meaningful system:<\/p>\n<ul>\n<li><strong>Data without timestamps is just noise.<\/strong> A temperature reading of 21.4 \u00b0C means nothing until you know <em>when<\/em> it was taken.<\/li>\n<li><strong>Coordination needs a shared &#8220;now&#8221;.<\/strong> Two devices can only act together if they agree on the current moment.<\/li>\n<li><strong>Schedules are promises.<\/strong> Feed the fish at 8:00. Close the greenhouse vents at dusk. Ring the school bell at 7:55. Each one is a promise a device makes to a human.<\/li>\n<li><strong>Trust depends on time.<\/strong> Certificates expire, access windows open and close, and a message is only believable if you know it is fresh.<\/li>\n<\/ul>\n<p>A microcontroller that knows the time can keep its promises. That&#8217;s the quiet superpower these libraries give it.<\/p>\n<hr \/>\n<h2 id=\"the-two-roads-to-now\">The two roads to &#8220;now&#8221;<\/h2>\n<h3 id=\"road-one-the-network\">Road one: the network<\/h3>\n<p>The Network Time Protocol is one of the oldest protocols still running the internet, and one of the most elegant. A device asks a server what time it is. The server stamps the request when it arrives and again when it answers. From those few timestamps, the device works out both the time and how long the message took to travel. The result is accurate to a few milliseconds.<\/p>\n<p>TinyNTP brings this to the smallest boards with WiFi, Ethernet or a cellular modem. It also handles time zones and summer time, so a device can show local time without carrying a heavy time zone database. And it works both ways: a microcontroller can <em>serve<\/em> time to its whole network as well as receive it.<\/p>\n<h3 id=\"road-two-the-air-around-you\">Road two: the air around you<\/h3>\n<p>What about the places the network doesn&#8217;t reach? A beehive at the edge of a field, a sensor inside a bridge pillar, a wearable that never sees WiFi. Almost everyone already carries a time source: <strong>their phone<\/strong>. Phones, watches and computers can share the current time over Bluetooth Low Energy, and the time zone and daylight saving offset come with it.<\/p>\n<p>TinyCTS lets a microcontroller pick up that time from whatever trusted device is nearby. No router, no network password, just being close by. It can also serve the time itself, so a board can act as the clock for every Bluetooth device around it.<\/p>\n<hr \/>\n<h2 id=\"innovative-scenarios-what-becomes-possible\">Innovative scenarios: what becomes possible<\/h2>\n<p>Here&#8217;s where it gets fun. These scenarios are starting points, meant to spark ideas of your own.<\/p>\n<h3 id=\"1-the-garden-that-remembers-the-sunrise\">1. The garden that remembers the sunrise<\/h3>\n<p>An off-grid garden controller runs on a small solar panel. There&#8217;s no WiFi at the allotment and there never will be. Its backup clock drifts a little every week.<\/p>\n<p><strong>The idea:<\/strong> every time the gardener walks through the gate, the phone in their pocket quietly corrects the controller&#8217;s clock and time zone over Bluetooth. When summer time starts in March, the phone already knows, and so does the garden. From the date, the controller works out sunrise and waters at dawn, when less water evaporates.<\/p>\n<p>The gardener never configures anything. They just visit their plants.<\/p>\n<h3 id=\"2-the-time-bridge-between-two-worlds\">2. The time bridge between two worlds<\/h3>\n<p>Many small devices, such as sensor tags, wearables and BLE-only boards, have Bluetooth but no WiFi. Most homes have WiFi time but no way to pass it to those devices.<\/p>\n<p><strong>The idea:<\/strong> one inexpensive board becomes a <em>translator of time<\/em>. It gets accurate time from the internet with TinyNTP and broadcasts it over Bluetooth with TinyCTS. Every Bluetooth device in the house can now ask what time it is and get an internet-accurate answer without ever joining the network. The two libraries were designed for this combination, so the bridge is tiny.<\/p>\n<h3 id=\"3-an-atomic-clock-in-a-matchbox\">3. An atomic clock in a matchbox<\/h3>\n<p>Some networks are cut off from the internet on purpose: a factory floor, a research vessel, a festival site, a school lab, a disaster-relief camp. They still need a shared clock so that log files line up, cameras agree and controllers switch in step.<\/p>\n<p><strong>The idea:<\/strong> a microcontroller with a GPS receiver becomes the network&#8217;s own time server. GPS satellites carry time from atomic clocks on board, and TinyNTP hands that time to every device on the local network. Because GPS is a true reference clock, this little box ranks in the same class as the big national time servers.<\/p>\n<p>A board that costs a few euros gives an isolated network better time than many offices have.<\/p>\n<h3 id=\"4-the-synchronized-swarm-light-sound-and-art\">4. The synchronized swarm: light, sound and art<\/h3>\n<p>Imagine sixty small battery-powered lanterns hung along a forest path for a night-time art installation. The artist wants a wave of light to roll down the path, each lantern glowing a fraction of a second after the one before it.<\/p>\n<p><strong>The idea:<\/strong> don&#8217;t shout &#8220;go!&#8221; over the radio, because radio delays are unpredictable. Give every lantern the <em>same clock<\/em> from a local time server, and give each one its own moment in a shared schedule. Because every lantern agrees on the current time to within a few milliseconds, the wave comes from shared time rather than shared messages.<\/p>\n<p>This pattern, <strong>coordinating by schedule instead of by command<\/strong>, scales beautifully. It works for distributed speakers playing a canon, for kinetic sculptures, and for a classroom of robots dancing together.<\/p>\n<h3 id=\"5-the-field-scientists-silent-network\">5. The field scientist&#8217;s silent network<\/h3>\n<p>A biologist places forty audio recorders in a rainforest to capture bird song at dawn. Later, she wants to work out where each call came from. That only works if every recorder&#8217;s timestamps agree to the millisecond, and there&#8217;s no network for kilometers.<\/p>\n<p><strong>The idea:<\/strong> a slow walk through the forest becomes a synchronization sweep. As she passes each recorder, her handheld, perhaps itself disciplined by GPS, sets the recorder&#8217;s clock over Bluetooth. Only paired, trusted devices are allowed to make that change. Weeks later, the recordings line up with confidence.<\/p>\n<h3 id=\"6-the-travelers-clock-that-just-knows\">6. The traveler&#8217;s clock that just knows<\/h3>\n<p>Picture a bedside clock for people who travel, with no buttons, no menus and no time zone screen.<\/p>\n<p><strong>The idea:<\/strong> when the clock is plugged in at a hotel, it asks the traveler&#8217;s phone for the time over Bluetooth. The time zone and summer time come with the answer, so the clock shows the correct local time right away, wherever it wakes up. Fly from Zurich to Tokyo, plug it in, and it&#8217;s already right.<\/p>\n<h3 id=\"7-trusted-time-for-shared-spaces\">7. Trusted time for shared spaces<\/h3>\n<p>In a makerspace or a museum, a central clock might drive door schedules, exhibit timers or opening hours. Staff need to be able to correct it. A curious visitor with a laptop must not be able to switch the museum to &#8220;closed&#8221;.<\/p>\n<p><strong>The idea:<\/strong> everyone can read the time, but only people who know a shared secret can change it. TinyNTP authenticates every change request without ever sending the secret over the network, and a recorded request can&#8217;t be replayed later. Shared time that you can also trust.<\/p>\n<h3 id=\"8-the-classroom-time-lab\">8. The classroom time lab<\/h3>\n<p>Time is a wonderful teaching subject because it touches physics, networking, geography and history all at once.<\/p>\n<p><strong>The idea:<\/strong> students build a small time network. One board serves the time, others receive it, a phone provides Bluetooth time, and a GPS module brings in satellite time. Then they ask questions. How far apart are the clocks? How much does a board&#8217;s internal clock drift in an hour? What happens to accuracy when the WiFi is busy? Why does Arizona skip summer time? Both libraries also run on ordinary computers, so students can explore the same protocols from their laptops.<\/p>\n<hr \/>\n<h2 id=\"layers-of-time-building-a-resilient-clock\">Layers of time: building a resilient clock<\/h2>\n<p>The most robust devices don&#8217;t rely on a single source of truth. They layer several:<\/p>\n<table>\n<thead>\n<tr>\n<th>Source<\/th>\n<th>Strength<\/th>\n<th>Weakness<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Internet time<\/strong> (TinyNTP)<\/td>\n<td>Very accurate and automatic<\/td>\n<td>Needs a network<\/td>\n<\/tr>\n<tr>\n<td><strong>Bluetooth time<\/strong> (TinyCTS)<\/td>\n<td>Works wherever a phone is; brings the time zone<\/td>\n<td>Needs a device nearby<\/td>\n<\/tr>\n<tr>\n<td><strong>GPS<\/strong><\/td>\n<td>Reference-grade and global<\/td>\n<td>Needs a view of the sky and more power<\/td>\n<\/tr>\n<tr>\n<td><strong>Real-time clock chip<\/strong><\/td>\n<td>Keeps going on its own<\/td>\n<td>Drifts, and its battery runs out<\/td>\n<\/tr>\n<tr>\n<td><strong>The board&#8217;s own counter<\/strong><\/td>\n<td>Always there<\/td>\n<td>Only knows how much time has passed<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A thoughtful design uses whichever source is best right now: the network when there is WiFi, Bluetooth when a phone is near, GPS when there&#8217;s a fix, and the real-time clock in between. It can then <em>share<\/em> the best time it has with everything around it, over the network and over the air. Because both libraries share the same idea of a time source, these layers fit together naturally.<\/p>\n<hr \/>\n<h2 id=\"small-libraries-large-ideas\">Small libraries, large ideas<\/h2>\n<p>There&#8217;s something deeply satisfying about a few kilobytes of code letting a two-euro chip join a global agreement about what moment it is. That agreement reaches back through internet servers and GPS satellites to atomic clocks counting the vibrations of caesium atoms.<\/p>\n<p>Time is one thing every device, every person and every planet shares. Once your microcontroller knows it, your project can keep its promises: water at dawn, log with confidence, play in harmony, and wake up in the right time zone.<\/p>\n<p>So grab a board, pick a road (the network or the air), and give your next project a sense of <em>now<\/em>.<\/p>\n<p><strong>Learn more:<\/strong><\/p>\n<ul>\n<li>TinyNTP: <a href=\"https:\/\/github.com\/pschatzmann\/TinyNTP\">https:\/\/github.com\/pschatzmann\/TinyNTP<\/a><\/li>\n<li>TinyCTS: <a href=\"https:\/\/github.com\/pschatzmann\/TinyCTS\">https:\/\/github.com\/pschatzmann\/TinyCTS<\/a><\/li>\n<li>CTS or NTP? When to use which, and how to use both: <a href=\"https:\/\/github.com\/pschatzmann\/TinyCTS\/wiki\/CTS-or-NTP\">https:\/\/github.com\/pschatzmann\/TinyCTS\/wiki\/CTS-or-NTP<\/a><\/li>\n<\/ul>\n<p><em>What would you build if every device you made knew exactly what time it was? I&#8217;d love to hear your ideas.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Time is what keeps everything from happening at once.&#8221; \u2014 Ray Cummings Every microcontroller has a heartbeat. A quartz crystal vibrates millions of times per second, a counter ticks upward, and the board always knows how long it has been since it woke up. But ask a freshly powered ESP32 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7225,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_exactmetrics_skip_tracking":false,"footnotes":""},"categories":[20],"tags":[68],"class_list":["post-7222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","tag-time"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Quiet Heartbeat: Time, Microcontrollers and the Things We Build - Phil Schatzmann<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build - Phil Schatzmann\" \/>\n<meta property=\"og:description\" content=\"&#8220;Time is what keeps everything from happening at once.&#8221; \u2014 Ray Cummings Every microcontroller has a heartbeat. A quartz crystal vibrates millions of times per second, a counter ticks upward, and the board always knows how long it has been since it woke up. But ask a freshly powered ESP32 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/\" \/>\n<meta property=\"og:site_name\" content=\"Phil Schatzmann\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-03T17:59:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-03T18:03:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2026\/11\/time-1.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"pschatzmann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"pschatzmann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/\"},\"author\":{\"name\":\"pschatzmann\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"headline\":\"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build\",\"datePublished\":\"2026-11-03T17:59:50+00:00\",\"dateModified\":\"2026-11-03T18:03:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/\"},\"wordCount\":1818,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/time-1.jpeg\",\"keywords\":[\"Time\"],\"articleSection\":[\"Arduino\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/\",\"name\":\"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build - Phil Schatzmann\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/time-1.jpeg\",\"datePublished\":\"2026-11-03T17:59:50+00:00\",\"dateModified\":\"2026-11-03T18:03:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/time-1.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/time-1.jpeg\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/2026\\\/11\\\/03\\\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#website\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/\",\"name\":\"Phil Schatzmann Consulting\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/home\\\/#\\\/schema\\\/person\\\/73a53638a4e34e8373405fd737dac9b1\",\"name\":\"pschatzmann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"url\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"contentUrl\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\",\"width\":305,\"height\":305,\"caption\":\"pschatzmann\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.pschatzmann.ch\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/pschatzmann.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build - Phil Schatzmann","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/","og_locale":"en_US","og_type":"article","og_title":"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build - Phil Schatzmann","og_description":"&#8220;Time is what keeps everything from happening at once.&#8221; \u2014 Ray Cummings Every microcontroller has a heartbeat. A quartz crystal vibrates millions of times per second, a counter ticks upward, and the board always knows how long it has been since it woke up. But ask a freshly powered ESP32 [&hellip;]","og_url":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/","og_site_name":"Phil Schatzmann","article_published_time":"2026-11-03T17:59:50+00:00","article_modified_time":"2026-11-03T18:03:46+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2026\/11\/time-1.jpeg","type":"image\/jpeg"}],"author":"pschatzmann","twitter_card":"summary_large_image","twitter_misc":{"Written by":"pschatzmann","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#article","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/"},"author":{"name":"pschatzmann","@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"headline":"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build","datePublished":"2026-11-03T17:59:50+00:00","dateModified":"2026-11-03T18:03:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/"},"wordCount":1818,"commentCount":0,"publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2026\/11\/time-1.jpeg","keywords":["Time"],"articleSection":["Arduino"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/","url":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/","name":"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build - Phil Schatzmann","isPartOf":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#primaryimage"},"image":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#primaryimage"},"thumbnailUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2026\/11\/time-1.jpeg","datePublished":"2026-11-03T17:59:50+00:00","dateModified":"2026-11-03T18:03:46+00:00","breadcrumb":{"@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#primaryimage","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2026\/11\/time-1.jpeg","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2026\/11\/time-1.jpeg","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.pschatzmann.ch\/home\/2026\/11\/03\/the-quiet-heartbeat-time-microcontrollers-and-the-things-we-build\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pschatzmann.ch\/home\/"},{"@type":"ListItem","position":2,"name":"The Quiet Heartbeat: Time, Microcontrollers and the Things We Build"}]},{"@type":"WebSite","@id":"https:\/\/www.pschatzmann.ch\/home\/#website","url":"https:\/\/www.pschatzmann.ch\/home\/","name":"Phil Schatzmann Consulting","description":"","publisher":{"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pschatzmann.ch\/home\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.pschatzmann.ch\/home\/#\/schema\/person\/73a53638a4e34e8373405fd737dac9b1","name":"pschatzmann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","url":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","contentUrl":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png","width":305,"height":305,"caption":"pschatzmann"},"logo":{"@id":"https:\/\/www.pschatzmann.ch\/wp-content\/uploads\/2022\/08\/pschatzmann.png"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/7222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/comments?post=7222"}],"version-history":[{"count":1,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/7222\/revisions"}],"predecessor-version":[{"id":7224,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/posts\/7222\/revisions\/7224"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media\/7225"}],"wp:attachment":[{"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/media?parent=7222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/categories?post=7222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pschatzmann.ch\/home\/wp-json\/wp\/v2\/tags?post=7222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}