Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
Coredump Sessions - #006: Pebble’s Code is Free: Three Former Pebble Engineers Discuss Why It's Important (PART 2/2)

#006: Pebble’s Code is Free: Three Former Pebble Engineers Discuss Why It's Important (PART 2/2)

04/15/25 • 73 min

Coredump Sessions

In today’s Coredump Session, the team reunites to unpack the behind-the-scenes lessons from their time building firmware at Pebble. This episode dives into the risks, decisions, and sheer grit behind a near-disastrous OTA update—and the ingenious hack that saved a million smartwatches. It’s a candid look at the intersection of rapid development, firmware stability, and real-world consequences.

Key Takeaways:

  • Pebble’s open approach to developer access often came at the cost of security best practices, reflecting early startup trade-offs.
  • A critical OTA update bug almost bricked Pebble devices—but the team recovered using a clever BLE-based stack hack.
  • Lack of formal security measures at the time (e.g., unsigned firmware) unintentionally enabled recovery from a serious update failure.
  • Static analysis and test automation became top priorities following the OTA scare to prevent repeat incidents.
  • The story reveals how firmware constraints (like code size and inline functions) can lead to high-stakes bugs.
  • Investing in robust release processes—including version-to-version OTA testing—proved vital.
  • Real security risks included impersonation on e-commerce platforms and potential ransom via malicious OTA compromise.
  • The importance of "hiring your hackers" was humorously noted as a de facto security strategy.

Chapters:

00:00 Episode Teasers & Welcome

01:22 Why Pebble’s Firmware Was Open (and Unsigned)

05:01 The Security Tradeoffs That Enabled Speed

11:00 The OTA Bug That Could Have Bricked Everything

15:26 Hacking Our Way Out with BLE Stack Overflow

17:47 Lessons Learned: Test Automation & Static Analysis

26:30 How Pebble Built a Developer Ecosystem

29:56 CloudPebble, Watchface Generator & Developer Tools

42:55 Backporting Pebble 3.0 to Legacy Hardware

49:02 The Bootloader Rewrite & Other Wild Optimizations

53:31 Simulators, Robot Arms & Debugging in CI56:40 Firmware Signing, Anti-Rollback & Secure Update

1:06:10 Coding in Rust? What We’d Do Differently Today

1:08:28 Where to Start with Open Source Pebble Development

⁠⁠Join the Interrupt Slack

Watch this episode on YouTube⁠⁠

Follow Memfault

Other ways to listen:

⁠⁠Apple Podcasts

iHeartRadio⁠⁠

⁠⁠Amazon Music

GoodPods

Castbox

⁠⁠

⁠⁠Visit our website

plus icon
bookmark

In today’s Coredump Session, the team reunites to unpack the behind-the-scenes lessons from their time building firmware at Pebble. This episode dives into the risks, decisions, and sheer grit behind a near-disastrous OTA update—and the ingenious hack that saved a million smartwatches. It’s a candid look at the intersection of rapid development, firmware stability, and real-world consequences.

Key Takeaways:

  • Pebble’s open approach to developer access often came at the cost of security best practices, reflecting early startup trade-offs.
  • A critical OTA update bug almost bricked Pebble devices—but the team recovered using a clever BLE-based stack hack.
  • Lack of formal security measures at the time (e.g., unsigned firmware) unintentionally enabled recovery from a serious update failure.
  • Static analysis and test automation became top priorities following the OTA scare to prevent repeat incidents.
  • The story reveals how firmware constraints (like code size and inline functions) can lead to high-stakes bugs.
  • Investing in robust release processes—including version-to-version OTA testing—proved vital.
  • Real security risks included impersonation on e-commerce platforms and potential ransom via malicious OTA compromise.
  • The importance of "hiring your hackers" was humorously noted as a de facto security strategy.

Chapters:

00:00 Episode Teasers & Welcome

01:22 Why Pebble’s Firmware Was Open (and Unsigned)

05:01 The Security Tradeoffs That Enabled Speed

11:00 The OTA Bug That Could Have Bricked Everything

15:26 Hacking Our Way Out with BLE Stack Overflow

17:47 Lessons Learned: Test Automation & Static Analysis

26:30 How Pebble Built a Developer Ecosystem

29:56 CloudPebble, Watchface Generator & Developer Tools

42:55 Backporting Pebble 3.0 to Legacy Hardware

49:02 The Bootloader Rewrite & Other Wild Optimizations

53:31 Simulators, Robot Arms & Debugging in CI56:40 Firmware Signing, Anti-Rollback & Secure Update

1:06:10 Coding in Rust? What We’d Do Differently Today

1:08:28 Where to Start with Open Source Pebble Development

⁠⁠Join the Interrupt Slack

Watch this episode on YouTube⁠⁠

Follow Memfault

Other ways to listen:

⁠⁠Apple Podcasts

iHeartRadio⁠⁠

⁠⁠Amazon Music

GoodPods

Castbox

⁠⁠

⁠⁠Visit our website

Previous Episode

undefined - COREDUMP #003: Pebble's Code is Free: Three Former Pebble Engineers Discuss Why It's Important

COREDUMP #003: Pebble's Code is Free: Three Former Pebble Engineers Discuss Why It's Important

In this episode of Coredump: Embedded Insights, the Memfault founders—François Baldassari and Chris Coleman—are joined by Brad Murray, former Pebble firmware lead, to explore the now open-sourced Pebble OS. They share war stories from the early days of embedded development, unpack why Pebble’s firmware architecture was years ahead of its time, and highlight the lessons embedded engineers can take from a real, production-grade consumer device.

Topics include:

  • Why open-sourcing Pebble OS is a big deal
  • The platform strategy behind a single codebase for multiple hardware SKUs
  • Custom file systems, app sandboxing, and crash recovery in the real world
  • The debugging hacks, performance tricks, and developer tools they wish they had built sooner

This is a rare peek behind the scenes of one of the most iconic embedded products ever shipped.

Episode Comments

Generate a badge

Get a badge for your website that links back to this episode

Select type & size
Open dropdown icon
share badge image

<a href="https://goodpods.com/podcasts/coredump-sessions-668730/006-pebbles-code-is-free-three-former-pebble-engineers-discuss-why-its-89674548"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to #006: pebble’s code is free: three former pebble engineers discuss why it's important (part 2/2) on goodpods" style="width: 225px" /> </a>

Copy