|
KiCADKicad
|
DUCO-Miners
Have you ever heard about Crypto-Currency Mining using Arduino, ESP8266, ESP32, or Raspberry Pi? Yes, that's true. Now you can mine crypto-currency using such devices !! Indeed amazing !!
Introducing DUCO (Duino-Coin), a fully original, transparent, centralized, eco-friendly crypto-coin project that focuses on energy-efficient mining using low-powered embedded devices. It uses a reward system named 'Kolka System' in which low-power devices benefit the most.
This enables us to mine Duino Coin without any high investments !! Seriously !! You won't become a millionaire by mining Duino Coin, that's for sure. But it's a great starting point for those who want to start their crypto-mining journey without any heavy investments in mining devices such as ASIC Miners or expensive graphic cards. It's a fun project to get started on the crypto-mining journey and who knows someday, Duino Coin may make you a billionaire...!!! So, let's get started immediately !!
About Duino-Coin: (Official Website)
The Duino-Coin algorithm (DUCO-S1) is based on the SHA1 hash chain. Each miner device is rewarded for each mined share based on the previous one. The miner asks for the job from one of the nodes and receives an expected hash, a hash of the last block & difficulty. The miner needs to find a valid nonce that gets appended to the previous block hash so that after hashing it again it produces the expected hash. When a valid hash gets found, the miner submits the nonce result to the node. The server then takes care of the results and rewards by calculating them with the Kolka system.
If you want to know more about the origin & concept of Duino Coin, refer to the project whitepaper: Link
About the DUCO-Miner:
In this project, we use a Master-Slave approach, wherein, the Master communicates with the Slave devices via I2C & controls the Mining Jobs provided by the Duino Coin Server. All of these sit on a Baseboard or a rack which provides a stackable configuration for multiple parallel baseboards. A single baseboard or a rack can hold up to 11 devices in combinations of:
- 1 Master(ESP32) + 10 Slaves(AVR)
- 11 independent Miners (ESP32)
The DUCO-Miner Rack can be stacked in multiple quantities to increase the throughput (But beware of the Kolka system). Multiple independent ESP32-Miners in one single Rack can give a large throughput in terms of hash rate. The preferred configuration is to use 1 x ESP32 Miner + 10 x AVR Miners on one Miner Baseboard.
Tools & Supplies:
- Miner Rack Setup:
- AVR Miner Boards x 10
- ESP32 Miner Board x 1
- Common Miner Baseboard x 1
- 5V 1A DC power supply
- Connecting wires
- A Laptop or Desktop PC to upload the code to the devices
- USB to Serial Converter (CH340 or CP2102, etc based)
- USBasp programmer or Arduino Uno/Nano Board as ISP Programmer
Get your Boards from PCBWay !
Get all the required miner boards pre-assembled at your doorstep from PCBWay.
Following are the links to the different boards that are required to be fabricated before getting started:
1) ESP32 Miner Board- https://pcbway.com/project/shareproject/ESP32_Miner_Board_4dbe6b50.html
2) AVR Miner Board - https://www.pcbway.com/project/shareproject/AVR_Miner_Board_862c6247.html
3) Common Miner Baseboard - https://www.pcbway.com/project/shareproject/Common_Miner_Baseboard_d07cddd6.html
You can also download the Gerber files for the respective boards from the above links.
If you would like to assemble these boards on your own, you can refer to the following assembly videos:
AVR Miner Board Assembly:
ESP32 Miner Board Assembly:
Common Miner Baseboard:
Let's get the Miner Boards ready!
All the Miner boards have an onboard LED for status indication. Also, the Common Miner Baseboard has onboard LEDs for a convenient status indication of the Miners. You can choose between the onboard LED or baseboard LEDs to use for status output. The AVR-Miner Board & the ESP32-Miner Board have jumper pads at the back which can be shorted/connected to achieve the desired status LED configuration. By default all the jumpers are open, so you won't be able to see any output via the status LEDs.
Following are the LED Jumper configurations:
1) AVR-Miner Board:
LED Configuration Jumper: JP1
Short Pads 1 & 2 for onboard LED
Short Pads 2 & 3 for baseboard LED
Short all pads for both onboard & baseboard LEDs
2) ESP32-Miner Board:
LED Configuration Jumper: JP1
Short Pads 1 & 2 for onboard LED
Short Pads 2 & 3 for baseboard LED
Short all pads for both onboard & baseboard LEDs
The ESP32 Miner Board & the Common Miner Baseboard have more additional configuration options.
1) ESP32-Miner Board:
When using the ESP32-Miner Board as a Master for the AVR-Miner Slaves, short/connect the Pads for R3 & R4
When using the ESP32-MIner Board as a standalone miner, disconnect the Pads for R3 & R4.
2) Common Miner Baseboard:
Short the Pads for R12 & R13, in order to communicate with the other expansion boards via I2C.
Disconnect the Pads for R12 & R13, in order to have the Baseboard as an independent one in the stack of multiple Baseboards.
Let's Upload the Code!
Before we upload the code to the boards, you need to create an account/wallet on the official Duino Coin website: https://wallet.duinocoin.com/register
You can follow the instructions mentioned here: https://duinocoin.com/getting-started#register
Once, everything is done, make a note of your username for the Duino Coin wallet. We will need this in the next step while uploading the code.
Uploading the Code to the boards:
The ESP32-Miner & all the AVR-Miners are required to be programmed before we go anything further. The required program codes are uploaded to the respective GitHub Repositories as follows:
1) ESP32 - Miner Code: https://github.com/Duco-Miner/ESP32-Miner-Code
2) AVR - Miner Code: https://github.com/Duco-Miner/AVR-Miner-Code
Contributions are always appreciated !!!
Uploading the code to the ESP32-Miner:
Don't forget to change the WiFi Network Details & your Duino Coin wallet username in the ESP32 Miner code or else you won't earn anything!
Once done, upload the code to the ESP32. You will need to connect the ESP32-Miner Board using a CP2102 USB to the Serial Converter (I used this converter) for uploading the code. The converter can be directly inserted in the programming header connector holes. You might need to hold it under light force, to maintain the contacts between the ESP32-Miner & the CP2102 USB to Serial Converter while uploading is in progress Also, make sure you put the ESP32-Miner in Boot Mode before you start uploading, by pressing the BOOT Button & RESET Button simultaneously on the ESP32-Miner & then releasing the RESET Button first & then the BOOT Button.
Hit the Upload Button on Arduino IDE & you are done !!!
Uploading the code to the AVR-Miner:
To upload the code to the AVR-Miner Board, I used a USBasp Programmer to program the microcontroller via ISP programming pins. You can also use an Arduino UNO or Arduino Nano board as a programmer. Check out this tutorial for reference: (https://www.instructables.com/Turn-Your-Arduino-Into-an-ISP)
I also built a 10-pin to 6-pin ISP connector for connecting the USBasp to the AVR Miner Board.
Make sure you connect the ISP pins correctly. Refer to the KiCAD project files for understanding the pin notations.
1) The first step is to burn the bootloader to the controller for setting the clock configuration. If you are using a controller with a pre-loaded bootloader you may skip uploading the bootloader to it. Select the appropriate Board Name from the Tools menu as per the microcontroller used on the AVR-Miner Board. For example: If the AVR-Miner has Atmega328 on it, you may select the Board as Arduino Nano. If it is Atmega8, then you may select Arduino NG (Atmega8).
2) Select the Upload Using Programmer option from the Sketch menu to upload the respective code to the AVR-Miner. Make sure you change the I2C address in the code for every different AVR-Miner Board.
Note: Currently the ESP32 supports a maximum of 10 salves/client connections. So, there's a limit on the maximum number of devices that can be attached to one single ESP32.
Final Assembly !!!
Let's assemble all the boards together.
- The Common Miner Baseboard has 11 female headers which can handle a maximum of 11 Miner Boards.
- You can have a combination of 1 ESP32-Miner + 10 AVR-Miners or 11 ESP32 Miners on one Common Miner Baseboard.
- We'll go with the first combination, viz., 1 ESP32-Miner + 10 AVR-Miners
Refer to the following video to learn more about how to assemble:
1) Insert all the programmed 10 AVR Miners into the headers of the Common Miner Baseboard one by one.
2) Finally, insert the ESP32-Miner into the Common Miner Baseboard.
3) Connect the 5V DC SMPS/Power Supply Connections to the Common Miner Baseboard via the screw terminals.
4) That's all !!
Time for Action !!!
Turn on the power & watch the boards start mining Duino Coin!
It might take some while to establish the connection, but you could see the LEDs flashing on the board once connected.
Open up your Duino Coin wallet account to see your Miners online. The status of the Miners on the Duino Coin interface keeps auto-updating.
Happy Mining !!!
Congratulations !!! You have made it into the Crypto-currency Mining Journey !!!
DUCO-Miners
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(6)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Maker Vinod
- Common Miner Baseboard This is the Common Miner Baseboard for the Duco-Miners Projects.The complete project information can...
- ESP32 Miner Board This is the ESP32 Miner Board for the Duco-Miners Projects.The complete project information can be f...
- AVR Miner Board This is the AVR Miner Board for the Duco-Miners Projects.The complete project information can be fou...
- DUCO-Miners Have you ever heard about Crypto-Currency Mining using Arduino, ESP8266, ESP32, or Raspberry Pi? Yes...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
118 0 0 -
DIY Laser Power Meter with Arduino
170 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
157 0 2 -