Ethereum Mining Guide

Windows 10 Ethereum Mining Guide for AMD GPUs (12 GPU supported)

Table of Contents

  1. Introduction: Windows 10 Ethereum Mining Guide for AMD GPUs
  2. Motherboard
  3. Windows 10 Pro
  4. GPU drivers
  5. BIOS mod
  6. How to flash the new BIOS?
  7. GPU Miner
  8. Claymore 10.2
  9. Overclock/Undervolt
  10. Starting to mine at Windows startup
  11. Managing mining rigs

1. Introduction: Windows 10 Ethereum Mining Guide for AMD GPUs (12 GPU supported)

I'm mining Ethereum for quite some time now. I have written this guide to help you set up your own GPU for mining purposes. This is a collection of my experiences with fixing various mining problems.

Please follow all the steps described in this guide by their order!

2. Motherboard

What motherboard to use?

  • For the 6 GPU mining rigs, the best, cheapest and most reliable motherboard is a H81 pro BTC 2.0. It works better than most very expensive gaming motherboards like Z170 and Z270 Pro series.
  • For the 12/13 GPU mining rigs, the best motherboard to use is an ASRock H110 Pro BTC. Windows can only support 12 AMD GPUs at the same time, you can combine 12 AMD + 6 Nvidia GPUs, but it's not worth it. There are some 19+ Motherboards; however, you may have problems with them from my personal experience, so it's better to stick to 6 or 12 GPU mining rigs.

IMPORTANT: You must have the latest motherboard BIOS installed. You can check your motherboard BIOS update history to see what was changed from your BIOS version till the latest available one. If there are no significant changes, then you can skip this step. Chipset, PCI-E, GPU support changes are the most important ones, and you need to upgrade your motherboard BIOS if they came out.

What are common motherboard problems?

  • Each Motherboard has a FIXED MAX PCI-E support. For example, an H81 pro btc has 7, which means you can't have more than 7 GPUs connected on that motherboard (Integrated GPU on the motherboard + 6 GPUs = 7 GPUs total).
  • Remember that Integrated GPU counts as 1 GPU. Maybe you can get one more GPU per motherboard if you had the integrated GPU disabled, but that is not recommended.
  • ALWAYS have your Motherboard's Integrated GPU as your primary video output or target display. That way, you will remove the stress of mining GPUs to produce a video output. It should be under the Chipset option in the BIOS settings. You will need to set the PCI-E to IGFX (integrated graphics adapter).
  • Don't use PCI-E splitters because it won't probably work. The main reason for this is that the motherboard caps to the GPUs (PCI-E lanes used) are connected. Some motherboards can handle 8 GPUs without integrated GPU enabled, but that can cause instability, and it's not worth the risk.
  • If your motherboard has additional SATA or Molex PSU connectors, you will have to connect them to the PSU. For example, an H81 pro btc has two additional Molex connectors, and they must be enabled if you plan to have four or more GPUs connected so that your PCI-E lanes can get enough power to run stable.
  • Some motherboards like the Z170, which are used for gaming, have 6 PCI-E inputs, but if you connect all 6 of them and have an Integrated GPU enabled on your rig, it probably won't start, or it will give you a poor performance. That is an error on your motherboard, and you have to disable the Integrated GPU to make the rig work. That is not a good option, which can cause problems.

How to set up your motherboard?

  • First, you will need to connect your motherboard with just a CPU, RAM and Disk. DO NOT use any of the GPUs until the end of this setup.
  • Connect your video display to the integrated GPU on the motherboard.
  • Turn on the PC and go into the BIOS:
  1. set the Chipset's primary video display to an Integrated GPU (IGFX)
  2. Set the PCI-E to Auto
  3. Disable the audio
  4. Activate above 4G if you have that option available under your motherboard. That is a unique option for some motherboards to optimize your PC if it has four or more GPUs connected. Most Z270 motherboards have this option (h81 pro btc does not have this option, it has it already by default).
  5. Set the power loss options to "Always on" – so that your PC turns on immediately after you connect it to its power source.

What are other PC parts?


never use WiFi to connect your mining rigs. From my experiences, that can cause big trouble such as; higher ping, random disconnects, WiFi freezing at the start of mining, shares rejected, etc. For example, my WiFi adapter would stop working if it was directly connected to the mining rig. However it worked, when I was using a USB extender to place the WiFi adapter away from the rig (1-2m). If you want to use WiFi, use 5G. The more mining rigs you have, the more trouble with WiFi you will get.


  • 4GB of any RAM is enough for 6 GPU rigs.
  • 8GB of any RAM is used only for 12/13 GPU rigs.
  • RAM is not so important, so that the 1333MHz cheap memory is OK


  • Any CPU that fits the socket of your motherboard (1150 for H81 pro btc) is OK
  • Or 1151 lga CPU for H110 Pro BTC Motherboard
  • For 12/13 GPU rigs get a slightly better CPU (60$-100$) cause it will be a bit faster when working on the rig, especially when changing GPUs from Graphics to Compute mode in AMD Settings and using streaming software such as Team Viewer or Splashtop.


  • Get 80+gold, or 80+platinum certified PSUs ONLY. I have heard many times that the cheap PSUs caught on fire or even have melted from my own experiences. It can cause severe damages to the motherboard.
  • DON'T overload your PSU! For example, a 1000W gold PSU should NEVER be forced over the 800W power draw for max efficiency. You may end up destroying it. Don't buy cheap PSUs for running your mining rig 24/7. If you run PSU at 100%, a lot of bad things can happen. If you already have expensive components, the worst thing would be saving money on your PSU.
  • NEVER have more than 2 GPU Risers connected to the SAME PSU Molex/SATA cable. This is very important because it could melt the cable or burn the PSU!!
  • 80 PLUS certificate tells you how much extra power the PSU will draw to power your components. Let's say you have 8 GPUs, including your motherboard and other parts; they exactly use 1000W (let's say it's 50% PSU load). 80+ Platinum will use 1060W total (it will lose 60W extra), 80+ Gold will use 1080W, 80+ Silver will use 1100W, 80+ Bronze will use 1120W, and a PSU without certificate will use 1150W or more. The power draw of each PC part is the same; the only thing that changes is the extra power the PSU needs to power your rig (in our example, our PC will always use 1000W, but the PSU needs extra to generate that flow). PSU's maximum efficiency is stated in its manual; mostly, it's 50-80% of its load, which I used in this example. At higher PSU loads, the efficiency drops by an additional 2-4%. Higher grade certificate is expensive, and most of them have 5-10 years warranty. It's essential to get top-grade and high-quality PSU with an extended warranty because that reduces the RISK. Expensive PSUs have gone through a lot of tests; that's why they are costly. If you already spend so much on your mining rig, there is no point in saving some small $ on an essential component, and you will save power in the long run that will increase your ROI.


  • They are responsible for most of the trouble with your GPUs, so if you have a problem with one of your GPUs and don't see it or can't flash the BIOS, try to replace them with the riser.
  • Try to get high-quality risers or the latest release, they are essential parts of your mining rig, and you don't want them to be problematic. 60 cm cable length is fine.

