Building firmware#
Before building, make sure you’ve configured ./waf. Then, run the following:
./waf build
Loading firmware with a firmware development kit#
Before attempting to flash, check the documentation for each board on how to prepare and connect your watch for programming.
You can flash the built firmware by running:
./pbl flash
In some cases, you may have to specify the --tty $SERIAL_ADAPTER option where $SERIAL_ADAPTER is the path for your serial adapter, e.g. /dev/ttyACM0, /dev/tty.usbmodem1102, etc.
If flashing for the first time, you will also need to flash resources.
Some boards support direct resource programming by passing the --resources option.
The alternative is to flash while the firmware is running via the serial port using:
./pbl image_resources --tty $SERIAL_ADAPTER
When both firmware and resources are flashed, you should observe the watch booting into the main application. You can also see the logs by opening the console:
./pbl console --tty $SERIAL_ADAPTER
Try sending help to get a list of available console commands.
Loading firmware via Bluetooth#
If you don’t have a firmware development kit, you may bundle a .pbz file for sideloading
onto your sealed watch:
./waf bundle
The resulting .pbz file will be located in the build/ directory. Transfer this file
to the device paired to your watch, then, in the Pebble app, enable Settings -> Show debug options.
Go back to the Devices tab, tap your watch, then Firmware Update Debug -> Sideload FW, and select the .pbz file.