Coder Social home page Coder Social logo

duinocoini2c_rpi's Introduction

DuinoCoinI2C_RPI

This project design to mine Duino-Coin using Raspberry Pi or equivalent SBC as a master and Arduino/ATtiny85 as a slave.

Using the I2C communication to connect all the boards and make a scalable communication between the master and the slaves.

Video Tutorial

Raspberry Pi AVR I2C Bus 1 tutorial video

Raspberry Pi AVR I2C Bus 0 tutorial video

Raspberry Pi Pico HW Part1 tutorial video

Raspberry Pi Pico SW Part2 tutorial video

Python Environment Setup

Linux

sudo apt update
sudo apt install python3 python3-pip git i2c-tools python3-smbus screen -y # Install dependencies
git clone https://github.com/JK-Rolling/DuinoCoinI2C_RPI.git # Clone DuinoCoinI2C_RPI repository
cd DuinoCoinI2C_RPI
python3 -m pip install -r requirements.txt # Install pip dependencies

Use sudo raspi-config to enable I2C. Refer detailed steps at raspberry-pi-i2c

For RPI I2C Bus 0, extra step is needed, sudo nano /boot/config.txt and add dtparam=i2c_vc=on, save and reboot

For RPi Pico as worker, the RPi master is strongly recomended to use 400kHz/1MHz SCL clock frequency. again, sudo nano /boot/config.txt, add dtparam=i2c_baudrate=1000000 and dtparam=i2c_vc_baudrate=1000000 for 1MHz. Change to 400000 if you prefer 400kHz SCL.

Finally, connect your I2C AVR miner and launch the software (e.g. python3 ./AVR_Miner_RPI.py)

Windows

  1. Download and install Python 3 (add Python and Pip to Windows PATH)
  2. Download the DuinoCoinI2C_RPI
  3. Extract the zip archive you've downloaded and open the folder in command prompt
  4. In command prompt type py -m pip install -r requirements.txt to install required pip dependencies

Finally, connect your I2C AVR miner and launch the software (e.g. python3 ./AVR_Miner_RPI.py or py AVR_Miner_RPI.py in the command prompt)

Version

DuinoCoinI2C_RPI Version 3.3

Arduino - Slave

Arduino shall use DuinoCoin_RPI_Tiny_Slave sketch. LLC is required if Arduino is operating at 5V and master at 3.3V. Arduino also have builtin temperature sensor that can be used for IoT reporting. This feature is enabled for fun as the ADC is uncalibrated. Once calibrated, the temperature can be pretty accurate according to some. Set TEMPERATURE_OFFSET and FILTER_LP to calibrate.

Occasionally slaves might hang and not responding to master. quick workaround is to press the reset button on the slave to bring it back.

Once in a blue moon, one of the slave might pull down the whole bus with it. power cycling the rig is the fastest way to bring it back.

To solve these issues permanently, update Nano with Optiboot bootloader. WDT will auto reset the board if there is no activity within 8s.

Change this line to true to activate the WDT. works for Nano clone as well. make sure the Nano is using Optiboot

#define WDT_EN true

feature can be turn on/off individually to cater for your specific scenario. set to false to disable.

#define I2CS_FIND_ADDR false
#define WDT_EN true
#define CRC8_EN true
#define LED_EN true
#define SENSOR_EN true
#define Note
DEV_INDEX device index to help assign I2C address
I2CS_START_ADDRESS this and DEV_INDEX summation will produce final I2C address
I2CS_FIND_ADDR Scan available I2CS address and self-assign, overriding DEV_INDEX. Recommend to set false
WDT_EN Auto self-reset every 8s in case of inactivity
CRC8_EN I2C CRC8 insertion and data integrity checks
LED_EN Blink when share is found
SENSOR_EN Report chip internal temperature in degree Celsius

each SBC have different starting I2CS address from i2cdetect command. Address that is not shown is still usable. To change the I2CS starting address, modify I2CS_START_ADDRESS

For disabled I2CS_FIND_ADDR, manually assign I2CS address by updating DEV_INDEX. I2CS_FIND_ADDR is best effort basis, it may or may not work.

ATtiny85 - Slave

