🌸Spring 2026 Pebble App Contest — View the entries!

Changelog

Version 1.0.52026-09-30T00:13:12.887

Map Shift

Version 1.0.42026-09-29T23:46:20.526

Improved graphics for text and added globe zoom option.

Version 1.0.32026-09-29T21:06:16.465

Larger Maps

Version 1.0.22026-09-29T18:08:04.597

Includes option to add marker for your location.

Version 1.0.12026-09-29T16:34:32.245

Other versions that worked on cloudpebble and crashed on the watch came from the following sources:
1)Floating Point Hardware Exception-Pebble watches run on an ARM Cortex-M microcontroller. To conserve battery and simplify task switching, Pebble OS disables the Floating-Point Unit (FPU) coprocessor for user watchface apps.
When your code included standard <math.h> functions (sinf, cosf, asinf, sqrtf) or float operations, the GCC compiler generated hardware VFP (Vector Floating Point) machine instructions. Because the FPU was physically powered down, the ARM core immediately raised an Undefined Instruction / Usage Fault (App fault! PC: 0x...), crashing the app before it could even finish drawing.
The fix: We replaced <math.h> with Pebble’s built-in integer lookup tables (sin_lookup, cos_lookup) and fixed-point integer math.
2)The Emery 4.3 Drawing Stub Bug - The original Step 1 crash occurred because graphics_context_set_stroke_width() has broken stubs or memory traps on the unreleased Emery firmware. Removing that in favor of standard 1-pixel scanline batching resolved that issue.
3)Memory/Stack Safety - Precomputing both the 2:1 map and the 50×50 sphere quadrant projection in Python and embedding them as const placed the assets directly into Flash ROM, using 0 bytes of precious watch RAM.