Hello Internet!

We’re thrilled to be launching Pebble’s engineering blog. Pebble’s engineering team works on some really cool hardware and software, and this blog will expose and explain some of the projects we’ve shipped recently. We will be sharing some of the technical challenges we’ve faced, and the tips, techniques, and solutions that have been employed, as we strive in our goal of building a fantastic platform for Pebble’s users, developers, and community at large.

We’ve created mechanisms to develop and test software rapidly, with a distributed team, across multiple software stacks, and solved some really interesting problems. We’re excited to share some of what we’ve learnt, how we work at Pebble, and how some of what we create operates under the hood.

Today’s Pebble smartwatches have about 1/8000th the RAM, 1/100th the CPU frequency, and 1/10th the battery capacity of cell phones1. Hence, Pebble’s software engineering team is used to operating in highly constrained environments. We write embedded code for multiple hardware platforms that must be size and power efficient while providing a feature-rich user experience and SDK; develop mobile applications that operate across generations of mobile phone hardware while stretching the limits of the publicly available APIs of today’s mobile operating systems; provide reliable and scalable backend services for web applications such as timeline, and the engine behind our iOS SMS response system; and develop our comprehensive suite of developer tools, including the innovative online development environment, CloudPebble; all with a software team that is miniscule compared with our competition.

In addition to the huge volume of features we rapidly add to Pebble’s products, our aggressive release cadence, and the continuous growth of Pebble’s developer experience, we have also built many novel internal tools and capabilities, some of which we will describe in future blog posts.

We hope that these blog posts will give you insight into some of the interesting problems solved at Pebble, and also provide inspiration as you engineer your own dreams.

  1. Pebble Time: RAM = 256KB, CPU = CortexM4 @ 100MHz, Battery = 150mAh; iPhone6S: RAM = 2GB, CPU = Dual-core ARMv8A ISA @ 1.85GHz, Battery = 1715mAh