Skip to content

Pebble smartwatch app using Pulse-Width-Modulation and Framebuffer tricks to render grayscale PNGs to Pebble E-Paper Black and White display.

License

Notifications You must be signed in to change notification settings

mhungerford/pebble-truegray-png

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pebble-truegray-png

Pebble smartwatch app using Pulse-Width-Modulation and Framebuffer tricks to render grayscale PNGs to Pebble E-Paper Black and White display.

(!Notice! : Uses Pebble SDK 2.0 from developer.getpebble.com/2 )

Pebble True Gray PNG Viewer

The Pebble Smartwatch display is a low-power E-Paper display, like E-Ink, that can only display black or white for each pixel. By turning pixels on and off quickly a third color, gray, can be created.

PNG support

Includes Grayscale support for 1, 2, 4 and 8 bit Currently we only can support 1 and 2 bit for size And must be created without compression (not enough ram to decompress).

True Gray using Phasing and Pulse-Width-Modulation

By turning pixels on and off very fast, the apparent average makes the pixel look gray. Unfortunately the effect can be seen on a large scale as screen flicker. By alternating consecutive pixels to opposite states ( x=0 off, x=1 on ) the effect can be minimized. Pulse width modulation is handled by switching state each pass, but anything more than 50% cycle ( on->off->on->off) is noticeable, so only 1 shade of gray works.

Converting images using imagemagick (graphicsmagick)

convert image_8bit.bmp -type Grayscale -colorspace Gray -depth 2 -define png:compression-level=0 image_2bit_nocompress.png

convert image_2bit.png -type Grayscale -colorspace Gray -depth 2 -define png:compression-level=0 image_2bit_nocompress.png

Polishing images using the Gimp

Under Image->Mode->Grayscale Under Colors->Posterize Choose 3 levels Export to PNG with compression=0 Still need to convert using imagemagic for 2-bit depth

To improve image before posterize, use Colors->Brightness_&_Contrast and slide contrast until image is closer to 3 colors, using brightness slider to get more favorable results.

About

Pebble smartwatch app using Pulse-Width-Modulation and Framebuffer tricks to render grayscale PNGs to Pebble E-Paper Black and White display.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages