Introduction: Mineral Oil Bitcoin Mining for Aquaponics

A while back I started to experiment with mineral oil cooling for computers. It sounds ridiculous (it sort of is) but it has some benefits that are worth exploring.

First it's worth exploring some of the cons of running bitcoin mining (or heavy computing in general)

1. Noise

2. Heat

3. Did I say noise?

The noise isn't from the computers but the fans keeping air over the parts.

So instead of blowing air, we're just going to bath in oil. Oil has some special properties that help with this.

1. Thermally conductive, better than air, not as good as water

2. Electrically insulating, at least as good as air and and better than water!

3. Specific heat. Basically the watts to raise the temperature by 1deg are more for water than air (but again not as good as water)

Step 1: But Why?

Well, one other benefit of oil over air isn't quite as obvious. The heat we capture in the oil doesn't try to float away like hot air. The heat can be pumped and used for other purposes... like heating an aquaponics pond over the winter. One more practical application would be to pre-heat your hot-water heater... but who wants to be practical?

Step 2: What Do You Need?

1. mineral oil

2. container (utility sink)

3. computer (raspberry pi)

4. radiator (transmission fluid radiator)

5. Fountain pump (60GPH)

6. Heat-sink (pond/bucket/etc)

7. Something to protect the electronics that don't go in the oil:


USB thermometers: temperature monitoring isn't strictly required, but it's interesting to know whats going on.

One of these is really handy too for taking spot measurements that won't get messy in the measure:

When I started, I had a tub with a motherboard and I pour oil right on top, the computer didn't generate much heat and the surface area of the tub was enough to quietly cool things down.

Later I upgraded to a 5 gal fish tank and an old mini ITX computer. Which was later upgraded with bitcoin mining hardware and a fountain pump that pushed oil though a pair of power-steering fluid radiators.

*don't use latex based tubes, they will dissolve in warm oil. It makes the oil look funky too :(

Eventually I upgraded to 60GH (GigaHash) bitcoin miner and the power was too much, I saturated my passive system and it nearly melted the tank!

I took a long break from oil-mining to figure out how to do it smarter. Oil is thick and hard to pump, plus the oil-pumps that aren't industrial aren't meant to pump 24/7. Furthermore, oil doesn't like to be pushed though radiators. Basically everything about oil is hard!

BUT, water.... water is cheaper, more thermal-good, and it works well with cheap fountain pumps and slides right though a radiator! But water makes electronics sad.

Long story short, use the oil as a heat-conductor and pump the water though a radiator dunked into the oil.

Step 3: Calculations

Zeroth, I'm an engineer but not specifically trained in thermodynamics, but I did get an A in class.

First, we presume that the oil pulls the heat from hot things faster than air (thermal conductivity better than air) and it spreads the heat over the whole mass well. The metal in the radiator is effectively transparent (to heat) and the water flowing in the radiator will conduct heat faster than the oil can transmit it. Thermally, the whole system should flow nicely without any bottlenecks.

*one early test I did was with a submerged video card. The heatsink/fan had burned out from dust years ago, so I just removed the fan and dunked it. The card wouldn't work without a heat-sink in the air, but it was happy to sit in oil. It did make a really cool visible column of hot oil but could work without complaint.

So the question i had was, how much hotter would the fish-pond be when I applied ~300 watts of bitcoin mining to it?

My "pond" is ~100 gals and that turns out to be 378kg of water. Water holds 4kJ/kgC which means it takes 4000 watt*seconds to heat 100gals by 1degC. So the ponds needs 1500kJ (4*378) to raise the temperature 1degC

The bitcoin miners draws about 300watts, and a watt is just 1 J/s, so my miners is producing 0.3kJ/s

Ignoring all the effective losses, the system could warm the pond no more than 16.4degC / day.

This tells me, this just might have an effect, I won't be able to keep tropical fish, but I think it will keep the pond from freezing over. Second, I don't have to worry about saturating the pond with heat, so I can run my mining without automated controls (but we'll add them in anyways)

Step 4: Keep It Clean

I remember how pristine and surreal my fish-tank full of oil and computer looked. The blue lights glowing, everything was awesome... Then I tried mixing stuff in, and it just got nasty. Plus I didn't do a great job of keeping stuff out so I got bugs and dust and dirt. Pretty soon my oil looked more like vegetable oil than mineral oil.

Now I'm taking my hardware outside, and computers don't really like the outside. I got a sheet of poly-carbonate to cover the top, but anytime you've got it open for work it will catch dust.

Additionally, water doesn't behave a well as I expected. Instead of getting a nice thin film I get bubbles of water floating threateningly over my hardware! I lost my first (and surprisingly hard to replace) power supply to a rouge water bubble.

Step 5: Setting Up

For my "pond" I'm using a 100gal stock tank.

I found a large outdoor electrical box to store the raspberry pi, USB hub (powers the pi and smaller bitcoin miners)

I have a utility sink as my mineral oil chamber, covered with a sheet of Plexiglas/poly-carbonate

The sink isn't totally full of oil (that stuff is kinda expensive), I've placed the radiator flat on the bottom and placed the heat sink on the mining hardware flat on top with enough oil to just cover the hardware. I've decided to keep the power supply out of the oil, mostly because it's still not super-clean and I don't trust the setup for to keep the elements out just yet.

Step 6: Results

I added a pair of USB thermometers to monitor the temperature of the oil and the pond.

The pond began at 0'C (had frozen ice) at the beginning of the experiment. The last couple of days have been warm but the first 4'C temp rise were shade/nighttime so I assume it was due to the waste heat from the bitcoin mining.

*The last couple of days have been warm, but we're expecting colder weather this week so I'll update the chart (and remove this caveat) but I expect to see the temperature delta to hold around 6'C until the weather warms up again.

I'd love to hear some suggestions on how to study the thermal effect I'm having on the pond. So far I know it was able to quickly raise the temperature 4'C. Perhaps I need to move the thermal probe from the to the environment so I normalize the weather out of the pond temperature. (see not a thermal engineer)

Long term, I plan modify the thermal monitoring code to include temperature cut-offs to terminate mining when/if the pond gets too warm, but I suspect the mining hardware will throttle due to its own heat limits well before that.

Step 7: Next: Add Fish and Plants

I'm still experimenting with aquaponics, and I'd like to get something to grow before I get to far ahead of myself.

The point of this exercise is to find a way to keep the fish tank warm during the winters in Colorado so our fish might survive from year to year.

Some things I'm observing.

1. 300W isn't close to enough to heat the tank though the cold winters. I'll have to get more bitcoin mines :)

2. The root of the problem is the tank/pond is loosing more than 16 deg/day so some insulation is in order. I'd like to (partially) bury the tank but that will have to wait until summer and more commitment to the project.

This is my first instructable, I'm sure I've left out critical details, or pictures that you'd like to see. Please feel free to recommend improvements, I've got thick skin :)