https://i.imgur.com/cjNiE4d.jpgFor around USD$20 I was able to pick up a brand new Kobo Mini eReader, with the intent on turning it into
a nifty Bitcoin tool. It sports an 800x600 E-Ink display, an 800MHz processor, has WiFi and USB networking,
and runs the very hacker-friendly BusyBox Linux. The storage is claimed to be 1GB by the box, but it actually
contains a 4GB MicroSD card internally.
There's a variety of interesting things that can be done with such a low power, low cost device, but for the
moment I am focused on building a tip jar that uses a deterministic wallet to display an infinite number of
fresh addresses displayed as QR codes.
https://i.imgur.com/ajK7BDz.gif(In real life, there's a 500ms delay as the screen transitions through black under the QR code. Both frames of the animation are real photos of the QR code on the device.)So why bother having a dynamic tip jar address rather than one printed on paper? The answer, quite simply,
is privacy. It avoids transactions on the blockchain from being associated with both you, and with other
tippers. It also hides the total number of tips received, if that is an issue for the vendor. Alternatively, it
could also display a total of all the watched deterministic addresses. The only limit is screen space.
Currently the system uses a very large set of pre-rendered Bitcoin QR codes, and simply rotates through
them as a preset interval (currently 5 minutes), and goes into hibernation in-between. I intend to replace
this with a better Python script that will render them on the fly given an Armory seed. The device only has
knowledge of the public keys, so there's absolutely no danger of tips being stolen if the device is.
I've found that it also works quite admirably when pulling data from an external data source. Displaying
bitcoincharts:
https://i.imgur.com/HOgpt0k.jpgDisplaying mining data from bfgminer's API on another host:
https://i.imgur.com/HlpDwrt.jpgThe device internally is very suited to it's new task. MicroSD cards can be switched at will to provide different
software or to replace a damaged install. The entire operating system is stored on the MicroSD card, meaning
it is almost impossible to brick.
https://i.imgur.com/O7XtaMb.jpgThere's also an unpopulated serial header, but I've not needed to try that yet.
I'm not sure how well the battery will last under any of the demonstrated conditions, but I've only used 13%
or so in hours of hacking with the WiFi permanently enabled (normally it would be only on intermittently). The
chief feature of using an E-Ink display is that no power is consumed when idle, only when actively
redrawing the display.
None of my code is particularly presentable at the moment, but it's incredibly easy to hack something like this
together if you've some bash scripting experience and a few hours of spare time. There is
wiki with some
information on the internal daemons and behavior available too.