---
title: "Emulator and simulator"
canonical_url: https://developer.repebble.com/pebbleos/docs/development/emulation/
last_updated: 2026-10-21
sdk_version: 4.33.1
---
# Emulator and simulator

Source: https://developer.repebble.com/pebbleos/docs/development/emulation/

PebbleOS runs on a desktop in two ways, without a watch:

| 

 | 

[Emulator](https://developer.repebble.com/pebbleos/docs/development/emulation/emulator.md)

 | 

[Native simulator](https://developer.repebble.com/pebbleos/docs/development/emulation/native_simulator.md)

 |
| --- | --- | --- |
| 

Runs

 | 

The ARM firmware, in QEMU

 | 

The firmware compiled for the host

 |
| 

Boards

 | 

`qemu_flint`, `qemu_emery`, `qemu_gabbro`

 | 

`native_flint`, `native_emery`, `native_gabbro`

 |
| 

Platforms

 | 

Flint, Emery, Gabbro

 | 

Flint, Emery, Gabbro

 |
| 

Third-party apps

 | 

Yes: `.pbw` files install and run

 | 

Yes, with `CONFIG_SAMSA`, which interprets their ARM code

 |
| 

Speed

 | 

Boots as on a watch

 | 

Builds and boots much faster

 |
| 

Debugging

 | 

GDB, through QEMU

 | 

The host’s debugger, sanitizers and profilers

 |
| 

Integration tests

 | 

Yes

 | 

Yes

 |

Both reproduce a platform’s display, buttons and touch, and neither exercises the real hardware: use a watch for drivers, power and radio behaviour.

Use the emulator to check the firmware and apps as they run on a watch for each platform, and for anything ARM-specific. Use the native simulator for fast iterations on the firmware’s logic and UI, and to debug them with host tools.

Generated from PebbleOS [3a7b71785](https://github.com/coredevices/pebbleos/commit/3a7b71785fd439666c4a8bc116f561140e8dec01). This page is maintained in the pebbleos repository: [docs/development/emulation/index.md](https://github.com/coredevices/pebbleos/blob/3a7b71785fd439666c4a8bc116f561140e8dec01/docs/development/emulation/index.md).