Use DuinoCoin_ATTiny_Slave for ATtiny. LLC is required if worker and host is operating at different voltage. 4k7 pullup resistors for SDA/SCL pins are strongly recommended if host do not have it built-in. The TWI/I2C/IIC seems to work well with SCL 100KHz WIRE_CLOCK 100000. Default compiled sketch size for ATtiny85 is 5630 bytes for program storage space and 351 bytes for dynamic memory. Estimated hashrate 267H/s for ATTiny85-20PU running at 3.3V or 5V. ATTiny85 also have builtin temperature sensor that can be used for IoT reporting. This feature is enabled for fun as the ADC is uncalibrated. Once calibrated, the temperature can be pretty accurate according to some. Set TEMPERATURE_OFFSET and TEMPERATURE_COEFF to calibrate. Note: floating point is costly, only proceed if you know what you're doing.

add http://drazzy.com/package_drazzy.com_index.json to Additional Board Manager URLs in Arduino IDE, then go to board manager and search for attiny and install ATTinyCore from Spence Konde

ATTiny85 for example, the system clock is default at 1MHz. This needs to be changed to get good hashrate

You may use dedicated ATTiny programmer or any Uno/Nano to set the fuse via Tools --> Burn Bootloader. See table below on setting that worked for me on ATtiny85. Finally upload sketch using Sketch --> Upload Using Programmer

Attribute Value
Board ATtiny25/45/85 (No Bootloader)
Chip ATtiny85
Clock Source 16.5 MHz (PLL,tweaked)
Timer 1 Clock CPU
LTO Enabled
millis()/micros() Enabled
Save EEPROM EEPROM retained
B.O.D Level Disabled

ATTiny85 Wiring

attiny85

Reducing sketch / RAM usage

For some smaller devices, to get smallest possible sketch size without hacking, set CRC8_EN false, WDT_EN false, SENSOR_EN false and change to #pragma GCC optimize ("-Os") for all files. You should get 4232 bytes use of program storage space and 343 bytes of dynamic memory, which produce about 222H/s at 16MHz

to get smallest possible sketch size with hacking, use the above settings and hack file Arduino15\packages\ATTinyCore\hardware\avr\1.5.2\libraries\Wire\src\USI_TWI_Slave\USI_TWI_Slave.h. This should further reduce the dynamic memory usage to 319 bytes. RELIABILITY NOT GUARANTEED

// change value from 16 to 4. somehow value of 1/2 broke TWI
#define TWI_RX_BUFFER_SIZE (4)
#define TWI_TX_BUFFER_SIZE (4)

Adafruit Trinket ATtiny85 - Slave

Similar to ATtiny85, but Trinket came with bootloader which leave only 5310 Bytes for sketch. Use DuinoCoin_Tiny_Slave_trinket sketch to start mining. Estimated hashrate at 258 H/s, consuming 97% of available program space (5146 Bytes).

VBAT+ pin on the Trinket 5V will accept 3.3V input just fine, so LLC not required if the master is using 3.3V logic level.

Removing bootloader

You may use Arduino Nano/Uno or ATtiny programmer to remove the bootloader to regain full 8KB storage, load DuinoCoin_ATTiny_Slave instead to get 267 H/s (+3.5%)

Load File > Examples > ArduinoISP into Uno/Nano and connect as below. Open DuinoCoin_ATTiny_Slave, choose the Uno/Nano from Tools > Port, choose Tools > Programmer > Arduino as ISP, finally, Sketch > Upload Using Programmer

Trinket Uno/Nano
VBAT+ <---> 5V
GND <---> GND
RST <---> #10
#0 <---> #11
#1 <---> #12
#2 <---> #13

Repair bootloader

Follow the wiring in Removing bootloader, download the trinketloader_2015-06-09.zip, extract all files, load the trinketloader into Uno/Nano, open Serial console at 9600 baudrate, hit G and enter. bootloader should be uploaded into the Trinket and once again, sketch can be uploaded into Trinket via USB

Raspberry Pi Pico - Slave

Use Pico dual core code for Raspberry Pi Pico. Logic Level Converter (LLC) is not required as both RPi and Pico operates at 3.3V.

