Bitcoin Forum

Bitcoin => Project Development => Topic started by: Nautilina on September 07, 2013, 07:33:25 AM



Title: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: Nautilina on September 07, 2013, 07:33:25 AM
https://i.imgur.com/cjNiE4d.jpg

For 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 (http://bitcoincharts.com/bitcoin/):

https://i.imgur.com/HOgpt0k.jpg

Displaying mining data from bfgminer's API on another host:

https://i.imgur.com/HlpDwrt.jpg


The 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.jpg


There'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 (http://wiki.mobileread.com/wiki/Kobo_Touch_Hacking) with some
information on the internal daemons and behavior available too.


Title: Re: Using the Kobo Mini as a BIP0032 Bitcoin tip jar.
Post by: phantastisch on September 07, 2013, 10:27:01 AM
I'm very interested in this. Where did you get your Kobo mini?


Title: Re: Using the Kobo Mini as a BIP0032 Bitcoin tip jar.
Post by: Mitchell on September 07, 2013, 10:41:22 AM
That sounds great. Would love to have that thing and your source code. I would hang it on the wall and let it display bitcoin information.
Damn those things cost more then 80 bucks over here. Dangit.


Title: Re: Using the Kobo Mini as a BIP0032 Bitcoin tip jar.
Post by: Nautilina on September 07, 2013, 10:51:48 AM
Where did you get your Kobo mini?

I bought mine at a local chain store which was attempting to move their inventory.

They seem to go on sale quite regularly (http://blog.the-ebook-reader.com/2013/06/20/kobo-mini-on-sale-for-39-in-the-us-and-canada/) in the US and UK; I imagine they'd be available somewhere online at a comparable price if you search around.  


Damn those things cost more then 80 bucks over here. Dangit.

If you aren't able to find one, there's a number of different hackable Kobo readers that all run extremely similar software internally. Many of the Kindle models are usable in a similar manner and have quite active communities, though I've no firsthand experience with them.

That sounds great. Would love to have that thing and your source code.

There's actually not a lot of source code to show just yet. The default loader is entirely based on bash scripts, to which I've just been extending and adding my own features to. It does run Python quite well, I've just not quite been able to master writing to the screen in a sensible fashion with it yet.


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: Mitchell on September 07, 2013, 11:04:29 AM
Well I checked and I did found the one you used. But somehow they sell it in Europe for more then 70-80 bucks. Would buy it for 20 bucks, no problem. But 70-80 bucks for something that I will hang on the wall. No thanks :P


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: Moebius327 on September 07, 2013, 02:49:09 PM
This is great. Battery life is about 30 days of reading with my kobo mini.


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: brom on September 07, 2013, 06:07:20 PM
Would love to see a tutorial or source code in the near future.  Also, that is quite intriguing you can use one along with the bfgminer API.  I may look into implementing one with my raspberry pi.


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: super3 on September 07, 2013, 06:27:02 PM
Would love to see a tutorial or source code in the near future.  Also, that is quite intriguing you can use one along with the bfgminer API.  I may look into implementing one with my raspberry pi.
Agreed. This might be a better solution than my raspberry pi with screen.

Would also love to see some tutorials, or at least some documentation on how you did this. Anyone know where I can get a cheap one? I'd love to dev and play around with it.


Title: Re: Using the Kobo Mini as a BIP0032 Bitcoin tip jar.
Post by: monbux on September 07, 2013, 06:31:27 PM
I'm very interested in this. Where did you get your Kobo mini?

Yeh, how did you get this for $20!? o.O


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: zwanzig20 on September 07, 2013, 06:37:32 PM
Nice idea! My question was indeed why not printed paper but you answered that nicely.


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: kiko on September 07, 2013, 08:56:13 PM
Great Idea.

WHSmith has these in the UK for 29GBP.

I own one, It's the lightest reading device out there plus it fits in a jeans back pocket unlike a Kindle.


Title: Re: Using the Kobo Mini as a BIP0032 Bitcoin tip jar.
Post by: Nautilina on September 08, 2013, 12:53:55 AM
That sounds great. Would love to have that thing and your source code.

Would love to see a tutorial or source code in the near future.

Which function would you be most interested in replicating?

I'm a little bogged down with other projects at the moment, but I do intend to clean it up and publish the source on Github at some point.

I may look into implementing one with my raspberry pi.

If you're willing to have it tethered by USB, it's even easier. The device can present as an interface for direct writing, saving having to deal with power management and WiFi connectivity.


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: will1982 on September 08, 2013, 02:52:32 AM
This is extremely cool, I'd love to see your code...


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: bobsag3 on September 08, 2013, 07:27:55 AM
for 20 bucks I would love one just for bitcoincharts.com data or maybe private mining data.. who knows!


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: b!z on September 08, 2013, 07:35:16 AM
Awesome! does it have a black and white web browser?


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: Nautilina on September 08, 2013, 08:43:25 AM
Awesome! does it have a black and white web browser?

There is one hidden in the settings on an unmodified device, but it's not great to use on such a slow display. Certainly usable if you were stuck and desperate to check your email though.


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: super3 on September 08, 2013, 01:24:11 PM
Can anyone find where you can get them for ~$20?


Title: Re: Using the Kobo Mini eReader as a dynamic (BIP0032) Bitcoin tip jar
Post by: virtualmaster on September 09, 2013, 11:06:47 AM
Sounds fantastic.
I like deterministic wallets.