Skip to content
GNU/Linux kernel driver and libusb app for a Pearl's USB LED fan
Branch: master
Clone or download
Latest commit fb52a9f Jan 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc misc: Update Nov 26, 2016
src gcc: Fix error specified bound 1 equals source length Jun 4, 2018
tests tests: Add led drawing checks Nov 21, 2016
.gitignore misc: Update Nov 26, 2016
.travis.yml tests: Add led drawing checks Nov 21, 2016
LICENSE Add LICENSE Oct 31, 2016
Makefile make: Fix missing usage of target var Jan 27, 2017 readme: Fix spelling Jan 22, 2019


Build Status License

PearlFan is a tool to draw on a PEARL's USB LED fan.



$ pacaur -S pearlfan


  • Dependencies:
$ pacman -S libusb-1.0 netpbm                         (archlinux)
$ apt-get install libusb-1.0-0-dev libnetpbm10-dev    (ubuntu)
  • Build:
$ make


pearlfan -c FILE  [-f]
pearlfan -d DIRECTORY [-f]
pearlfan -t TEXT [-f]

  -c:  Displays at most eight images with transition effects described
       in the given config FILE.
  -d:  Displays at most eight .PBM images (156x11) in DIRECTORY.
  -t:  Draws TEXT (standard ASCII table). Words are not split, only huge words.

  -f:  Enables fast-mode. Disables all others effect transitions.

  -h:  Prints this help and exits.
  -v:  Prints version info and exits.


$ ls images/

$ cat file.config
pacman.pbm  +2-2-0
mario.pbm   +1-1-6

$ pearlfan -c images/file.config    (or)
$ pearlfan -d images/             (without config file)

Configuration File


This an example of a pfan's configuration file

pacman.pbm  +2-2-0
mario.pbm   +1-1-6
circle.pbm  +0-0-0
cols.pbm    +3-3-6
full.pbm    +2-5-0


Each configuration file consists of the following:

  • line pattern: {image_basename}.pbm+{effects}
  • Whitespace (blanks and TABs) between {image_basename}.pbm and + are ignored (cf. example above)
  • The image must be in the same directory than the configuration file
  • The image must be .PBM image
  • The image size must be: width=11px, height=156px
  • {effects}: the fan provides transition effects when displaying and switching images
  • Effect's pattern: {open}-{close}-{beforeclose}
  • Open, close and beforeclose's exclusive values are described in the table below
  • The fan can display at most 8 images

Effect values

Effects/Value 0 1 2 3 4 5 6
opening right-left left-right 2-side red-carpet top-bottom bottom-top fast-mode
closing left-right right-left 2-side red-carpet top-bottom bottom-top n/a
before-closing do nothing n/a turn left-right n/a n/a n/a turn right-left
  • opening/right-left: means appearing from right to left
  • closing/right-left: means disappearing from right to left
  • fast-mode: skip the 'open' and 'before-closing' transition effects


  • Turn the project into a cross-platform lib to draw on USB LED fans
  • Rename the project
You can’t perform that action at this time.