Read kdb.ino for detailed setup steps in Arduino IDE

RP2040 board package from Earle F. Philhower, III

For good out-of-box experience, add https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json to Additional Board Manager URLs in Arduino IDE, then search for RP2040 Boards version 2.2.1 or above. Install it from Arduino IDE board manager

Default I2C pin SDA0 - GP20 SCL0 - GP21 SDA1 - GP26 SCL1 - GP27

Relocating I2C pins

User can change the I2C pin by modifying pin value in DuinoCoin_RPI_Pico_DualCore.ino

#define I2C0_SDA 20 #define I2C0_SCL 21 #define I2C1_SDA 26 #define I2C1_SCL 27

The motivation to change the default I2C pin is to make the board rig building friendly because now the I2C pin have the same side as the Vsys pin

Library Dependency

I2C Address

The I2C Address on the Arduino is hardcoded by user. if an address already exists on the I2C bus, the behavior is undefined

Change the value on the define for each worker for unique address:

#define DEV_INDEX 1

Raspberry PI or SBC - Master

The master requests the job on the DuinoCoin server and sends the work to the slave (Arduino).

After the job is done, the slave sends back the response to the master (SBC) and then sends back to the DuinoCoin server.

IoT Feature

RPi Pico have built in temperature sensor that made IoT reporting possible.

For other worker, it is possible to add external sensor and enhance worker sketch to read them. But it is outside of the scope.

CRC8 Feature

During setup, Python will auto discover worker CRC8 status. This option applies to all workers.

CRC8 feature is ON by default. To disable it, use #define CRC8_EN false

Max Client/Slave

The code theoretically supports up to 119 clients on Raspberry PI (Bullseye OS) on single I2C bus

Slave addresses range from 0x0..0x77

Some reported that I2C addresses that did not shows up from i2cdetect are accessible

RPi have 2 I2C buses which bring up the count up to 254 (theoretical). This requires 2 separate instances of Python miner with it's own Settings.cfg file. Duplicate the directory into 2 and start the setup from there. Instance 1 should use i2cbus 1 (RPi have builtin 1k8 pullup). Instance 2 should use i2cbus 0 (where external 4k7 pullup resistor are on)

Enable I2C on Raspberry PI

Google or refer to raspberry-pi-i2c

For RPI I2C Bus 0, there might not be pull up resistor built in. It relies on the pull up from Nano.

For other I2C slave that do not have pull up capability, add 4k7 Ohm resistor to both SDA and SCL line on I2C bus 0.

Note: If you see bad shares, it could be due to a bug in RPI I2C hardware

Connection Pinouts

Connect the pins of the Raspberry PI on the Arduino like the table/images below, use a Logic Level Converter to connect between the SBC and Arduino/ATtiny85

RPI Logic Level Converter Arduino
3.3V <---> 5V
GND <---> GND
SDA PIN 3 <---> A4
SCL PIN 5 <---> A5
RPI Logic Level Converter ATtiny85
3.3V <---> 5V
GND <---> GND
SDA PIN 3 <---> PB0
SCL PIN 5 <---> PB2

For dual I2C master and dual I2C slave interface

pico

RPI (dual I2C) Pico
3.3V or 5V <---> VSYS*
GND <---> GND
SDA1 PIN 3 <---> GP26
SCL1 PIN 5 <---> GP27
SDA0 PIN 27 <---> GP20
SCL0 PIN 28 <---> GP21

For single I2C master and dual I2C slave interface

pico

RPI (single I2C) Pico
3.3V or 5V <---> VSYS*
GND <---> GND
SDA1 PIN 3 <---> GP26, GP20
SCL1 PIN 5 <---> GP27, GP21

* VSYS accept voltage range from 1.8V to 5.5V. Voltage regulator onboard Pico will generate 3.3V for rp2040 use

Benchmarks of tested devices

Device Average hashrate
(all threads)
Mining
threads
Arduino Pro Mini, Uno, Nano etc.
(Atmega 328p/pb/16u2)
268 H/s 1
Adafruit Trinket 5V Attiny85 258 H/s 1
Attiny85 267 H/s 1
Raspberry Pi Pico 4.7 kH/s (100MHz) 2
Raspberry Pi Pico 5.4 kH/s (120MHz) 2

