Some tools used for Pebble firmware.
Python Shell
Pull request Compare This branch is 788 commits ahead, 1 commit behind xndcn:master.
Latest commit b3b8bb9 Jan 27, 2017 @MarSoft fontgen: better descr
Failed to load latest commit information.
libpatcher Fixed binary used in tests May 24, 2016
libpebble adapted stm32_crc for py3 Jul 1, 2015
.gitignore .gitignore: ignore vim's swap files Apr 14, 2014 Added reference script for copying localization from v2.9 fw to v3.0 Jun 29, 2015
LICENSE Updated README, added license (GPL2) Jul 29, 2014 Updated README, added license (GPL2) Jul 29, 2014 typo fix in calculateCrc Nov 15, 2013 Fixed downloading for 3.8+ firmwares Mar 30, 2016 extract_codepoints: save metadata to dirname/list.json Jan 27, 2017 findlog fix? Mar 26, 2016 Updated base address to 8004000 (which fits all v3.x fw) Dec 16, 2015 fontgen: better descr Jan 27, 2017
fonts.txt Added font info for 3.11/Aplite Apr 15, 2016 Added fontgen from pebble sdk Aug 29, 2015 Fixed ver url for Mar 30, 2016 Added img2c script to convert image files from resource format to C d… Mar 8, 2015 Fixed offsets marking Jul 25, 2016 Fixed lang printing Jan 1, 2016 packResources: default sdk path Dec 16, 2015 linting May 24, 2016 Fixed TemporaryFile calling Jun 1, 2016 prepareResourceProject: minor bugfix with symlink Nov 16, 2013 Don't update crc if resources didn't change Mar 26, 2016 showimg: allow changing base Jun 5, 2015 support not-aligned pointers Oct 2, 2014 unpackFirmware: removed py2 dep as it works with py3 as well May 31, 2016 updatefw: more helpful error msg Jul 25, 2016

Pebble Firmware Utils

Some tools used for Pebble firmware. All tools written by me are licensed by GPL2, others are property by their corresponding developers. Now include:

by SouthWolf@github

It will download the latest firmware for Pebble.

original version by xndcn@github and SouthWolf@github, improved by MarSoft@github usage: " normal.pbz [output_dir]"

It will extrack files and resources from normal.pbz Using from, thanks!

Update checksums and pack firmware package with modified resources or tintin_fw binary

Calculates CRC sum of given file

Tool to translate interface of watch to most languages. Uses data in .po format, available at

Simple variant of assembler made to ease process of patching firmware to implement missing functionality or change other stuff. This program applies patches writen in assembler-like language to tintin_fw.bin file from firmware

Uses data in custom .pbp format. Particular patches are available at

A tool which takes hexadecimal address, which is a memory address of string or function (for functions you should use odd number, i.e. actual address + 1). It will find all (or most of) references to that address in given tintin binary. It supports direct references (aligned by 4), BL and B.W references (aligned by 2).

This tool takes out relocation table for API functions from libpebble.a from SDK and converts it to IDA's IDC format. Note that resulting file must be further tweaked for your firmware.

Displays b&w image from either tintin binary (by offset) or from resource file using '#' for white and ' ' for black.

Obsolete and currently unsupported project. It prepares a Pebble app project to use for repacking resource bundle (pbpack).