TLDR; Let your smartphone mine cryptocurrencies
I like money. Money is even better if you don’t have to work for it. So I set up my smartphone as a zcash node. Zcash is similar to bitcoins: You exchange computing power for virtual money.
This post is twofold: First the hardware modification to keep the CPU cool, second a rough sketch of the software.
Hardware
I’m using my old phone. This is a LG G3 D855. The used CPU is a quad core with 4 x 2.5GHz Qualcomm MSM8974AC Snapdragon 801.
Unfortunately, LG messed up. Here is a picture of the CPU:
You can see that the CPU is recessed a bit. There is a corresponding recession on the phone’s display side. But there shouldn’t be a recession, it should be slightly elevated to contact the CPU!
The resulting gap makes the CPU overheat in seconds. It’s essentially throttled down all the time. The solution is to connect the CPU thermally to the case. I used a flexible silicone thermal pad for this. You could also use a copper shim. I advise you to not use thermal paste. This will get smeared onto the PCB will induce shorts and it will break.
Here is a picture:
The display side is to the right. The thermal pad is white and next to the “207.0”.
After the modification the CPU won’t throttle as fast as before. You can get continuous power if you keep the phone in a cold place.
Software
You need the following:
- custom ROM with root -> AICP Nougat
- custom Kernel with thermal governor -> CrazySuperKernel
- Linux deploy with common Linux distribution -> gentoo
- zcash miner -> https://github.com/kost/nheqminer
Do a clean install of the ROM. It’s important to install the least amount of applications possible to preserve RAM. You can use ‘procrank’ to investigate who’s using all the memory. My base System is using 600MB of RAM.
The custom kernel is used to change the CPU, hotplug and thermal governor. I’m using ondemand as CPU governor, the “bricked hotplug” by faux123 and “Intelli thermal v2” as thermal governor.
I won’t state the whole linux deploy installation here. Suffice to say that it gives you a chroot with your favourite distributions. I’m using f2fs on a separate Sdcard.
I only found one zcash miner who isn’t dependend on x86 hardware or GPUs. Installing this one was easy.
This is the miner’s output:
[09:20:11][0xb68e6450] stratum | Connecting to stratum server zec.secret-server.coml:7007 [09:20:11][0xb68e6450] stratum | Connected! [09:20:11][0xb68e6450] stratum | Subscribed to stratum server [09:20:11][0xb68e6450] miner | Extranonce is 170840ba [09:20:11][0xb68e6450] stratum | Target set to 003ffffffffffffffffffffffffffffffffffffffffffffffffffffffff5dac0 [09:20:11][0xb68e6450] stratum | Received new job #125b [09:20:11][0xb68e6450] stratum | Authorized worker secret [09:20:11][0xb68e6450] stratum | Received new job #125b [09:20:11][0xb6f96000] Speed [300 sec]: 0.343333 H/s, 0.703333 Sol/s [09:20:21][0xb6f96000] Speed [300 sec]: 0.333333 H/s, 0.67 Sol/s [09:20:31][0xb6f96000] Speed [300 sec]: 0.333333 H/s, 0.653333 Sol/s [09:20:42][0xb6f96000] Speed [300 sec]: 0.333333 H/s, 0.663333 Sol/s [09:20:52][0xb6f96000] Speed [300 sec]: 0.336667 H/s, 0.653333 Sol/s [09:21:02][0xb6f96000] Speed [300 sec]: 0.336667 H/s, 0.666667 Sol/s [09:21:12][0xb6f96000] Speed [300 sec]: 0.336667 H/s, 0.653333 Sol/s [09:21:22][0xb6f96000] Speed [300 sec]: 0.336667 H/s, 0.65 Sol/s [09:21:32][0xb6f96000] Speed [300 sec]: 0.336667 H/s, 0.646667 Sol/s
Conclusion
I’m using the smartphone as a file server; zcash is just the idle process.
Finance: The computing power is 1/24th of my desktop. I use roughly 3W, in Germany this is 7.50 Euro/year. This will be 0.00723319934 ZEC/year with my current hash rate of 0.33333H/s. At current rates, that’s 26 Euro/year!
Even with falling ZEC and rising electrical cost I can hope it is financially profitable.