License and Terms of service

All refers back to original Duino-Coin licensee and terms of service

duinocoini2c_rpi's People

Contributors

jk-rolling avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

duinocoini2c_rpi's Issues

nano not starting after reboot

I updated the raspberry to V3.0 with the ginclone command
i updated the 10 nano. If tghe pi is running and i ad them 1 at the time it worked fine.
If i do a reboot the pi cannot find the nano's anymore,

Any thoughts what i do wrong?

Rejected (Outdated miner)

Unable to get any accepted one. It just says Rejected(Outdated miner). Is it due to server issues or anything else? Internet works fine. Ping works fine.

local variable 'i2c_rdata' referenced before assignment

04:23:43.290381 DEBUG: 0a: [Errno 121] Remote I/O error
04:23:43.298230 DEBUG: 0a: Reading result from the board
04:23:43.420071 DEBUG: 0a: [Errno 121] Remote I/O error
04:23:43.429786 DEBUG: 0a: Retrying data read: local variable 'i2c_rdata' referenced before assignment
04:23:43.439259 DEBUG: 0a: Sending job to the board
04:23:43.447743 DEBUG: 0a: Job: 4fdbe284673c1b2bbc86762d225634e20c3fa8f6,160d4ab63735e127bacb14d41eab21424252db7c,6,

04:23:43.550828 DEBUG: 0a: [Errno 121] Remote I/O error

Kolka drops too early

Thanks for updating to Version 3! Unfortunately Kolka drops are wrong. The first (Arduino) miner has 100% the second 96%,.... should be 100% for the first 4 miners and then dropping by 4 %. Could you look at it? Thanks.

Miner efficiency drop

When starting all miners at the same time the Kolka mechanism seems to have problems and the efficient of all miners is much lower than expected. I added sleep(60) between the start of the different mining threads to avoid this.

problem with arduino compatibility board

I use the seeeduino xiao board which is compatible with arduino without removing a few lines it does not compile, it is not an insurmountable obstacle but I report it anyway

Newcode release 3.5

I have been mining quite successfully with the RPI Pico mining rig for sometime now and was wondering if there will be any update on the code to reflect the new 3.5 release on the Duino site? I see that the Pico mining rig software uses v3.3 so there is no issue at the moment but also see that there is an efficiency increase with the new v3.5.

Request for update to version 3.

A few days ago they updated the main release to version 3.0
Please update your code when is possible.
Best regards stay healthy.

Request: ESP or PicoW master

is there a way to modify the master code to make an esp8266 or picoW to be the master? Pico W would be preferred because this will just drop into the board i designed . would make it pretty simple for the dual core W master also to control both buses and control them at the same logic level 3v3

AVR miner Blocks found:0

Hi,

My Arduino Nano rig i2c RPi looks has some issue. Blocks found:0 looks an issue, right? Any idea?
image
image

Ring fails after a few seconds of execution

Hello, I have connected several arduino mini pro following the connection scheme described in this project.

After installing everything I see that the 5 devices are recognized via I2C from raspberry 2:

 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00: 03 04 05 06 07 -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

for each arduino I changed the value as recommended from

#define DEV_INDEX 1

I left it like this:
arduino 1 -> value 1
arduino -> value 2
arduino3 -> value 3
arduino4 -> value 4
arduino5 -> value 5

however even though everything seems to start fine after a few seconds the script fails giving the following error

sudo python3 ./AVR_Miner_RPI.py

12:20:28  net0  Searching for the fastest node to connect to
12:20:29  net0  Connected to master Duino-Coin server (v2.7)
12:20:29  net0  MOTD: Welcome to the null duino pool!
                Pool worker limit: 50
