One thing I didn’t mention in the article: we built a full emulated version of the watch at Pebble with QEMU and used it for the majority of our automated testing. We even allowed 3rd party devs to build apps against it.
Today, I think we’d be using Renode instead. By focusing narrowly on embedded, Renode built a simpler system that is very simple to extend.