diff --git a/README.md b/README.md index 8fe2299..6ae5107 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Finally, connect your I2C AVR miner and launch the software (e.g. `python3 ./AVR ## Version -DuinoCoinI2C_RPI Version 2.75 +DuinoCoinI2C_RPI Version 3.0 # Arduino - Slave @@ -50,7 +50,7 @@ To solve these issues permanently, update Nano with Optiboot bootloader. WDT wil Uncomment this line to activate the WDT. works for Nano clone as well. **make sure the Nano is using Optiboot** -`#define WDT_EN "Optiboot"` +`#define WDT_EN` # ATtiny85 - Slave @@ -68,11 +68,11 @@ Use tiny slave code for ATtiny85 although the same code can also be loaded into |FIND_I2C|Scan available I2CS address and self-assign| |WDT_EN|Auto self-reset every 8s in case of inactivity| |CRC8_EN|I2C CRC8 insertion and data integrity checks| -|HASHRATE_FORCE*|Force the hashrate to be 195H/s ±5H/s| +|HASHRATE_FORCE*|Force the hashrate to be 258H/s ±5H/s| \* **use at own risk** -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 `#define I2CS_START_ADDRESS 3` +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 `#define I2CS_START_ADDRESS 8` For disabled `FIND_I2C`, manually assign I2CS address by modifying `#define DEV_INDEX 0` @@ -85,9 +85,7 @@ Use Arduino Mbed OS RP2040 Boards **version 2.3.1**. Install it from Arduino IDE ## Library Dependency -* [DuinoCoin](https://github.com/ricaun/arduino-DuinoCoin) (Handle the `Ducos1a` hash work) * [ArduinoUniqueID](https://github.com/ricaun/ArduinoUniqueID) (Handle the chip ID) -* [StreamJoin](https://github.com/ricaun/StreamJoin) (StreamString for AVR) ## I2C Address @@ -104,13 +102,21 @@ The master requests the job on the `DuinoCoin` server and sends the work to the After the job is done, the slave sends back the response to the master (SBC) and then sends back to the `DuinoCoin` server. +## CRC8 Feature + +During setup, user can choose to turn on/off CRC8 feature. This option applies to all workers. + +CRC8 feature is ON by default. To disable it, upload sketch with `//#define CRC8_EN` commented and choose `n` during CRC8 prompt in Python miner setup + ## Max Client/Slave -The code theoretically supports up to 117 clients on Raspberry PI on single I2C bus +The code theoretically supports up to 111 clients on Raspberry PI (Bullseye OS) on single I2C bus -Slave addresses range from 0x3..0x77 +Slave addresses range from 0x8..0x77 -RPi have 2 I2C buses which bring up the count up to 234. 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. +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. ## Enable I2C on Raspberry PI @@ -147,6 +153,14 @@ Connect the pins of the Raspberry PI on the Arduino like the table/images below, |`SDA`| PIN 3 | <---> | GP6 | |`SCL`| PIN 5 | <---> | GP7 | +## 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 kH/s | 1 | + | Raspberry Pi Pico | 16 kH/s | 1 | 1 | + # License and Terms of service All refers back to original [Duino-Coin licensee and terms of service](https://github.com/revoxhere/duino-coin)