12:20:29  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)
12:20:33  avr3   Rejected 0/1 (0%)  02.4s  228 H/s  diff 6  ping 68ms
12:20:45  avr3   Accepted 1/2 (50%)  06.5s  228 H/s  diff 16  ping 77ms
12:20:49  avr3   Accepted 2/3 (67%)  04.0s  228 H/s  diff 16  ping 89ms
12:20:52  avr3   Accepted 3/4 (75%)  02.9s  228 H/s  diff 16  ping 81ms
12:20:54  avr3   Accepted 4/5 (80%)  01.6s  228 H/s  diff 16  ping 112ms
12:21:00  avr3   Accepted 5/6 (83%)  05.4s  228 H/s  diff 16  ping 114ms
12:21:06  avr3   Accepted 6/7 (86%)  05.8s  228 H/s  diff 16  ping 116ms
12:21:07  avr3   Accepted 7/8 (88%)  00.8s  228 H/s  diff 16  ping 113ms
12:21:08  avr3   Accepted 8/9 (89%)  01.0s  227 H/s  diff 16  ping 118ms
12:21:09  avr3   Accepted 9/10 (90%)  00.3s  227 H/s  diff 16  ping 113ms
12:21:13  avr3   Accepted 10/11 (91%)  03.5s  227 H/s  diff 16  ping 114ms
12:21:16  avr3   Accepted 11/12 (92%)  03.3s  227 H/s  diff 16  ping 112ms
12:21:23  avr3   Accepted 12/13 (92%)  06.4s  227 H/s  diff 16  ping 109ms
12:21:23  avr3   Accepted 13/14 (93%)  00.1s  223 H/s  diff 16  ping 111ms
12:21:29  avr3   Accepted 14/15 (93%)  05.7s  224 H/s  diff 16  ping 97ms
12:21:29  net0  POOL_INFO: Welcome to the null duino pool!
                Pool worker limit: 50
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "./AVR_Miner_RPI.py", line 893, in mine_avr
    shares[2], hashrate, uptime)
  File "./AVR_Miner_RPI.py", line 915, in periodic_report
    + get_string('total_mining_time') + str(uptime), "success")
  File "./AVR_Miner_RPI.py", line 606, in pretty_print
    + Back.RESET + " " + fg_color + msg.strip())
  File "/usr/local/lib/python3.6/site-packages/colorama/ansitowin32.py", line 41, in write
    self.__convertor.write(text)
  File "/usr/local/lib/python3.6/site-packages/colorama/ansitowin32.py", line 164, in write
    self.wrapped.write(text)
  File "/usr/local/lib/python3.6/site-packages/colorama/ansitowin32.py", line 41, in write
    self.__convertor.write(text)
  File "/usr/local/lib/python3.6/site-packages/colorama/ansitowin32.py", line 164, in write
    self.wrapped.write(text)
UnicodeEncodeError: 'ascii' codec can't encode character '\u2016' in position 88: ordinal not in range(128)