Disk (SSD)

  • For 6 GPU mining rigs get 64GB SSD
  • For 12 GPU mining rigs get 128GB SSD

3. Windows 10 Pro

You can get Windows 10 Pro for free at their official website. You can download their Windows tool for making a bootable USB stick (If you are doing this on a PC that has Original Windows already on it). You can also download the Windows 10 ISO from their site, make yourself a bootable USB, and install Windows on your SSD. Still, don't connect any GPUs to your mining rig! Because the first thing we want is to optimize Windows for our mining purposes.

Why Windows instead of Linux?

Most people think that Linux is a more stable operating system or because it's so lightweight, it runs better, it can have more GPU support (Windows 10 supports 12 GPU now), and it should be a better option for 24/7 mining. It would seem logical, but it is not, because Linux has various problems, such as:

  • drivers for GPUs under Linux are OUTDATED, and they have inadequate support
  • overclock tools for Linux are hard to get, and they most likely won't work on all of the GPUs properly (especially the undervolt part, which is the most important).
  • it's hard to tell if one GPU produces memory errors or if it's something bad with the GPU that would cause it to break in the long run (Windows has strong tools like HWinfo64 that can tell you precisely if your GPU is working properly or if it's unstable)
  • POWER DRAW – yes, under Linux, your GPUs will use about 5% more power than on Windows, with the exact same settings for overclock/undervolt.
  • HASH RATE – as described before, Linux is not efficient, and you will not get the same hash rate as on Windows. For example, the exact same settings on a GPU on Linux would give you 28.8 MH/s. You will get 29.3 MH/s on Windows.
  • Linux is not more stable than Windows 10; if Windows is set up correctly, it can run for months without a reboot. Most people don't know that.
  • Tools like SMOS or EthOS are costly. Their tools for overclock and undervolt are not working properly. Those Linux-based OS cannot have the same Overclock/Undervolt settings as on Windows, or they will crash because of poor driver support (800mV on Memory works on most GPUs under Windows, but almost none on Linux).
  • You can monitor your rigs on Windows almost the same way as on SMOS or EthOS. I will explain how to do that later in the guide. Here's how to optimize Windows.

Windows Updates

If you have downloaded Windows 10 from the official Microsoft website, your Windows 10 pro is almost up to date.

  • Go to the Control Center
  • Go to Updates and Security
  • Go to Windows Update
  • Check for updates and install the latest ones

Drivers and Software

Download latest .NET Framework 3.5 Offline Installer – it is required to run Polaris 1.6 and OverdriveNtool. Windows 10 Comes with 4.x Framework, but that one will not work with Polaris and OverdriveNtool. You need to install the .NET 3.5 manually. Insert the Windows 10 USB stick into the PC (the one you used to install Windows) and set the USB Disc Drive as the Source for installing the .NET 3.5. .NET Framework 3.5 Offline Installer is the guide on how to do it; it's very simple.

Download the latest drivers for your motherboard, especially the latest Chipset driver. This is very important.

Windows 10 Registry Tweaks For Mining

Once Windows is fully installed and booted for the first time, you will have to run the Windows 10 Registry tweaks for mining.bat file. Using this tweak disables everything that is not important for mining on Windows. Disable everything from this tool.
  • Run it in administrator mode
  • Windows Registry Tweaks
  • Once everything is applied, restart the rig

Stop Windows Update

  • Open RUN and type in it "services.msc ", the services page will be opened
  • Search for "Windows Update "
  • Click "Stop" if the status is "Live" or "Checking/Running "
  • Select "Disabled" on "Startup type "
  • Apply & Restart
  • Do it again and make sure that it is disabled
Services Tweaks

Increase Virtual Memory

  • Open up the search and type in "This PC ", right click on it and choose "Properties "
  • Then click on "Advanced System Settings "
  • On "Advanced" tab where it says "Performance" click on "Settings "
  • Click "Advanced" tab
  • At the bottom, you will see the "Virtual memory "option. Click on "Change "
  • Uncheck "Automatically manage paging file size for all drives "
  • Check "Custom size "
  • Now depending on how many GPUs you have, you will need to increase the virtual memory. In general, for each GPU, you need to have 3GB Virtual Memory (because the DAG file used for hashing Ethereum is above 2GB and going to 3 GB this year). So if you have 6 GPU, you need to have 6x3GB Virtual Memory = 18GB
  • In the "Initial size (MB)" type: 2000MB x GPU Count (12000MB for 6 GPU mining rig, 24000MB for 12 GPU)
  • In the "Maximum size (MB)" type: 3000MB x GPU Count (18000MB for 6 GPU mining rig, 36000MB for 12 GPU)
  • Click "Set", then "OK" and "Apply "
  • Restart the rig
Windows Advanced Settings Changing Virtual Memory

Power Plan and Options

  • Open up the search and type in: "Power Options "
  • Click on "Show additional plans "
  • Select "High Performance" plan
  • Then while still on the "High Performance" plan, click on "Change plan settings "
  • Select "Never" on all four selections for "Turn off the display" and "Put the computer to sleep "
  • Click "Change advanced power settings" and look for "PCI Express" -> "Link State Power Management", make sure it is set to "OFF ", usually it is, but better to check on that
  • Restart the rig
Change Power Options Change Power Plan

4. GPU drivers

Now after Windows is set up properly, download a tool called DDU. That tool will uninstall your current driver (even your integrated GPU) and block Windows from automatically installing GPU drivers. That's important so that Windows does not install an outdated driver. It will ask you to run in "safe mode," but that is not necessary. When you run the program, just click on "Clean and restart". We want to manually download and install the right drivers.

Block Windows Automatic Driver Installation

Now turn off your PC and connect only ONE GPU.

What driver is the best?

IMPORTANT – From AMD Crimson 17.10 driver and all drivers released after that, they have added the mining mode in the driver and enabled up to 12 AMD GPUs to run on Windows 10.

AMD released Radeon Software Adrenaline Edition ; download the latest version of it. It will improve the hashrate on some cards, and in general, will give you the best possible hashrate on all RX 4xx and 5xx cards.

Sometimes, it's possible that you get better results with the Beta Blockchain Driver , but that driver only supports 8 AMD GPUs and please try first the Adrenaline edition. In the Blockchain driver, you will not need to change GPUs to Compute mode; it's there as default.

If Adrenaline or Blockchain driver is not working, your last hope is the latest Crimson ReLive Driver release (you need to change in Radeon Settings to compute mode for each GPU).

At the beginning of the install process, go to CUSTOM instead of Express and ONLY select "AMD Display Driver" and "AMD Settings". During install SKIP the installing of ReLive, because we won't need it.

Optional fix for RX 470 and RX 570

After you have installed the driver, restart your PC. If you've already modified your GPUs before, there might be a possibility that you don't be able to see them anymore. That is most likely a problem with the RX 570 series, and it's very rare with some RX 580 models. The problem comes from the BIOS mod because it changes how the GPU work. You will need to Patch your drivers to make them work properly, or the driver will just end up disabling or hiding GPUs (Error 43). This is only needed if you can't see your BIOS modified GPUs in the Windows Device Manager. Download the Pixel Clock Patcher .

Pixel Clock Patcher for RX470/570 GPU

Installing all other GPUs

Once you successfully installed the driver with just one GPU, shut down your PC and plug in all of the other GPUs. After that, when you turn the PC back on, it should automatically detect each of them, and it will install the drivers for all of them. Remember that it will take some time (about 5-10 minutes) for all GPUs to be detected correctly. You can open up the Device Manager to see if all of the GPUs are listed there. Just turn the PC on and wait 5-10 minutes before doing anything; Windows will do its job.

Mining (Compute) Driver Mode

After you have all of your GPUs under the right driver, there is one more important step to make.

  1. Open up Radeon Settings
  2. Radeon Settings
  3. Then click on "Gaming"
  4. Radeon Settings Gaming
  5. After that, click on "Global Settings"
  6. Global Radeon Settings
  7. Now all of your GPU settings are displayed. We will need to change each GPU to be in MINING (Compute) mode. By default, each GPU is in graphics mode, and to enable proper mining (high hashrate due to DAG fix), we will need to change each GPU "Global Graphics” "GPU Workload" to COMPUTE from Graphics. Each time you change one of the GPUs to COMPUTE, it will ask you to restart the AMD Settings, which will take some time. It's also possible that even if you've changed it to Compute, the GPU still displays "Graphics" instead of it. To fix this, try to restart your PC and see if the value was stored properly after that.
Change GPU Workload to Compute

5. BIOS mod

Each GPU has its own BIOS, which specifies how it should work. There are four different memory types that you will encounter on your GPU: Hynix, Elpida, Micron, Samsung.

During mining Ethereum, you will only be using the memory of the GPU; that means the higher quality of the memory is, the better hashrate you can get. While testing all of the memory types, I've found out that Samsung and Hynix are a little bit better than Elpida and Micron, but the difference is small.

Hynix and Samsung Graphic cards:

  • all RX 580 8GB cards
  • most of RX 570 8GB cards (there is a chance of getting micron memory)

Elpida Graphic cards:

  • most of RX 580 4GB cards (there is less possibility of getting micron and very rare hynix/samsung)
  • most of RX 570 4GB cards (there is less possibility of getting micron and very rare hynix/samsung)

Micron Graphic cards:

  • they are the rarest memory type, and you can found them mainly on RX 570 8GB cards (they can appear on every RX series, but it's rare)

What memory are my cards, and how to export the BIOS?

Download a tool called GPU-Z .

This tool allows you to see what memory type your card has, as you can see in this picture.

GPU-Z BIOS Exporting

On the Green selection, you can see the "Memory Type". In this example, it's Elpida. If you bought your GPUs all at once, and they are the same card type, and if you see they all have the same Memory Type, that means that they all CAN USE THE SAME BIOS. Exporting GPU BIOS can be done by clicking on the Red circle as displayed in the picture above, under the "BIOS Version". Now you have your original BIOS exported, make a backup before going to the next step.

How to BIOS MOD yourself in one click?

What do you need to know about BIOS mod?

There are various guides and tutorials on how to BIOS mod your GPU, and they are all very confusing and risky to use, especially if you accidentally use a BIOS that is not made for your GPU. In BIOS we need only to change Memory Timings. There are many reasons to do it that way because GPUs don't behave the same even if they are the same GPU; they can give many different results.

For example, if you have Sapphire RX 570 4GB, Elpida memory cards, they are all the same and the results you get from them:

  • some GPU can handle only 1950 MHz on the memory
  • some GPU can handle 2125 MHz on the memory
  • some GPU can run at 800mV on memory voltage
  • some GPU can run at 875mV on memory voltage

As you notice, there is a wide range of possible GPU settings, even if they are the same GPU. It would be very dangerous to put voltage values and memory clock values in the BIOS, because one of the GPUs could not handle it properly, and you could even brick your card. It makes no sense to do it if you have software like OverdriveNtool, giving you full access to GPU and its voltages and clock rates. There are no universal GPU settings; please follow the overclock chapter in my Ethereum Mining Guide for the only proper way to overclock and under-volt your GPUs. Never change voltage and clock rates in BIOS.

Anorak BIOSes have only memory timings replaced, and the power save BIOSes have:

  • the voltage on memory reduced to 900mV because they can't know if your GPU can run at 850mV or even 800mV; the reason is explained above (for most BIOSes, this has no effect, your GPU driver will restore it to default settings).
  • GPU core clock rate reduced to 1100-1200 MHz
  • TDP(W) reduced by about 20% (it has no effect if you use software for Overclock/Undervolt)

Those settings from anorak BIOSes are trying to be as general as possible, and they are way over the actual limit of your GPU. The GPU core voltage should never be touched (in BIOS), people like to change the dynamic voltage to static ones (direct mV values), and that can cause GPU to get bricked if your PC freezes or gets a random power outage.

Memory Timings?

Memory timings are the only part of the GPU BIOS that you need to change. Your miner software uses the GPU's memory to make the calculations (hashrate you see in Claymore). In the GPU BIOS, it is described how the GPU Memory should behave at specific clock rates. Changing how your memory behaves at higher clock rates (increase tick rate of timings) can make the GPU calculate its operations faster.

By changing memory timings, we can increase the hashrate, depending on how fast the new timings are. There is nothing else you need to change.

How to BIOS mod properly with one click?

After you know the basics of BIOS mod, you don't need to know anything else because we will only replace the GPU BIOS's Memory Timings. Overclock, and undervolt can be done through software, and we NEVER change those values in the BIOS because it can brick your cards if you do. It's as simple as that.

Download Polaris 1.6.5 . This software recently got a database of almost all memory timings and allowed you to change your GPU Memory timings in one click. It auto-detects and replaces them.

BIOS mod steps:

  • Export your original BIOS with GPU-Z as explained in the chapter "BIOS MOD".
  • Open Polaris 1.6.5.
  • Polaris BIOS Editor 1.6
  • Open your original exported BIOS from GPU-Z
  • Original BIOS
  • One Click BIOS Mod
  • Click OK (depending on your memory type, it will patch 1 or 2 different memory timings)
  • Upgraded Memory Timings
  • Save your new BIOS
Save New BIOS

That's it. You have a proper BIOS mod without making any unnecessary risks to your GPU. With OverdriveNtool, you can adjust your GPU's proper voltages and clock rates individually to get maximum hahsrate for minimum power draw without risking stability or GPU's lifetime.

IMPORTANT – Always work with your cards' original BIOS and don't download random BIOS online cause you can't be sure they are made for your card type. Even if they are the same model, it does not mean they have the same BIOS. It's very important to work with the original card BIOS to reduce the unnecessary risk to the minimum.

6. How to flash the new BIOS?

First, you will need to download a tool for flashing the BIOS called ATIFlash .

With this tool, you can put the custom BIOS over your current one. Always make a backup for your current BIOS and store it somewhere safe. You never know when you are going to need it.

IMPORTANT – be careful what BIOS you are going to flash on what GPU. I would recommend you never to have different card types plugged in when you will flash. This way, you won’t accidentally flash the wrong BIOS to the wrong card. However, it is almost impossible because if you use the AtiFlash properly, as explained in this guide, it should warn you that you can't flash the specific BIOS because it's a different type of your original card.

  1. Put the custom BIOS that you will flash in the AtiFlash folder, for example, "upgrade.rom".
  2. Upgraded BIOS, Part 1
  3. Copy the file path location to the AtiFlash folder like shown in the picture
  4. Upgraded BIOS, Part 2
  5. Press Windows Key + S, then type CMD; after that, the first result will be "Command Prompt", right click on it and press "Run as Administrator".
  6. Run CMD as Administrator
  7. Now in the console window, type "cd" and copy the path to the AtiFlash directory as you did in "Step 2", and it should look like in the picture (except your PC username is different than mine, of course).
  8. Change Directory to AtiWinFlash
  9. Now type in the console "AtiFlash -f -p 0 upgrade.rom" where each word represents the following:
    • AtiFlash -> the name of the execution file.
    • -f -> forces the flash of a GPU.
    • -p 0 -> the GPU at position 0 will be flashed (GPU orders are as displayed in GPU-Z or Device Manager).
    • upgrade.rom -> that is the name of the BIOS that you want to flash to the GPU
Command to Flash GPU BIOS

BIOS flash problems

  • you may get the error that the IDs mismatched; that means you want to flash the wrong BIOS on your GPU
  • you may get the error that the ROM file could not be read. For that, you will need to replace the Riser your GPU is connected to, or connect that GPU directly to the motherboard or use a DDU to reinstall the current driver and install the driver back on. If it does not work, try to download Atiflash 2.74 Version and try using this instead.
  • You may get the error on 4000 or 8000 bytes wrong size; that means you want to flash the wrong BIOS. Some older cards have a 512KB BIOS; the same new version of cards uses a 256KB BIOS, which means you wanted to flash the older BIOS to the new type, and of course, you got rejected. You always need to be careful about what BIOS you are flashing.
  • After flashing your GPU and restarting the PC, if you don't see the GPU anymore, it means you didn't install the "Pixel Patcher". Please go to the GPU Driver section and read it again.

7. GPU Miner

After all your GPUs are flashed with the right upgraded BIOS, we can move on to the most critical step, the mining software part. There are a couple of different common mining programs, depending on the algorithm they are working with, the most common ones are:

  • Ethash (Ethereum, Ubiq, Ethereum classic) can be mined with the same mining software because they all work under the same algorithm (ethash), and the best miner is Claymore 10.2
  • CryptoNight (Monero, Electroneum) are also mined with the same software
  • EquiHash (Zcash, Zclassic, Bitcoin Gold) are also mined with the same software

This guide is focused on the Ethash algorithm mining, so the settings and the tutorials from this guide are not optimized for the other mining algorithms like CryptoNight.

8. Claymore 10.2

Claymore 10.2 is currently the best miner for Ethereum, and it comes with a good option of dual mining with some other altcoins (Decred, Sia… ). That can boost your profit by around 20-30% for 20% more power draw. Even if you have expensive electricity, the bonus profit is probably worth it.

Is Claymore's developer fee the right thing?

Claymore software has a fixed fee of 1% when mining Ethereum or a 2% fee when mining Decred. Various problems can happen due to the way the fee is working. The fee works in a way that you will be disconnected from your mining process each hour, and for about 1-2 minutes, you will mine for the Claymore developers. After that, it will connect you again to your pool and start the mining again. By constantly disconnecting and reconnecting each hour, your GPU cools down and then heats up again, and by doing that, you are risking the life of your GPUs. After some time, I heard from many people that one of the GPUs would reset to the default clock settings because of the constant disconnecting/reconnecting. It would also "hang" and crash the miner or cause it to recreate the DAG file, and you end up losing valuable time with that. Claymore is excellent software, and I think there could be a better way to support the developers rather than risking our miner stability. By using the official Claymore, I lost about 3% of my shares compared to using the Claymore without the Developer Fee; everyone can try it for themselves and see the difference.

Claymore 10.2 without Developer Fee?

On the bitcointalk forum, there are always releases for Claymore with the developer fee removed. Recently there was a 10.2 version released and confirmed to work. Claymore developers wrote that if you use a "hack" that would remove the developer fee from the program, it would autodetect it and give you a much lower hashrate as a punishment, but that was confirmed to be false.

You can download the Claymore with the developer fee removed: Claymore 10.2 NoFee Version

How to set up Claymore?

Claymore runs through its "start.bat" file. In the "start.bat" (you can open it with the notepad), you just need to write the following (no setx commands before that):

EthDcrMiner64.exe -epool yourMiningPool -ewal yourEthAddress -epsw x -dcri 6

Ethereum Mining Pool

-epool is the mining pool you can use. It's just a personal preference. Some people like to use nanopool, some like dwarfpool or ethermine. You can use any pool you prefer. Be careful what pool you are using; it should be based on your location. It makes no sense to mine on a European pool if you are in America. Always use the pool that is close to you. Nanopool, dwarfpool, ethermine, and others have mostly location-specific pools. You can't miss them; they mostly start with EU, US or Asia. After that, you can write your own Ethereum address, which is used to collect your Ethereum shares. You can view statistics on the mining pool by searching it with your address. For example, if you are using nanopool, you can see your current active statistics.

With: For example, using Nanopool :

EthDcrMiner64.exe -epool -ewal yourEthAddress -epsw x -dcri 6

Do not add "SETX" commands at the start; they are not needed.

I use nanopool to mine Ethereum. You can use ethermine or dwarfpool also. Ethermine gives you the most reliable statistics. Read the following chapters to see why I use nanopool.

Ethereum Wallet Address

-ewall is your Ethereum address. Be careful because you will always need to write only an Ethereum wallet address, not a Bitcoin or any other addresses. The easiest way to create an Ethereum wallet and keep it safe is to use the exchange sites like Coinbase, Bitfinex or Bittrex. They offer you high security, and you can use the Two Factor Authentication, which makes it very secure. For significant amounts, I would recommend using offline wallets like Trezor Bitcoin Wallet.

How to set up dual mining?

Ethereum is mined just by using the memory of your GPU, so the GPU core is almost not affected by the Ethereum mining at all. This gives a possibility to utilize the GPU core for mining some other coins simultaneously as you mine Ethereum without affecting its hashrate. Of course, if you would mine the dual coin at full potential, it would affect Ethereum hashrate. That's why we will need to optimize the intensity of the dual coin, lowering it to the degree that it's not affecting Ethereum hashrate.

Dual mining claymore start.bat config:

EthDcrMiner64.exe -epool yourMiningPool -ewal yourEthAddress -epsw x -dpool dualCoinMiningPool -dwal dualCoinWalletAddress -dpsw x -dcri 25

The part before the -dwal is the same as for the solo Ethereum mining described above. The -dwal has the same representation as -ewal, it just is the mining pool of the dual coin. I would recommend mining ONLY Decred as a dual coin, because it has the highest efficiency of all of them. As described above, dual coin uses the GPUs core for mining, and not all dual coins give the same results. For RX 5xx cards, the best way is to go with Decred. I use the Supernova Decred mining pool. You need to create an account there, and the account name will serve you as a Decred mining pool address. This way, it gives you one more security improvement because you don't show people your address, instead just your account name. On your account, you will need to create a worker and give it a name, for example, worker1, and leave its password as it is ("password"). Now to connect properly to the Decred mining pool you would need to put

“-dwal supernovaAccountName.supernovaWorkerName”

How to mine Decred?

You can create a Decred wallet at Bittrex. It's a very good trading site featuring a lot of altcoins, including Decred. You can cash out your Decred at your account page in supernova, under "My Account" -> "Edit Account" -> "Payment Address" and you need to type your Bittrex address there. And now you just need to set "Automatic Payout Threshold" to your desired value. I use 0.5 as my payout cap. You can convert your mined Decred to Ethereum at Bittrex exchange site and store the value that way. It's safe if you use a 2FA authenticator.

Important Dual Mining Information:

As you can see in the dual mining configuration, the last part is "-dcri 25". It means that the dual coin is set to mine intensively, and it shows how much GPU core is assigned for that task. Yes, it's needed for solo mining too, and it needs to be set to 6. This is a very important part because it's DEPENDANT ON THE GPU SERIES. The only noticeable difference between the RX 570 and RX 580 series is their GPU Core. The memory (used for Ethereum mining) is almost the same on those cards, so there is basically no difference in Ethereum hashrate, but the big difference comes in the GPU Core. The RX 580 series can handle around -dcri 25, don't go above that because it can reduce your Ethereum hashrate. For RX 570 series, the optimal -dcri is around 19-22. For some cards even lower as 13, this needs to be tested by yourself. The proper way would be to start with -dcri 10. Then using your keyboard press "+" or "-", that way you can increase or decrease -dcri by 1, as you will see on the claymore miner. By going up, you will see the dual coin hashrate going up, repeat that until you can start to see the Ethereum hashrate decrease, then, after you find that spot reduce -dcri by 3, so you are not pushing the GPU to the limit. On the RX 570 series, it's possible to get a higher hashrate on Ethereum with dual mining rather than just solo mining. Optimal for RX 570 is around -dcri 19 , optimal for RX 580 series is around -dcri 25. For some cards, it's possible to go even further, but it's not worth it to stress the GPU too much.

9. Overclock/Undervolt

This is the most important part of this guide. It's very important for you to learn the right way of overclocking and undervolting to optimize the GPU as much as possible.

  1. STEP – Delete all the overclock tools that you have installed, especially MSI Afterburner because it can interfere with the proper way of overclocking and undervolting.
  2. STEP – Remove any overclock and undervolt from Claymore "start.bat" file if you were using those commands before (-cclock, -mclock, -cvddc, -mvddc) , even -tt and any other option. Claymore overclock, and undervolt tools are terrible and have various problems:
    • GPUs sometimes randomly reset to a default stock hashrate even if you see the GPU is at its desirable clock rates
    • GPUs get random hashrate drops, for example, it shows 29.5MH/s, but sometimes it will randomly drop to 20 MH/s for no reason in the logs, and that happens very often. The way Claymore software tries to force your GPUs to stay at those clock rates is terrible, and it will not work properly if a new Driver from AMD comes out.
    • You don't have full access to the overclock tools in Claymore, and it's a mess configuring each GPU individually
    • Overclock, or undervolt sometimes don't apply properly. Often you will need to start it again 2 times or even restart the PC to have proper Overclock values applied
  3. STEP – Reset your GPUs to the default clock rate settings if you have overclocked them before
  4. STEP – Download a tool called OverdriveNtool. This is the BEST and most RELIABLE overclock/undervolt tool for AMD graphic cards.

What is OverdriveNtool?

After your GPUs are at their default settings, we'll be using OverdriveNtool to handle the overclocking and target the GPUs' temperature and undervolting. There is no other tool where you can have full control of your GPU and quickly optimize GPUs. You can't be 100% sure the overclock/undervolt settings are working properly. This is special software that gives you FULL access to your AMD GPUs, and it's very easy to use once you know the basics.

How to use OverdriveNtool?

This software may seem confusing or complicated at first, but it's very easy to understand. I will explain it through the following picture:

OverdriveNtool Default Settings

GREEN – this is the target temperature of your GPU. OverdriveNtool will automatically keep your GPUs at their desired temperature by increasing/decreasing the fan speed, as it's needed to stay at those temperatures. The optimal value would be 60C. You can check this during the mining in Claymore, by seeing how much the current fan speed is in percentage. If the fan speed goes over 70%, increase the target temperature to 65C, but that can only happen if you have a high room temperature, probably because of no cooling or weak airflow.

PROFILES – This serves to save current overclock settings for further use. For example, after you turn on your PC, you can automatically load all the overclock settings to the desired GPUs. We will have one profile per GPU on your mining rig. First, make a new .txt file in the folder in which you have OverdriveNtool.

Create .txt File

After that, go to "Save As" and change the "Save as type" to "All Files" and then name the script "overclock.bat". This way, you will create a Batch file the same type as Claymores "start.bat", and it will work in a very similar way.

Now, open the overclock.bat file with notepad and write in the following:

OverdriveNTool.exe -r1 -p1″GPU1″ -r2 -p2″GPU2″ -r3 -p3″GPU3″ -r4 -p4″GPU4″ -r5 -p5″GPU5″ -r6 -p6″GPU6″

As you can see in the following picture:

Overclock Script for OverdriveNtool

This will make a batch script that will run the OverdriveNtool.exe and set each GPU (-p) to a predefined profile ("profileName").

  1. -r1 ->resets the GPU 1 to default settings. It's important to always reset GPU before testing new clock settings
  2. -p1" GPU1 "->set the GPU 1 values to the profile called "GPU1"
List of AMD GPUs

Be careful; as you can see in the displayed image in my case, there are 7 GPUs enabled on this mining rig. The first one is an integrated GPU , and its ID is -p0. All others are mining GPUs (p1,…p6). So if you have your integrated GPU disabled or, for some reason, you use a motherboard that does not have it, then your mining GPU ID starts from p0. You can see the GPUs order as displayed in the picture below. The GPUs order in OverdriveNtool is the same as in the GPU-Z and Claymore 10.2.

Now make 6 "New" profiles and name them GPU1, GPU2… GPU6 and each profile will represent the GPU that it's attached to. For example, we are using "-p1" GPU to the profile "GPU1" and so on. You need to make so many profiles as you have mining GPUs (all GPUs except the integrated one).

RED – this part shows you the real GPU core clock rates and its voltages. In other overclocking tools, you will only see the last one, in this case, 1340 MHz. As you noticed, there are 8 of them (P0, P1….P7) and those are the GPUs core states. This means the GPU switches automatically to default between those states, depending on how much you use the GPU. From all those 8 states, we don't want the GPU to switch between them. We want it to run stable at the fixed clock rates we put it on. To do that, we will need to disable all the GPUs states except the last one (P7). You can disable every state from P0 till P7 simply by double-clicking on its name. For example, with the mouse, go over "P0" and double click on it. You will know if you are successful when that state changes colour.

GPU CORE OVERCLOCK/UNDERVOLT – we need to do two things to the GPU core. First, we will need to set P7 clock rate and its voltage. You need to remember that the GPU core is not used to mine Ethereum a lot. It just helps the memory to do the hashrate. GPU core generates the most heat on the GPU and uses the most power, so our intention is to push the GPU core down as much as possible to save power and lower the temperature on the GPU without losing Ethereum hashrate, or lose some hashrate because we save more on the power cost reduction than the small Ethereum hashrate drop. It is recommended to have a Wattmeter to make your own calculations to see what's more worth for you. In general, the most optimal clock rates for most GPUs is around 1150 MHz. Some RX 570 can even work at around 1100 MHz without losing any, or very low hashrate reduction on Ethereum. That will reduce the power draw drastically. Some RX 580 need 1200MHz to have the optimum hashrate, but most of them work best at 1150MHz. In general, never go above 1200MHz because it will start to use much more power, and you can check that with your Wattmeter. For the Voltage part, it's best to keep them at 850mV. You can try to reduce the voltage to 825mV or 800mV if you are going to keep GPUs at 1100MHz, but it is possible to get a freeze or crash. The best way for you is to test your hashrate with those values described and see what effect it has for your GPU to run it at 1100MHz, 1150MHz, 1200MHz with 850mV voltage in all cases. Then compare the power draw with the hashrate and calculate what's more profitable for you. In most cases 1150MHz/ 850mV is optimal.

MEMORY – This works identically as the GPU core, except it's for the memory. This is the Holy Grail, this is the most important part of GPU mining, and it's very RANDOM. There are no set values that work 100% on your GPU. There is just one proper way of doing it without risking any problems; we need to disable P0 and P1 by double-clicking on them.

How to Set OVERDRIVENTool Properly?

We will need to repeat the process for each GPU individually. It's very important to test it that way, so if you end up getting a crash or reset, you will know exactly at what part that happened so that you can reverse the crashing settings.

First, we will need to test the first mining GPU only, not all at once:

  1. Set the GPU target temperature to 60C
  2. Set the GPU core as explained in the RED part of the guide (GPU Core) to 1150MHz/850mV, and disable all previous states.
  3. Set the Memory to 1800MHz/900mV and disable all of the previous states.
  4. Apply settings to the GPU.
  5. From Profiles, find the "GPU1" profile and click Save.
Overclocked and Undervolted Template

As you can see in the picture, you will need to have values set exactly the way it's shown. Apply settings first, then click on the "Save" button near the profile or else the profile settings won't be applied properly. You have your first GPU all set and ready to make the final step.

Overclock Properly

This is the most important question people want to have an answer for, and it's the trickiest one. There are no optimal or universal values. On the identical GPUs, the same Overclock/Undervolt settings don't work the same way. Each GPU is unique and requires individual testing to optimize it properly.

Download a tool called HWinfo64.

Install it and run it in "Sensors only" mode as displayed in this picture:

Sensors only mode for HWinfo64

After that, scroll all the way down till you see your GPUs; they are located at the end. Now, after you found the GPUs, select all sensors except "Memory Errors" and HIDE them (right-click on the sensors and press "hide"). After that, you will have something similar to the image below:

Memory Errors in HWinfo64

In my case, there are 6 AMD GPUs, and I have disabled all other sensors because they are not interesting to me. We only want to have GPU Memory Errors displayed. This will tell you if your GPU is overclocked too much. Now, this is the way we will test your GPUs optimal settings.

  1. Start mining with the current base settings as we did for the first GPU (1150MHz/850mV on GPU core and 1800MHz/900mV) on the Memory, the target temperature is 60C.
  2. If you see no memory errors, then the current setting is working properly, you will need about 2 minutes to see if they start to show or not.
  3. Now change the memory to 1850MHz, then click apply. After that, click Save on the profile.
  4. Now start the overclock.bat script, it will reset the GPU to its default settings, and after that, you will need to apply new 1850MHz memory settings.
  5. Start mining and see if you get any memory errors after 2-3 minutes.
  6. If you don't get any memory errors, it means your GPU is having no problems running at those clock rate. Now, we will try to increase memory clock rate by 50MHz increments, and each time you increase memory repeat step 4 and 5. If you see no difference in hashrate after changing the memory clock rate, you need to restart your PC. Sometimes if you change overclock/undervolt a lot, it will stop making change. We want to repeat that process till you start to see memory errors; depending on them, do the following:
    • If you get few memory errors after some time, go back to 25MHz and test it again.
    • If you get millions of errors, that's the HARD CAP of the GPU, and you can't push it above that. Reduce the clock rate by 50 MHz.
    • If you get 1-2 errors each couple of seconds, it is fine, and you can keep it like it is.

After you have found the optimal value for your GPU, you can do the following:

  • Set the GPU core to 1100 MHz and then to 1200 MHz, don't forget to apply, save profile and then run the overclock.bat, to see the difference in hashrate and the power draw from the wall. If you see no difference in hashrate after changing GPU core clock rate, you need to restart your PC; sometimes, if you change overclock/undervolt a lot, it will stop making changes.
  • Set memory voltage to 850mV and then to 800mV, always look into HWinfo64, because the reduction of voltage on the memory can cause errors. So don't go below 800mV. A drop in the memory voltage can also cause the GPU to stop working (0 mh/s) or push the rig to freeze or blue screen. Don't worry about that; just change the settings.

After you have done all that for the FIRST GPU, you can repeat the process for each other GPUs. Always keep an eye on HWinfo64 for memory errors; that way, you will have a stable rig. The rig can work with a bunch of memory errors, but that can cause:

  • real hashrate to drop
  • rejected shares
  • seeing random hashrate drops in Claymore
  • it can cause severe damage to the GPU

If all of your GPUs on the rig are the same, you can try to apply the profile settings that worked for the first GPU to the next GPU and test if it works. After that, try to adjust the small settings to reduce memory errors if you get them. It's possible that the same GPU with the same settings causes the PC to crash or freeze. That's why you test one GPU at a time.

Average Optimum GPU Settings

This is a list of different GPUs and their average optimum settings, so that you can have a clear picture of what your GPU should look like:

RX 570 Series:

  • Micron Memory
    • GPU core: 1150MHz / 850mV
    • memory: 2050MHz / 850mV
  • Hynix Memory
    • GPU core 1150MHz / 850mV       
    • memory: 2175MHz / 800mV
  • Samsung Memory
    • GPU core 1150MHz / 850m
    • memory: 2200MHz / 800mV
  • Elpida Memory
    • GPU core 1150MHz / 850mV
    • memory 2100MHz / 850mV

RX 580 Series:

  • Micron Memory
    • GPU core: 1150MHz / 850mV
    • memory: 2050MHz / 850mV
  • Hynix Memory
    • GPU core 1200MHz / 850m
    • memory: 2250MHz / 850mV
  • Samsung Memory
    • GPU core 1200MHz / 850mV
    • memory: 2250MHz / 850mV
  • Elpida Memory
    • GPU core 1150MHz / 850mV
    • memory 2100MHz / 850mV

RX 580 Series:

  • Micron Memory
    • GPU core: 1150MHz / 850mV
    • memory: 2050MHz / 850mV
  • Hynix Memory
    • GPU core 1200MHz / 850m
    • memory: 2250MHz / 850mV
  • Samsung Memory
    • GPU core 1200MHz / 850mV
    • memory: 2250MHz / 850mV
  • Elpida Memory
    • GPU core 1150MHz / 850mV
    • memory 2100MHz / 850mV

10. Starting to mine at Windows startup

After you've managed to set up all of the GPUs profiles and have tested them with no or minimum errors, you want to make sure that your mining rig works automatically.

  1. Create a shortcut to Claymores "start.bat"
  2. Create a shortcut to OverdrivenTools "overclock.bat"
  3. Press Windows Key + S
  4. Type "Run" and press Enter
  5. Type in: "shell:startup"
  6. A folder will pop up
  7. Drag OverdriveNtool and Claymore shortcuts to that folder
Windows Startup Folder Mining and Overclocking Scripts Starting With Windows

Now, try to restart your PC. It should overclock and start mining automatically.

11. Managing mining rigs

There are many ways of managing your rigs and a lot of software to do that. I like the simplest one, and that works great for me.

  1. NANOPOOL – I use this pool to mine Ethereum, and to monitor my rigs. For –ewall, after your Ethereum address, you can put "yourEthWallet.yourRigName/yourReportingEmailAddress". That way, nanopool will send you an email if one of your rigs goes offline. Also, at nanopool website you can check your current hashrate of your rigs. If you see one rig reporting a lower hashrate than it should, you know something is wrong. Nanopool works very well as a monitoring tool.
  2. SPLASHTOP – If nanopool finds a problem, the best way to fix the issue is by using remote desktop software to access your rigs. Instead of Splashtop you can use Teamviwer; they do the same job. And as your Main GPU is an integrated one, the streaming software will not have a big impact on the hashrate or stability of the rig.
  3. SMART PLUG – If the rig is frozen and cannot be accessed by a remote desktop, then we need to restart it. I use smart plugs for that. You can monitor your power draw and restart your rigs with it by switching the power off and back on.

And that's it; you've optimized your Mining Rig the proper way.

I hope you've learned a lot, and this guide helped you achieve better and efficient mining.

Good luck! And happy mining!