what`s the problem?

Error on complile

Arduino uno/nano...328
Arduino\libraries\TinyWireS\TinyWireS.cpp:71:25: error: 'USIPF' was not declared in this scope

Arduino\libraries\TinyWireM\USI_TWI_Master.cpp:358:23: error: 'USIPF' was not declared in this scope

Rpi pico compaitabilty issue.

Hello! I have been trying to use RPI Pico instead of the Arduino. When I attempt to upload the slave sketch the error pops up saying that the RPI Pico is not compatible with the ArduinoUniqueID library. Could you help me, please!

Auto-start AVR_Miner_RPI.py

Hi, I would like to automate the mining on pi startup.
I've edit the crontab with a new line :
@reboot screen -dm bash -c "cd ~/DuinoCoinI2C_RPI; python3 ./AVR_Miner_RPI.py"

… But nothing happen on reboot.

An other problem, from ssh on my Mac I can't detach from the screen session while pressing ctrl + a and then d

Can you help me ?
Thank you !

MicroPython ESP8266

Is it possible to do it on MicroPython ESP8266, maybe I2C nano will also work there quickly

Ring I2C not mining

Hello,

After configuring everything as you indicate, I cannot get the arduinos to mine, leaving constant rejections

root@DietPi:~/DuinoCoinI2C_RPI# python3 ./AVR_Miner_RPI.py

Duino-Coin basic configuration tool
Edit Duino-Coin AVR Miner 2.73/Miner_config.cfg file later if you want to change it.
Don't have an Duino-Coin account yet? Use Wallet to register on server.

Enter your Duino-Coin username: valdragas
Enter your choice of I2C bus (e.g. 1): 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
i2cdetect has found I2C addresses above
Enter your I2C slave address (e.g. 3): 3
Do you want to add another board? (y/N): y
Enter your I2C slave address (e.g. 3): 4
Do you want to add another board? (y/N): y
Enter your I2C slave address (e.g. 3): 5
Do you want to add another board? (y/N): y
Enter your I2C slave address (e.g. 3): 6
Do you want to add another board? (y/N): y
Enter your I2C slave address (e.g. 3): 7
Do you want to add another board? (y/N): N
Do you want to add an identifier (name) to this rig? (y/N) y
Enter desired rig name: Nanos
Set developer donation level (0-5) (recommended: 1), this will not reduce your earnings: 1
Config saved! Launching the miner


  Unofficial Duino-Coin RPI I2C  AVR Miner 2.73 2021
  https://github.com/revoxhere/duino-coin
  AVR board(s) on port(s): 3 4 5 6 7
  Developer donation level: 1
  Algorithm: DUCO-S1A  AVR diff
  Rig identifier: Nanos
  Have a peaceful afternoon, valdragas!

17:24:40  sys0  Thank You for being an awesome donator ❤️ Your donation will help us maintain the server and allow further development
17:24:40  net0  Searching for the fastest node to connect to
17:24:40  sys4  AVR mining thread is starting using DUCO-S1A algorithm (4)
17:24:40  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)17:24:40  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)17:24:40  sys6  AVR mining thread is starting using DUCO-S1A algorithm (6)17:24:40  net0  Connected to master Duino-Coin server (v2.7)



17:24:41  net0  MOTD: Welcome to the 637 pool (1)
17:24:41  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)



17:25:36  avr7   Rejected 0/1 (0%)  01.3s  228 H/s  diff 7  ping 16ms
17:25:41  net7  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:25:44  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)
17:25:52  avr4   Rejected 0/2 (0%)  00.1s  221 H/s  diff 7  ping 15ms17:25:52  avr6   Rejected 0/3 (0%)  01.1s  221 H/s  diff 7  ping 13ms17:25:52  avr3   Rejected 0/4 (0%)  01.2s  224 H/s  diff 7  ping 10ms17:25:52  avr5   Rejected 0/5 (0%)  02.7s  224 H/s  diff 7  ping 11ms



17:25:57  net6  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:25:58  net0  POOL_INFO: Welcome to the 637 pool (1)
17:25:58  sys0  Periodic mining report (BETA):
                ‖ During the last 77 seconds
                ‖ You've mined 0 shares (0.0 shares/s)
                ‖ Block found: 0
                ‖ With the hashrate of 223 H/s
                ‖ In this time period, you've solved 17217 hashes
                ‖ Total miner uptime: 2 minutes
                ‖ CRC8 Error Rate: 0.0 E/s
                ‖ I2C Retry Rate: 0.727273 R/s17:25:58  net4  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)17:25:58  net5  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)


17:25:58  net3  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:26:01  sys6  AVR mining thread is starting using DUCO-S1A algorithm (6)
17:26:01  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)
17:26:01  sys4  AVR mining thread is starting using DUCO-S1A algorithm (4)
17:26:01  net0  Connected to master Duino-Coin server (v2.7)
17:26:01  net0  MOTD: Welcome to the 637 pool (1)
17:26:01  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)






17:26:56  avr7   Rejected 0/6 (0%)  02.4s  224 H/s  diff 7  ping 11ms
17:27:01  net7  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:27:04  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)
17:27:12  avr5   Rejected 0/7 (0%)  02.3s  227 H/s  diff 7  ping 11ms
17:27:12  avr6   Rejected 0/8 (0%)  00.3s  227 H/s  diff 7  ping 9ms
17:27:12  avr4   Rejected 0/9 (0%)  00.8s  227 H/s  diff 7  ping 8ms
17:27:13  avr3   Rejected 0/10 (0%)  01.9s  227 H/s  diff 7  ping 9ms
17:27:18  net5  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)17:27:18  net4  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)17:27:18  net6  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)


17:27:18  net0  POOL_INFO: Welcome to the 637 pool (1)
17:27:18  sys0  Periodic mining report (BETA):
                ‖ During the last 80 seconds
                ‖ You've mined 0 shares (0.0 shares/s)
                ‖ Block found: 0
                ‖ With the hashrate of 227 H/s
                ‖ In this time period, you've solved 18179 hashes
                ‖ Total miner uptime: 3 minutes
                ‖ CRC8 Error Rate: 0.0 E/s
                ‖ I2C Retry Rate: 0.6875 R/s
17:27:18  net3  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:27:21  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)
17:27:21  sys4  AVR mining thread is starting using DUCO-S1A algorithm (4)
17:27:21  sys6  AVR mining thread is starting using DUCO-S1A algorithm (6)
17:27:21  net0  Connected to master Duino-Coin server (v2.7)
17:27:21  net0  MOTD: Welcome to the 637 pool (1)
17:27:21  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)
17:28:15  avr7   Rejected 0/11 (0%)  02.0s  227 H/s  diff 7  ping 7ms
17:28:20  net7  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:28:23  sys5  Error connecting to the AVR! Retrying in 10s (no response from the board: list index out of range, please check the connection, port setting or reset the AVR)
17:28:23  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)
17:28:25  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)
17:28:33  avr6   Rejected 0/12 (0%)  02.4s  228 H/s  diff 7  ping 6ms
17:28:33  avr4   Rejected 0/13 (0%)  00.8s  228 H/s  diff 7  ping 5ms
17:28:33  avr3   Rejected 0/14 (0%)  00.2s  227 H/s  diff 7  ping 5ms


17:28:38  net6  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)17:28:38  net4  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)

17:28:38  net0  POOL_INFO: Welcome to the 637 pool (1)
17:28:38  sys0  Periodic mining report (BETA):
                ‖ During the last 80 seconds
                ‖ You've mined 0 shares (0.0 shares/s)
                ‖ Block found: 0
                ‖ With the hashrate of 226 H/s
                ‖ In this time period, you've solved 18156 hashes
                ‖ Total miner uptime: 4 minutes
                ‖ CRC8 Error Rate: 0.0 E/s
                ‖ I2C Retry Rate: 0.7 R/s
17:28:38  net3  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:28:41  sys4  AVR mining thread is starting using DUCO-S1A algorithm (4)17:28:41  sys6  AVR mining thread is starting using DUCO-S1A algorithm (6)

17:28:41  net0  Connected to master Duino-Coin server (v2.7)
17:28:42  net0  MOTD: Welcome to the 637 pool (1)
17:28:42  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)
17:29:38  avr5   Rejected 0/15 (0%)  03.0s  181 H/s  diff 7  ping 3ms
17:29:38  avr7   Rejected 0/16 (0%)  00.6s  181 H/s  diff 7  ping 3ms
17:29:44  net7  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)17:29:44  net5  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)

17:29:47  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)17:29:47  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)

17:29:52  avr4   Rejected 0/17 (0%)  00.6s  181 H/s  diff 7  ping 2ms17:29:52  avr6   Rejected 0/18 (0%)  02.7s  181 H/s  diff 7  ping 2ms

17:29:57  avr3   Rejected 0/19 (0%)  02.7s  182 H/s  diff 7  ping 4ms
17:29:58  net6  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:29:58  net4  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:30:01  sys4  AVR mining thread is starting using DUCO-S1A algorithm (4)17:30:01  sys6  AVR mining thread is starting using DUCO-S1A algorithm (6)

17:30:02  net0  POOL_INFO: Welcome to the 637 pool (1)
17:30:02  sys0  Periodic mining report (BETA):
                ‖ During the last 84 seconds
                ‖ You've mined 0 shares (0.0 shares/s)
                ‖ Block found: 0
                ‖ With the hashrate of 181 H/s
                ‖ In this time period, you've solved 15277 hashes
                ‖ Total miner uptime: 6 minutes
                ‖ CRC8 Error Rate: 0.0 E/s
                ‖ I2C Retry Rate: 0.678571 R/s
17:30:02  net3  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:30:06  net0  Connected to master Duino-Coin server (v2.7)
17:30:06  net0  MOTD: Welcome to the 637 pool (1)
17:30:06  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)
17:30:59  avr5   Rejected 0/20 (0%)  03.0s  182 H/s  diff 7  ping 2ms
17:30:59  avr7   Rejected 0/21 (0%)  01.6s  182 H/s  diff 7  ping 4ms
17:31:04  net5  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:31:04  net7  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:31:07  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)
17:31:07  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)
17:31:12  avr4   Rejected 0/22 (0%)  01.0s  182 H/s  diff 7  ping 4ms
17:31:12  avr6   Rejected 0/23 (0%)  02.5s  182 H/s  diff 7  ping 5ms
17:31:17  net6  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)17:31:17  net4  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)

17:31:17  avr3   Rejected 0/24 (0%)  02.5s  182 H/s  diff 7  ping 5ms
17:31:20  sys6  AVR mining thread is starting using DUCO-S1A algorithm (6)17:31:20  sys4  AVR mining thread is starting using DUCO-S1A algorithm (4)

17:31:22  net0  POOL_INFO: Welcome to the 637 pool (1)
17:31:22  sys0  Periodic mining report (BETA):
                ‖ During the last 80 seconds
                ‖ You've mined 0 shares (0.0 shares/s)
                ‖ Block found: 0
                ‖ With the hashrate of 182 H/s
                ‖ In this time period, you've solved 14577 hashes
                ‖ Total miner uptime: 7 minutes
                ‖ CRC8 Error Rate: 0.0 E/s
                ‖ I2C Retry Rate: 0.6875 R/s
17:31:22  net3  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:31:26  net0  Connected to master Duino-Coin server (v2.7)
17:31:26  net0  MOTD: Welcome to the 637 pool (1)
17:31:26  sys3  AVR mining thread is starting using DUCO-S1A algorithm (3)
17:32:19  avr7   Rejected 0/25 (0%)  02.1s  182 H/s  diff 7  ping 6ms17:32:19  avr5   Rejected 0/26 (0%)  03.0s  182 H/s  diff 7  ping 7ms

17:32:25  net7  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:32:25  net5  Error connecting to the server. Retrying in 10s (err handling result: [Errno 32] Broken pipe)
17:32:28  sys7  AVR mining thread is starting using DUCO-S1A algorithm (7)
17:32:28  sys5  AVR mining thread is starting using DUCO-S1A algorithm (5)
^C17:32:30  sys0  SIGINT detected - Exiting gracefully. See you soon!

V4.0??

Currently I have problems connecting to the pool since it is in the new version 4.0, it will be updated

how to update

How do i perform the update on my pi to V3? just sudo apt update ?

negative mining

Hi!
@JK-Rolling how are you doing?
I ran into an interesting problem that after an hour of work, my farm began to dig at a loss)) Can you help me?)
Снимок

Balance 3 hours ago 2584.00371871

Снимок1

Quastion

duino-coin is updated to Release 3.4
Is DuinoCoinI2C_RPI will receive update too ?

suggestion

to be replace :

...
224:  rig_identifier = 'None'
...
426:  rig_identifier = 'None'
...

with :

...
224:  rig_identifier = 'I2C-'
...
426:  rig_identifier = 'I2C-'
...

seems look clearer in the statistics

ADDED :
not sure if it is the right place to edit,
in duino wallet in miners sections miner are named like :

Noneb
Nonea
None5
Nonee

This naming is somewhat confusing (for me at least).

Pullup Resitirs for SDA/SCL

You wrote: "LLC is required if worker and host is operating at different voltage. 4k7 pullup resistors for SDA/SCL pins are strongly recommended if host do not have it built-in."

When i use an ESP8266 or ESP32 as Master with 5V, must i add pullup 4k7 resistors between SDA -> VCC and SCL -> VCC, or have the ESP8266/ESP32 10K resistors builtin?

bus choice

how i cant specify device bus ?
i need to use /dev/i2c-0 but it is show me only what i have on /dev/i2c-1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.